resampleは6種類全部試してみたけどどれもきれいに縮小はできませんでした
でも、ImageMagickならきれいに縮小できることがわかったので
とりあえずこの問題は解決済みとしておきます

で、追加で質問なんですけど
subprocess.runで標準入力にbytes型を指定することってできないんでしょうか?
↓こんなコードを試してみたけどうまくいきませんでした

v = #画像ファイル(bytes型)
cmd = ("magick", "convert", "-", "jpg:-")
sbp = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
v2 = sbp.communicate((v)) #これはうまくいった
v3 = subprocess.run(cmd, stdin=v, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) #これがうまくいかない