Python - pillow で Jpeg 画像を保存すると KeyError: 'JPG' が発生する

save メソッドの第二引数(format)に 'JPG' を指定すると発生します。

エラー例

img.save('test.jpg', 'JPG', quality=80, optimize=True)

解決方法 1

Jpeg 形式で保存したい場合は 'JPG' ではなく、 'jpeg' を指定します。
img.save('test.jpg', 'jpeg', quality=80, optimize=True)

解決方法 2

画像形式に None を指定し、省略することもできます。省略した場合、画像の種類は第一引数で渡したファイル名の拡張子を元に決定されます。だたし、第一引数に stream を渡した場合、 None の指定はできません。
img.save('test.jpg', None, quality=80, optimize=True)
img.save('test.jpg')

検証環境

関連ページ