가이드

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

두 개의 청크를 기록합니다:

  • prompt: 노드 ID를 노드 정의로 매핑하는 JSON. class_type (예: KSampler, CheckpointLoaderSimple) 및 입력을 포함합니다.
  • 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)"