Un esempio pratico, con i file
Leggere i prompt nei record PNG tEXt, zTXt e iTXt
PNG supporta diversi modi di memorizzare testo. Un lettore deve identificare il record e decodificarne il contenuto prima di interpretarlo. Questi esempi conservano gli stessi parametri in tre codifiche di blocchi diverse.
Segui i passaggi
- Scarica gli esempi tEXt, zTXt e iTXt qui sotto.
- Passa ciascuno nell’estrattore di prompt salvati. Il prompt positivo e le impostazioni dovrebbero coincidere in tutti e tre.
- Confronta le impronte dei file: codificare diversamente il record può cambiare i byte senza modificare l’immagine visualizzata o i valori salvati.
Tre codifiche, un risultato atteso
Il nostro esempio tEXt contiene testo non compresso. Gli esempi zTXt e iTXt di questo laboratorio contengono dati compressi. La specifica del W3C definisce questi formati di blocchi; i file scaricabili e i risultati mostrano esattamente quali casi ha eseguito il nostro lettore.
Ogni esempio dovrebbe restituire seed 42, 20 passaggi e lo stesso prompt della barchetta di carta. Ciò dimostra questi tre casi controllati, non la compatibilità con qualsiasi PNG.
Un record di testo è un dato
Il lettore riconosce chiavi specifiche dei record salvati, come parameters. Non considera ogni commento o descrizione PNG come un prompt di generazione originale.
I record sono modificabili. Un prompt uguale in più file descrive il testo memorizzato, non una firma del generatore di immagini.
Quando la decodifica fallisce
Checksum danneggiati, chiavi duplicate in conflitto e metadati troppo grandi non vengono accettati come un’unica istruzione salvata affidabile. La guida ai prompt mancanti include un esempio di conflitto. Conserva il file effettivo per esaminare un caso non supportato.
Scarica · Esegui · Confronta
Prova l’esempio verificato
Abbiamo disegnato l’immagine tramite codice e aggiunto record controllati. I prompt e i nomi dei modelli salvati sono dati dimostrativi. Questi file verificano la lettura dei record; nessun generatore di immagini, app di screenshot o social network è stato usato per creare questi risultati.
Risultato osservato
[
{
"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
}
]I valori dei seed nel JSON sono stringhe per mantenere la precisione degli interi grandi. Un risultato null qui significa che non è stato restituito un prompt salvato supportato.
Impronte e riproduzione
- parameters-tEXt.png · 13.371 byte
e76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f - parameters-zTXt.png · 13.346 byte
2cbac7bbc872ec95d8979132ef871b3a1f816ffc55bc12e68ea10ab5ac2d7818 - parameters-iTXt.png · 13.349 byte
4123149f352daeb842ecf241f7c7e6ee0fc4c5a08175ecb37fc690e093484cbf
File di prova e osservazioni sono disponibili con CC0-1.0. Scarica tutte le osservazioni e le versioni oppure leggi la procedura. Lo script completo di riproduzione Node.js (richiede sharp) crea gli stessi input di prova e confronta byte e pixel. Il codice sorgente isGenAI verifica inoltre i campi salvati con npx tsx scripts/build-guide-lab.ts.
Per lo studio separato sulle esportazioni, esplora i 18 casi di conservazione dei metadati.
Fonti e metodo
Le fonti primarie collegate descrivono i formati. I risultati dei file di prova scaricabili sono stati verificati con asserzioni automatiche rispetto all’attuale lettore isGenAI. Queste guide sono state preparate con l’assistenza dell’IA e verificate usando quegli esempi.
Segnala un errore o un esempio non supportato. Per un record firmato, esamina le Content Credentials.