Edição de Detalhes de Foto
O usuário fornece a imagem original e o prompt de edição. Este skill conclui todo o fluxo: adicione restrições de fidelidade → edição de imagem embutida → correspondência estrutural da miniatura → aprendizado de transformação RGB local → aplicação à imagem original em tamanho real → resultado final e comparações locais. Não conclua apenas a geração ou dê sugestões de operação.
Entrada e Limites
- É necessário um arquivo de imagem original legível. Verifique primeiro os pixels, tamanho em bytes, orientação EXIF e transparência; a visualização pode ser reduzida e não deve ser considerada a "imagem grande original". Se houver apenas uma visualização na sessão e não for possível obter o arquivo original, solicite ao usuário que forneça o arquivo original ou um ZIP com a imagem original. Não reivindique a restauração de informações reais a partir de detalhes perdidos.
- O usuário fornece apenas a imagem e o prompt; o agente decide as áreas a preservar, cria prompts de segmentação e verifica a máscara, sem exigir que o usuário desenhe a máscara manualmente.
- Mantenha as alterações explicitamente solicitadas pelo usuário. Substituição de fundo, remoção de fundo, troca de roupas, exclusão de adereços e áreas correspondentes não devem ser revertidas pelas etapas de restauração subsequentes; para objetos ou estruturas claramente alterados, estabeleça regiões de exclusão.
- Este fluxo é voltado para edição de fotografia. Mudanças significativas na pose, identidade da pessoa ou redesenho completo podem não ter correspondência confiável; preserve honestamente o resultado gerado e explique as limitações da restauração.
Fluxo de Trabalho
1. Criar Diretório da Tarefa
Crie um novo diretório de saída no espaço de trabalho atual, preservando a imagem original, sem sobrescrever arquivos originais ou resultados existentes. Salve o prompt original do usuário, o prompt completo realmente enviado e a imagem base gerada. Ao extrair um ZIP anexado, verifique os caminhos e não sobrescreva arquivos existentes.
Se as dependências não estiverem instaladas, instale scripts/requirements.txt no ambiente virtual do projeto atual; priorize reutilizar ambientes existentes compatíveis ou use uv venv / uv pip install --python ... -r .... Não é necessária instalação em nível de sistema. Os scripts não se conectam à internet nem baixam modelos durante a execução.
2. Edição com GPT Image
- Primeiro, visualize o arquivo local original usando
view_image. Use a ferramentaimage_genembutida disponível na sessão para editar, usando o arquivo original como entrada de edição, não substituindo a imagem original pela imagem gerada na rodada anterior. - Prompt real = texto original do usuário + restrições de fidelidade fixas. A parte fixa é adicionada como restrição complementar, não substitui ou dilui o objetivo do usuário; os requisitos de corpo inteiro se aplicam apenas se a foto original for de corpo inteiro. Salve este resultado concatenado exato.
- Para solicitações de remoção de fundo/recorte/fundo transparente, defina
transparent_background: true; para substituição por novo fundo, defina como false. Outros parâmetros seguem as capacidades atuais da ferramenta, não invente parâmetros de qualidade, tamanho ou versão de modelo, e não prometa que o prompt garante fidelidade de pixel ou resolução. - Copie o arquivo gerado para o diretório da tarefa. Registre o tamanho real de saída e o tamanho do arquivo. Gere uma vez por padrão; corrija e tente novamente apenas se a ferramenta falhar ou omitir claramente os principais requisitos do usuário, evitando regenerações infinitas. Não mude para APIs/CLIs pagas por conta própria.
3. Estabelecer Regiões de Preservação para Esta Imagem
Examine a imagem original e a imagem gerada. Conforme Guia de Configuração e Execução de Regiões, crie o regions.json desta tarefa, especificando respectivamente a máscara principal ou sementes GrabCut da imagem original e da imagem gerada; as coordenadas são determinadas a partir da imagem atual, não copie coordenadas de personagens de tarefas anteriores. O script interpretará as coordenadas conforme a orientação EXIF de exibição de cada imagem.
A máscara deve cobrir os assuntos comuns que precisam ser preservados, excluindo o fundo e as partes intencionalmente alteradas pelo usuário. O primeiro plano transparente pode usar o alpha, mas ainda deve excluir áreas que o usuário intencionalmente redesenhou. fill_holes está desligado por padrão; buracos formados por alças de objetos, posturas etc. podem ser fundo real e não devem ser preenchidos cegamente.
Selecione pelo menos duas posições de detalhes de pessoa/objeto para comparação local; se a foto tiver rosto, estampas, lã/tecido, priorize essas posições. A configuração vem do julgamento visual do agente, não de um modelo fixo.
4. Analisar, Verificar e Fundir
Use o mesmo conjunto de parâmetros, primeiro --stage analyze, depois --stage fuse:
<python> <skill>/scripts/restore_detail.py --source <original> --base <gerada> --regions <regions.json> --out <tarefa>/restored --stage analyze
Padrão --method local-rgb --structure-channel auto. Na fase de análise, a imagem original é redimensionada para um tamanho comum, a correspondência geométrica é verificada, a influência de cor, contraste e texturas finas no julgamento de estrutura é reduzida, e curvas de cores RGB locais contidas e monotônicas são ajustadas em regiões confiáveis. Fotos comuns com múltiplas cores usam estrutura de luminância; luz monocromática forte seleciona automaticamente o canal correspondente, ambas as imagens usam a mesma representação, não fixa no canal vermelho.
Verifique base-mask.png, source-mask.png, confidence-overlay.png e report.json, confirmando que o método real é local-rgb, e que o canal de estrutura e o intervalo de correspondência são razoáveis. O fundo não pode ser selecionado para a área de restauração; se a máscara estiver claramente incorreta, corrija a configuração da região e reanalise. Não aumente a cobertura à força afrouxando o limite de correspondência.
<python> <skill>/scripts/restore_detail.py --source <original> --base <gerada> --regions <regions.json> --out <tarefa>/restored --stage fuse
O script interpola suavemente os parâmetros da curva local e os aplica à imagem original em tamanho real registrada, transformando detalhes reais através do tom e iluminação alvo. Em posições onde o mapeamento não é confiável, usa a imagem gerada ampliada; o fundo, a transparência e as áreas de edição explicitamente excluídas permanecem consistentes. Quando não há características compartilhadas suficientes, não incorpora o conteúdo da imagem original. O tom e a iluminação do assunto são resultados de ajuste; não é possível garantir consistência pixel a pixel, nem chamar o tamanho da imagem original de restauração completa da qualidade da imagem original.
Não sobreponha por padrão altas frequências Lab em escala de cinza, nem use por padrão matrizes arbitrárias com liberdade excessiva ou LUT 3D completo. --method lab-detail é mantido apenas para comparação com o método antigo quando explicitamente solicitado pelo usuário; não reverta silenciosamente para o método antigo.
5. Verificar e Entregar
- Verifique a prévia final e pelo menos duas comparações locais em escala de pixel original, respectivamente comparando textura real, cor e iluminação geral, atentando para fantasmas, blocos pretos, cinza nas sombras, bordas e sombras no chão. Não declare melhoria de qualidade de imagem apenas com base na correlação de textura ou cobertura de correspondência. Se necessário, restrinja as regiões de exclusão e execute novamente a análise e fusão.
- Confirme que no
report.jsona variação de pixels na faixa de fundo é 0, o alpha é preservado e o PNG é legível. A consistência exata do fundo se aplica a PNG sem perdas; a compressão JPEG pode alterar pixels. - Retorne a prévia visível, o PNG sem perdas em tamanho real e links de comparação local. Sem transparência, entregue também JPEG; imagens transparentes não são entregues via JPEG.
- Descreva brevemente o tamanho da saída, o escopo real da restauração e as limitações óbvias; forneça o link para o arquivo do prompt completo real. Não considere o número de pixels ampliados por interpolação como novos detalhes reais.
Exemplos de Uso
"Use $photo-detail-edit para processar esta imagem original: purificar o fundo e a iluminação, dando a ela uma qualidade de estúdio de revista."
"Use $photo-detail-edit para remover o fundo, gerar PNG transparente, preservando os detalhes da pessoa e das roupas."