CommunityImagemgithub.com

daniil-kzn/image-edit-fidelity

Regras de modelo-agnóstico para gerar e editar imagens de pessoas e cenas com qualquer modelo de imagem (Qwen-Image, Nano Banana / Gemini Image, GPT Image, Seedream, Flux / Kontext, Kling O3 image, Midjourney, Stable Diffusion e mais recentes). Abrange anatomia humana intacta para cada pessoa, fidelidade estrita às referências anexadas e verificação de defeitos antes de exibir.

O que é image-edit-fidelity?

Este skill fornece um conjunto de regras independentes de modelo para garantir que a geração ou edição de imagens com pessoas seja anatomicamente correta e fiel às referências fornecidas. Ele cobre plataformas como Qwen-Image, GPT Image, Midjourney, Stable Diffusion e outras, funcionando tanto para texto-para-imagem quanto para edição baseada em instruções. O skill enfatiza a preservação de anatomia humana (cada pessoa deve ter exatamente um cabeça, dois braços, duas pernas, etc.), a adesão estrita a referências anexadas (mudar apenas o que foi solicitado, manter o número de pessoas, objetos e ambiente) e a transferência controlada de elementos entre imagens (como objetos ou roupas). Inclui scripts auxiliares (como `ref_diff.py`) para verificar diferenças e reparar defeitos através de colagem da região editada na referência original, evitando que o modelo introduza alterações indesejadas.

Funciona com✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/daniil-kzn/qwen-image-2-skill/tree/HEAD/image-edit-fidelity

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Fidelidade de edição de imagem e anatomia (qualquer modelo)

Estas regras se aplicam a todos os modelos de imagem. Elas descrevem o que o resultado deve ser e como verificá-lo; o skill específico do modelo (qwen-image-2, storyboard-keyframes, fal-runner para execução) fornece endpoints, parâmetros, limites e estilo do prompt. Quando um skill específico do modelo existe, siga ambos: seus parâmetros e estas regras de fidelidade. As instruções de edição prontas estão em references/edit-patterns.md.

Como expressar as regras para um determinado modelo:

  • Campo de prompt negativo (Qwen, Seedream, Stable Diffusion, Kling): coloque as listas de anatomia e fidelidade das seções §1 e §2 lá.
  • Sem campo de prompt negativo (GPT Image, Nano Banana / Gemini, Flux Kontext e a maioria dos modelos de edição por instrução): escreva-as como declarações positivas no prompt ("cada pessoa tem uma cabeça, dois braços e duas pernas", "a sala, os móveis e os objetos permanecem exatamente como estão") e uma frase de exclusão curta no final ("Não adicione ou remova nenhuma pessoa ou objeto"). Não cole uma longa lista "sem X, sem Y" no prompt: muitos modelos desenham os objetos nomeados.
  • Reescrita de prompt (Qwen enable_prompt_expansion, Model Studio prompt_extend, opções "magic prompt"): desligue-a para edições; o reescritor adiciona adereços e estilos que não estão na referência.
  • Qual entrada define o tamanho da saída varia por modelo (Qwen: a última imagem; outros: a primeira, ou um campo de tamanho explícito). Verifique o esquema e faça a saída assumir a proporção e o tamanho da referência base.
  • Limites de comprimento variam (Qwen fal edit 800 caracteres). Quando a cláusula KEEP não couber, mantenha os itens com maior probabilidade de deriva (§2 etapa 2).

1. Anatomia humana: sempre intacta

Toda pessoa em toda saída tem anatomia humana normal: exatamente uma cabeça, dois olhos, um nariz, uma boca, duas orelhas, um pescoço, dois braços presos aos ombros, duas mãos com cinco dedos cada, duas pernas presas aos quadris, dois pés. Sem cabeças, membros, mãos ou dedos extras ou faltando; sem membros crescendo das costas, peito, barriga ou de outra pessoa; sem corpos fundidos; sem articulações dobradas na direção errada. Isso se aplica a texto-para-imagem e edições, a pessoas em segundo plano e a imagens estilizadas (cartoon, quadrinhos, pintura), a menos que o usuário peça explicitamente uma criatura não humana. Uma imagem com um corpo quebrado é um defeito, por mais que o resto esteja bom.

Por que quebra: os modelos de difusão perdem o controle de qual membro é de quem onde os corpos se sobrepõem (abraçando, de mãos dadas, multidões, uma pessoa carregando uma criança), onde as mãos são pequenas ou escondidas e em poses complexas. Previna isso no prompt e detecte na verificação.

  1. Prompt. Para cada pessoa, diga onde cada braço e mão está e o que faz ("a mão direita dela segura uma xícara na altura do peito, o braço esquerdo dela pende relaxado ao lado do corpo") e onde as pernas estão ("em pé, peso na perna esquerda", "sentado com pernas cruzadas"). Nomeie a contagem de corpos quando houver várias pessoas ("exatamente três pessoas, cada uma com uma cabeça, dois braços e duas pernas"). Escreva anatomia natural na frase de estilo: "corpos humanos anatomicamente corretos, proporções naturais". Descreva o contato com precisão: de quem é a mão que descansa no ombro de quem.
  2. Composição que mantém os corpos legíveis. Prefira poses onde ambas as mãos estão visíveis ou claramente escondidas (nos bolsos, atrás das costas, fora do quadro); evite emaranhados de braços entrelaçados, pessoas em pé diretamente atrás umas das outras e membros cortados ambiguamente pelo quadro. Mais pessoas significam corpos menores e mais erros: mantenha a contagem tão baixa quanto o pedido permitir; em multidões, mantenha as pessoas em segundo plano pequenas, simples e parcialmente ocluídas por objetos claros.
  3. Lista de exclusão de anatomia (prompt negativo, ou uma frase positiva onde não há campo negativo): membros extras, braços extras, pernas extras, mãos extras, dedos extras, dedos faltando, duas cabeças, cabeça extra, olhos extras, corpos fundidos, membros do tronco, mãos deformadas, anatomia deformada.
  4. Edições. Mudar uma pose, roupa ou adicionar uma pessoa não deve adicionar ou perder partes do corpo: coloque "mesma anatomia: uma cabeça, dois braços, duas pernas para cada pessoa" na cláusula KEEP (§2). Uma edição de pose é a edição de maior risco; verifique cada pessoa no quadro, não apenas a editada.
  5. Verifique cada pessoa antes de mostrar (recorte e amplie cada corpo para o tamanho total; figuras pequenas em segundo plano incluídas): conte cabeças, olhos, braços, mãos, pernas, pés; conte os dedos em cada mão visível; trace cada membro até seu ombro ou quadril e confirme que pertence ao corpo certo; procure por membros crescendo das costas, peito ou pescoço, mãos fundidas, uma terceira perna entre duas pessoas, articulações torcidas. Escreva a contagem por pessoa nas notas de verificação ("P1: 1 cabeça, 2 braços, 2 mãos 5+5, 2 pernas: OK").
  6. Correção. Um pequeno erro de mão ou dedo: uma passada de edição em um recorte ao redor dessa mão ("corrija a mão esquerda: cinco dedos, pose natural, segurando a xícara"), depois cole o recorte de volta (ref_diff.py --paste-back). Um membro ou cabeça extra ou faltando: regenere com uma pose mais simples, menos sobreposições e a descrição do membro da etapa 1. Nunca mostre uma imagem com um corpo quebrado como resultado finalizado; se o usuário quiser ver um rascunho de qualquer maneira, nomeie o defeito.

2. Fidelidade à referência: mude apenas o que foi solicitado

Sempre que o usuário anexar uma imagem de referência, a referência é a verdade fundamental e a solicitação é uma diferença mínima sobre ela. Tudo que o usuário não pediu para mudar permanece como está: número de pessoas e quem são, suas poses e lugares, roupas, a sala ou rua, móveis e objetos ao redor, sua contagem e posições, enquadramento e ângulo da câmera, direção e cor da luz, estilo e textura, qualquer texto. Uma edição que "parece boa" mas adicionou uma pessoa, moveu uma cadeira ou mudou a janela é uma edição falha. A maioria dos modelos re-renderiza o quadro inteiro e é livre para "melhorá-lo", então a fidelidade deve ser solicitada explicitamente e depois verificada.

  1. Faça um inventário da referência antes de escrever qualquer coisa. Olhe para ela em tamanho real (recortes para áreas pequenas) e escreva reference_inventory.md na pasta do projeto:
    • enquadramento: tamanho do plano, altura e ângulo da câmera, o que toca cada borda do quadro, proporção, pixels;
    • pessoas: contagem exata; para cada uma, posição no quadro (esquerda/centro/direita, primeiro plano ou fundo), pose, olhar, mãos, roupa da cabeça aos sapatos, cabelo, idade, o que seguram;
    • ambiente: sala ou lugar, paredes, janelas, portas, chão, móveis com posições;
    • objetos: cada item visível com contagem, cor e onde está (3 xícaras na mesa, não "xícaras");
    • luz: direção da fonte, dureza, temperatura de cor, sombras, hora do dia;
    • estilo: foto ou ilustração, granulação, gradação de cor, profundidade de campo;
    • texto e logotipos, literalmente. Em seguida, divida em duas listas: CHANGE (apenas o que o usuário pediu) e KEEP (todo o resto). Se a solicitação for ambígua sobre o escopo ("deixar mais aconchegante": móveis? luz? ambos?), pergunte antes de gerar, em vez de deixar o modelo decidir.
  2. Escreva o prompt de edição como mudança + manutenção. Primeira frase: a mudança solicitada, específica e local (o quê, onde, quão grande, qual lado do quadro). Em seguida, a cláusula de preservação construída a partir de KEEP, nomeando itens concretos em vez de "todo o resto": "Mantenha exatamente duas pessoas: o homem à esquerda de suéter cinza e a mulher à direita de vestido azul, mesmos rostos, poses e posições. Mantenha a mesa de madeira com três xícaras brancas, a janela à esquerda, a estante à direita, a luz quente da janela, o enquadramento e o ângulo da câmera inalterados. Não adicione ou remova nenhuma pessoa ou objeto." Sob um limite de comprimento, mantenha os itens com maior probabilidade de deriva: contagem e identidade de pessoas, objetos perto da área editada, arquitetura de fundo, enquadramento. Descreva apenas a mudança em detalhes; não redescreva a cena inteira com novas palavras, o que convida o modelo a redesenhar.
  3. Configurações que protegem a referência:
    • reescrita de prompt desligada;
    • tamanho de saída = proporção e tamanho da referência; uma proporção diferente força o modelo a inventar ou cortar conteúdo;
    • a referência base na posição que define o tamanho de saída, referida pelo seu número no prompt; anexe apenas referências que a mudança precisa, cada imagem extra é outra fonte de deriva;
    • máscara ou modo de inpaint onde o modelo oferecer: mascarar apenas a área a ser alterada;
    • lista de exclusão de fidelidade: pessoas extras, pessoas faltando, pessoa diferente, fundo alterado, objetos adicionados, objetos removidos, enquadramento diferente, iluminação diferente, mais a lista de anatomia da §1;
    • nível barato para rascunhos; uma saída por chamada até que a instrução se mantenha, depois 2-3.
  4. Verifique contra a referência, não por si só. Execute python3 ~/.claude/skills/image-edit-fidelity/scripts/ref_diff.py <referência> <saída> --allow x0,y0,x1,y1 (a caixa onde a mudança deveria acontecer, em pixels da referência). Ele relata o quanto mudou fora dessa caixa por célula da grade e escreve uma imagem lado a lado e um mapa de calor. Em seguida, percorra reference_inventory.md linha por linha na saída: contagem e identidade de pessoas, cada objeto e sua posição, fundo, luz, enquadramento, texto. Qualquer item KEEP que mudou é um defeito, mesmo que pequeno.
  5. Repare em vez de regenerar o quadro inteiro. Quando a mudança está certa, mas o resto derivou, cole apenas a região alterada de volta no original: ref_diff.py <referência> <saída> --allow <caixa> --paste-back final.png (borda suavizada, o resto do quadro vem da referência pixel por pixel). Se a mudança em si estiver errada, aperte a frase CHANGE e adicione os itens que derivaram a KEEP pelo nome; mude uma coisa por tentativa.
  6. Relate ao usuário o que mudou e confirme o que foi verificado como mantido; nomeie qualquer desvio aceito.

3. Transferir uma parte de uma referência para outra

Quando o usuário pede para pegar um elemento de uma referência fonte (uma jaqueta, uma luminária, um rosto, um logotipo, um céu) e colocá-lo em uma referência alvo, exatamente duas coisas acontecem: o elemento nomeado é copiado da fonte, e o lugar nomeado no alvo é substituído por ele. Nada mais se move em qualquer direção:

  • da fonte, pegue APENAS o elemento nomeado: não seu fundo, outras pessoas ou objetos, cores, iluminação, estilo ou enquadramento;
  • no alvo, mude APENAS o lugar nomeado: pessoas, sua contagem, rostos, poses, roupas, objetos, ambiente, luz, enquadramento e texto permanecem como no alvo (lista KEEP da §2 construída a partir do inventário do alvo);
  • não adicione nada "para fazer caber" (adereços extras, sombras de objetos que não existem, novas pessoas). A única adaptação permitida é o próprio elemento assumir a perspectiva, escala e luz do alvo para que se assente naturalmente no lugar substituído.

Como:

  1. Faça o inventário do alvo (§2) e descreva o elemento na fonte com precisão (o quê, cor, material, forma, detalhes que devem sobreviver: botões, estampa, logotipo).
  2. Recorte a fonte firmemente ao redor do elemento (respeite o lado mínimo do modelo, 384 px para Qwen) antes de enviar, para que o modelo não tenha mais nada para pegar emprestado dela. Coloque o alvo na posição que define o tamanho de saída.
  3. Estrutura do prompt: "Pegue apenas [elemento com características principais] da imagem 1. Na imagem 2, substitua [lugar exato: de quem, qual lado, qual objeto] por ele, combinando a perspectiva, escala e luz da imagem 2. Não pegue mais nada da imagem 1: não seu fundo, pessoas, cores ou iluminação. Todo o resto na imagem 2 permanece exatamente como está: [itens KEEP do inventário do alvo, contagem de pessoas, rostos, poses, objetos, ambiente, enquadramento]. Não adicione ou remova nenhuma pessoa ou objeto." Troque os números das imagens se o modelo quiser a base primeiro.
  4. Verifique com ref_diff.py <alvo> <saída> --allow <caixa do lugar substituído>: mudanças fora da caixa são defeitos; repare com --paste-back. Também compare o elemento transferido com o recorte da fonte: forma, cor, estampa e detalhes devem coincidir.

Troca de cabeça

A cabeça de uma pessoa da imagem 1 em uma pessoa na imagem 2 é o caso mais estrito desta regra. Na pessoa alvo, APENAS a cabeça é substituída: rosto, características faciais, pele do rosto, cabelo e orelhas vêm da imagem 1; ângulo da cabeça, inclinação, direção do olhar, escala e a luz da cena seguem o alvo para que a cabeça se assente no pescoço existente. Tudo o mais da pessoa alvo permanece como na imagem 2: corpo, constituição, pescoço e ombros, roupas, pose, mãos, acessórios abaixo da cabeça; outras pessoas mantêm suas próprias cabeças e todo o resto; o ambiente, objetos e enquadramento não mudam. Nada da imagem 1 além da cabeça (sua roupa, corpo, fundo, outras pessoas) aparece na saída.

  • Antes da chamada, resolva as partes ambíguas com o usuário apenas se existirem: chapéu,

…

Habilidades Relacionadas