isGenAI.com

Praktyczny przykład wraz z plikami

Odczytaj rekordy promptów PNG: tEXt, zTXt i iTXt

PNG obsługuje kilka sposobów przechowywania tekstu. Czytnik powinien rozpoznać rekord i zdekodować jego zawartość przed interpretacją. Te przykłady zapisują te same parametry w trzech różnych kodowaniach bloków.

Wykonaj kolejne kroki

  1. Pobierz poniższe przykłady tEXt, zTXt i iTXt.
  2. Sprawdź każdy w ekstraktorze zapisanych promptów. Prompt pozytywny i ustawienia powinny być zgodne we wszystkich trzech.
  3. Porównaj skróty plików: inne kodowanie rekordu może zmienić bajty pliku bez zmiany wyświetlanego obrazu ani zapisanych wartości.

Trzy kodowania, jeden oczekiwany wynik

Nasz przykład tEXt zawiera zwykły tekst. Przykłady zTXt i iTXt w tym laboratorium zawierają skompresowane dane. Specyfikacja W3C definiuje te formaty bloków; pliki do pobrania i wyniki pokazują dokładnie, jakie przypadki przetworzył nasz czytnik.

Każdy przykład powinien zwrócić seed 42, 20 kroków i ten sam prompt o papierowej łódce. Pokazuje to trzy kontrolowane przypadki, a nie zgodność z dowolnym PNG.

Rekord tekstowy to dane

Czytnik rozpoznaje określone klucze zapisanych rekordów, takie jak parameters. Nie traktuje każdego komentarza ani opisu PNG jako oryginalnego promptu generowania.

Rekordy można edytować. Zgodny prompt w różnych plikach mówi o zapisanym tekście, a nie o podpisie generatora obrazu.

Gdy dekodowanie się nie powiedzie

Uszkodzone sumy kontrolne, sprzeczne powielone klucze i zbyt duże metadane nie są przyjmowane jako jedna wiarygodna zapisana instrukcja. Poradnik o brakującym prompcie zawiera przykład konfliktu. Zachowaj rzeczywisty plik, jeśli musisz zbadać nieobsługiwany przypadek.

Pobierz · Uruchom · Porównaj

Wypróbuj sprawdzony przykład

Narysowaliśmy obraz kodem i dodaliśmy kontrolowane rekordy. Zapisane prompty i nazwy modeli są danymi demonstracyjnymi. Pliki testują odczyt rekordów; do uzyskania tych wyników nie użyto generatora obrazów, aplikacji do zrzutów ekranu ani sieci społecznościowej.

Zaobserwowany wynik
[
  {
    "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
  }
]

Wartości seed w JSON są ciągami znaków, aby duże liczby całkowite zachowały precyzję. Wynik null oznacza tutaj, że nie zwrócono obsługiwanego zapisanego promptu.

Skróty i odtwarzanie
  • parameters-tEXt.png · 13 371 bajtówe76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • parameters-zTXt.png · 13 346 bajtów2cbac7bbc872ec95d8979132ef871b3a1f816ffc55bc12e68ea10ab5ac2d7818
  • parameters-iTXt.png · 13 349 bajtów4123149f352daeb842ecf241f7c7e6ee0fc4c5a08175ecb37fc690e093484cbf

Pliki testowe i obserwacje są udostępnione na warunkach CC0-1.0. Pobierz wszystkie obserwacje i wersje lub przeczytaj opis procedury. Kompletny skrypt odtwarzania Node.js (wymaga sharp) tworzy te same dane testowe i porównuje bajty oraz piksele. Kod źródłowy isGenAI dodatkowo weryfikuje zapisane pola za pomocą npx tsx scripts/build-guide-lab.ts.

W osobnym badaniu eksportu sprawdź 18 przypadków zachowania metadanych.

Źródła i metoda

Podlinkowane źródła pierwotne opisują formaty. Wyniki plików testowych do pobrania sprawdzono automatycznymi asercjami względem aktualnego czytnika isGenAI. Te poradniki przygotowano z pomocą AI i zweryfikowano na podstawie tych przykładów.

Zgłoś błąd lub nieobsługiwany przykład. Aby sprawdzić podpisany rekord, sprawdź Content Credentials.