isGenAI.com

Um exemplo prático, com os ficheiros

Comparar uma cópia de imagem com uma nova exportação

Usa um hash para comparar bytes e uma verificação de metadados para examinar os registos guardados. Uma nova exportação pode mostrar a mesma imagem e, ao mesmo tempo, alterar o hash do ficheiro e os detalhes de criação disponíveis.

Segue os passos

  1. Transfere abaixo o original com parâmetros, a sua cópia byte a byte e a reexportação PNG.
  2. Compara o original com a cópia byte a byte. Neste exemplo, o SHA-256 do ficheiro e todos os registos legíveis coincidem.
  3. Compara o original com a reexportação. Os píxeis descodificados coincidem, mas o hash muda e o prompt deixa de ser legível.

As operações exatas testadas

A cópia byte a byte foi feita com Buffer.from(input). A reexportação foi feita com sharp(input).png().toBuffer(), usando a versão da biblioteca registada no JSON de resultados. São operações locais, não uma experiência numa rede social.

O exemplo isola uma diferença prática: preservar o fluxo original de bytes preserva os registos anexados. Escrever um novo ficheiro de imagem pode tratar os metadados de outra forma.

Usa a comparação adequada

A ferramenta de hash no navegador calcula SHA-256 para o ficheiro selecionado completo. A ferramenta de comparação de píxeis compara os píxeis descodificados. Usa a comparação de metadados para campos identificados de prompt, definições e fluxos de trabalho.

Um hash diferente não explica o que mudou. Píxeis iguais não explicam como foram criados. Regista cada observação separadamente.

Guarda uma cópia da origem

Quando o original for importante para uma análise, guarda-o junto das cópias transformadas. Regista a operação que criou cada cópia e testa o resultado. Não pressuponhas que uma opção de preservação de metadados abrange todos os campos personalizados; verifica os campos exatos de que precisas.

Transferir · Executar · Comparar

Experimenta o exemplo verificado

Desenhámos a imagem por código e anexámos registos controlados. Os prompts e nomes de modelos guardados são dados de demonstração. Estes ficheiros testam a leitura de registos; não usámos um gerador de imagens, uma aplicação de captura de ecrã ou uma rede social para criar estes resultados de teste.

Resultado observado

Original comparado com original-copy.png. Mesmos bytes no ficheiro: sim. Mesmos píxeis descodificados: sim.
CampoAntesDepoisEstado
Prompt guardadoControlled example: a paper boat on a blue tableControlled example: a paper boat on a blue tableIgual
Semente4242Igual
Passos2020Igual
Largura de geração guardada10241024Igual
Altura de geração guardada768768Igual
Original comparado com reencoded.png. Mesmos bytes no ficheiro: não. Mesmos píxeis descodificados: sim.
CampoAntesDepoisEstado
Prompt guardadoControlled example: a paper boat on a blue tableNão lidoIlegível no ficheiro posterior
Semente42Não lidoIlegível no ficheiro posterior
Passos20Não lidoIlegível no ficheiro posterior
Largura de geração guardada1024Não lidoIlegível no ficheiro posterior
Altura de geração guardada768Não lidoIlegível no ficheiro posterior

Os valores de semente no JSON são cadeias de texto para preservar a precisão dos números inteiros grandes. Um resultado null aqui significa que não foi devolvido um prompt guardado suportado.

Hashes e reprodução
  • parameters-tEXt.png · 13.371 bytese76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • original-copy.png · 13.371 bytese76d2af4e6c273e1ba8ca6cf2b5b7885ceda2321bce893f0bb5f9e64ace17c9f
  • reencoded.png · 13.179 bytesacdc3a0a5e011cf57af9bf0f1da74c75c2d280a2cc9af9297410c529f86932cf

Os ficheiros de teste e as observações estão sob CC0-1.0. Transferir todas as observações e versões ou ler o procedimento. O script completo de reprodução em Node.js (requer sharp) cria os mesmos ficheiros de teste e compara bytes e píxeis. O código-fonte da isGenAI também verifica os campos guardados com npx tsx scripts/build-guide-lab.ts.

Para o estudo separado de exportação, explora os 18 casos de retenção de metadados.

Fontes e método

As fontes primárias indicadas descrevem os formatos. Os resultados dos ficheiros de teste foram verificados com asserções automáticas no leitor atual da isGenAI. Estes guias foram preparados com assistência de IA e revistos com base nesses exemplos.

Comunicar um erro ou exemplo não suportado. Para um registo assinado, examina as Content Credentials.