isGenAI.com

Ein nachvollziehbares Beispiel mit den Dateien

Prompt-Datensätze aus PNG-tEXt, -zTXt und -iTXt lesen

PNG unterstützt mehrere Arten, Text zu speichern. Ein Leseprogramm sollte den Datensatz erkennen und seine Nutzdaten decodieren, bevor es ihn interpretiert. Diese Beispiele speichern dieselben Parameter in drei verschiedenen Chunk-Codierungen.

Schritt für Schritt

  1. Laden Sie unten die tEXt-, zTXt- und iTXt-Beispiele herunter.
  2. Verarbeiten Sie jedes mit dem Extraktor für gespeicherte Prompts. Der positive Prompt und die Einstellungen sollten in allen drei Fällen übereinstimmen.
  3. Vergleichen Sie die Datei-Hashes: Eine andere Codierung des Datensatzes kann die Dateibytes verändern, ohne das angezeigte Bild oder die gespeicherten Werte zu ändern.

Drei Codierungen, ein erwartetes Ergebnis

Unser tEXt-Beispiel enthält Klartext. Die zTXt- und iTXt-Beispiele in diesem Labor enthalten komprimierte Nutzdaten. Die W3C-Spezifikation definiert diese Chunk-Formate; die herunterladbaren Dateien und Ergebnisse zeigen genau, welche Fälle unser Leseprogramm ausgeführt hat.

Jedes Beispiel sollte Seed 42, 20 Schritte und denselben Papierboot-Prompt zurückgeben. Das demonstriert diese drei kontrollierten Fälle, keine beliebige PNG-Kompatibilität.

Ein Texteintrag ist ein Datensatz

Das Leseprogramm erkennt bestimmte Schlüssel gespeicherter Datensätze, etwa parameters. Es behandelt nicht jeden PNG-Kommentar oder jede Beschreibung als ursprünglichen Generierungs-Prompt.

Datensätze lassen sich bearbeiten. Ein übereinstimmender Prompt in mehreren Dateien beschreibt den gespeicherten Text, nicht die Signatur eines Bildgenerators.

Wenn die Decodierung fehlschlägt

Beschädigte Prüfsummen, widersprüchliche doppelte Schlüssel und übergroße Metadaten werden nicht als eine verlässliche gespeicherte Anweisung akzeptiert. Die Anleitung zu fehlenden Prompts enthält ein Konfliktbeispiel. Bewahren Sie die tatsächliche Datei auf, wenn Sie einen nicht unterstützten Fall untersuchen müssen.

Herunterladen · Ausführen · Vergleichen

Das geprüfte Beispiel ausprobieren

Wir haben das Bild per Code gezeichnet und kontrollierte Datensätze angehängt. Die gespeicherten Prompts und Modellnamen sind Demonstrationsdaten. Diese Dateien prüfen das Lesen von Datensätzen; für diese Testergebnisse wurden weder ein Bildgenerator noch eine Screenshot-App oder ein soziales Netzwerk verwendet.

Beobachtete Ausgabe
[
  {
    "chunk_type": "tEXt",
    "saved_prompt": "Controlled example: a paper boat on a blue table",
    "seed": "42",
    "steps": 20,
    "cfg_scale": 7
  },
  {
    "chunk_type": "zTXt",
    "saved_prompt": "Controlled example: a paper boat on a blue table",
    "seed": "42",
    "steps": 20,
    "cfg_scale": 7
  },
  {
    "chunk_type": "iTXt",
    "saved_prompt": "Controlled example: a paper boat on a blue table",
    "seed": "42",
    "steps": 20,
    "cfg_scale": 7
  }
]

Seed-Werte sind im JSON Zeichenfolgen, damit große Ganzzahlen ihre Genauigkeit behalten. Ein null-Ergebnis bedeutet hier, dass kein unterstützter gespeicherter Prompt zurückgegeben wurde.

Hashes und Reproduktion
  • parameters-tEXt.png · 13.371 Bytese76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • parameters-zTXt.png · 13.346 Bytes2cbac7bbc872ec95d8979132ef871b3a1f816ffc55bc12e68ea10ab5ac2d7818
  • parameters-iTXt.png · 13.349 Bytes4123149f352daeb842ecf241f7c7e6ee0fc4c5a08175ecb37fc690e093484cbf

Testdateien und Beobachtungen stehen unter CC0-1.0. Alle Beobachtungen und Versionen herunterladen oder das Verfahren lesen. Das vollständige Node.js-Skript zur Reproduktion (benötigt sharp) erstellt dieselben Testeingaben und vergleicht Bytes und Pixel. Der isGenAI-Quellcode prüft zusätzlich gespeicherte Felder mit npx tsx scripts/build-guide-lab.ts.

Für die separate Exportstudie: die 18 Fälle zum Metadatenerhalt untersuchen.

Quellen und Methode

Die verlinkten Primärquellen beschreiben die Formate. Die Ausgaben der herunterladbaren Testdateien wurden mit automatisierten Prüfungen gegen das aktuelle isGenAI-Leseprogramm abgeglichen. Diese Anleitungen wurden mit KI-Unterstützung erstellt und anhand dieser Beispiele geprüft.

Fehler oder nicht unterstütztes Beispiel melden. Für einen signierten Datensatz: Content Credentials prüfen.