ガイド

Stable DiffusionとComfyUIのPNGパラメータブロック

ローカル生成ツールは完全なプロンプト、サンプラー、シード、モデル名をPNGテキストチャンクに書き込みます。パラメータ、プロンプト、ワークフローブロックを確認すれば、出処は明らかです。

PNGテキストチャンクとは

PNGは画像データの外部に、tEXt(Latin-1)、iTXt(UTF-8)、zTXt(圧縮)タイプのチャンクで任意のキー/値テキストを許可しています。生成ツールはこれを生成設定を記録し、後で画像を再現できるようにするために使用します。

AUTOMATIC1111 / Forge / SD.Next

キーはparameters、値は複数行テキストです:

a cat sitting on a windowsill, masterpiece, best quality
Negative prompt: blurry, lowres
Steps: 28, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 1234567890, Size: 832x1216, Model hash: 31e35c80fc, Model: animagineXL_v31, VAE: sdxl_vae.safetensors, Version: v1.9.4

最初の行はポジティブプロンプト、Negative prompt:で始まる行はネガティブプロンプト、最後の行はカンマ区切りの設定です。Model:はチェックポイント名、Model hash:で正確に検索できます。

JPEGとして保存した場合、同じテキストはEXIF UserCommentに格納されます。

ComfyUI

2つのチャンクを書き込みます:

  • prompt:class_type(KSampler、CheckpointLoaderSimpleなど)と入力を持つJSONマッピングノードIDからノード定義。
  • workflow:キャンバス全体のJSONで、ComfyUIにドラッグして再現できます。

両方が同時に存在することは、ComfyUIが画像を生成または処理したことをほぼ確実に示します。

NovelAI

CommentチャンクにJSONとして書き込まれます。示唆的なフィールドは"uc"(望ましくないコンテンツ、ネガティブプロンプト)、"steps"、"sampler"です。SoftwareチャンクはNovelAIを示します。

InvokeAI、Fooocus、Draw Thingsなど

それぞれ独自のキーを持ち、通常はinvokeai_metadata、fooocus_scheme、またはparameters内のツール名が含まれます。AuditImageはそれらの名前をキーワードとしてマッチします。

AuditImageの検出方法

  • parametersがある場合:Stable Diffusion WebUIパラメータとしてフラグ付け。Model:の後にモデル名を抽出。
  • promptとworkflowの両がある場合:ComfyUIワークフローとしてフラグ付け。
  • Commentに"uc":を含む場合:NovelAIとしてフラグ付け。
  • すべてのチャンクが「PNGテキストチャンク」の下に原文でリストされます。

残存するか

いいえ。JPEGやWebPへの変換を含む任意の再エンコードでPNGテキストチャンクは失われます。ほとんどのソーシャルプラットフォームでも同様です。一部のツールの「エクスポート」でも削除されます。したがって、メタデータがないPNGはAI生成ではないことを意味しません。

手動確認

exiftool -a -G1 -s -PNG:all image.png
# または
python -c "from PIL import Image; print(Image.open('image.png').text)"