Pythonで24bppのPNG画像を8bppに変換する方法を教えて下さい。

ある関数にPNG画像を入力したいのですが、
その関数が期待している入力は8bpp(画像のプロパティで見ると「ビットの深さ」が「8」)のPNG画像で、
自分が画像を生成すると24bppになってしまいます。

そこでPythonで8bppに変換したいのですが、検索しても見つかりません。
生成した画像がカラーになっていたので、グレースケールに変えたのですが、まだ24bppのままです。
どうかヒントだけでもお願いします。