PNG にはメタデータを保存するチャンクがある。Python からも簡単に読み書き可能なので、ここに prompt を保存しておくと、あとから参照したいときに便利になる

img が PIL の Image だとして、save を呼びだしているとこに pnginfo というのを足してあげる。

from PIL.PngImagePlugin import PngInfo

# ...

metadata = PngInfo()
metadata.add_text("prompt", "foo bar baz")
img.save("./outputs/0.png", pnginfo=metadata)

読み出し

#!/usr/bin/env python
import sys
from PIL import Image
from PIL.PngImagePlugin import PngInfo

img = Image.open(sys.argv[1])
print(img.text['prompt'])
  1. トップ
  2. stablediffusion
  3. Stable Diffusion で prompt 情報を画像に保存しておく
  1. トップ
  2. tech
  3. Stable Diffusion で prompt 情報を画像に保存しておく
▲ この日のエントリ