Guides

Blocs de paramètres PNG de Stable Diffusion et ComfyUI

Les générateurs locaux écrivent le prompt complet, l'échantillonneur, la graine et le nom du modèle dans des blocs de texte PNG. Une fois que vous connaissez les paramètres, les blocs de prompt et de workflow, l'origine est évidente.

Ce que sont les blocs de texte PNG

PNG permet du texte clé/valeur arbitraire en dehors des données de l'image, dans des blocs de type tEXt (Latin-1), iTXt (UTF-8) et zTXt (compressé). Les générateurs les utilisent pour enregistrer les paramètres de génération afin que l'image puisse être reproduite plus tard.

AUTOMATIC1111 / Forge / SD.Next

Clé parameters, valeur en texte multiligne :

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

La première ligne est le prompt positif, la ligne commençant par Negative prompt: le prompt négatif, et la dernière ligne est un ensemble de paramètres séparés par des virgules. Model: nomme le checkpoint et Model hash: permet de le rechercher précisément.

Lorsqu'il est enregistré en JPEG, le même texte va dans l'UserComment EXIF.

ComfyUI

Écrit deux blocs :

  • prompt : JSON associant les IDs de nœuds aux définitions de nœuds avec class_type (comme KSampler, CheckpointLoaderSimple) et les entrées.
  • workflow : JSON de tout le canevas, qui peut être glissé dans ComfyUI pour reproduction.

La présence des deux ensemble est aussi proche de la certitude que ComfyUI a généré ou traité l'image.

NovelAI

Écrit dans le bloc Comment en JSON. Les champs révélateurs sont "uc" (contenu indésirable, le prompt négatif), "steps" et "sampler". Le bloc Software indique NovelAI.

InvokeAI, Fooocus, Draw Things et autres

Chacun a ses propres clés, contenant généralement invokeai_metadata, fooocus_scheme, ou le nom de l'outil dans parameters. AuditImage identifie ces noms comme mots-clés.

Comment AuditImage les détecte

  • parameters présent : signalé comme paramètres Stable Diffusion WebUI, avec le nom du modèle après Model: extrait.
  • prompt et workflow tous les deux présents : signalé comme un workflow ComfyUI.
  • Comment contenant "uc": : signalé comme NovelAI.
  • Chaque bloc est listé textuellement sous « Blocs de texte PNG ».

Est-ce que ça survit

Non. Tout réencodage supprime les blocs de texte PNG, y compris la conversion en JPEG ou WebP et la plupart des plateformes sociales. L'« export » de certains outils les supprime aussi. Un PNG sans métadonnées ne vous dit donc pas qu'il n'a pas été généré par IA.

Vérification manuelle

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