Pinturas vivas
Use esta habilidade para o design visual e composição de vídeos de pinturas. Use o controlador comfy-film instalado para geração, revisões, recuperação e entrega final. É o mesmo controlador em cada agente — Codex (~/.codex/skills/comfy-film/SKILL.md), DeepSeek Harness (~/.dsh/skills/comfy-film-dsh/SKILL.md) e Claude Code (~/.claude/skills/comfy-film-dsh/SKILL.md) — todos eles acionam o mesmo $Tools/comfy-film/scripts/film.py; apenas as ferramentas ao redor diferem. Leia as referências relevantes conforme necessário; não recrie seus controladores. Para prompts H3 substantivos, use h3-prompt-writing.
Diferenças de ambiente (Codex → DeepSeek Harness / Claude Code)
| Hábito do Codex | O que fazer em vez disso |
|---|---|
| Painel do navegador Codex para a página de progresso | Inicie progress.py --serve como um job em segundo plano e publique a URL verificada de .pipeline/progress-server.json |
| Ferramenta Menu para aceitar/alterar/rejeitar | ask_user_question com rótulos de duas palavras; links e números pertencem à mensagem acima dela |
| Imagens confiáveis para renderizar no chat | Link de caminho entre colchetes angulares para imagens/documentos; http://127.0.0.1:8199/watch/... para cada clipe (servidor: comfy-film-dsh/scripts/serve-media.py) |
| Rascunho delegado a um subagente | Faça o rascunho no pai; o DSH não tem delegação de rascunho para esses filmes |
| Processamento final | comfy-film-dsh/scripts/finalize_delivery.py --input ... --no-upscale |
As regras de publicação, revisões e montagem permanecem inalteradas; elas estão na habilidade comfy-film.
Iniciar ou retomar
- Mantenha os projetos sob
$Paintings/<Nome em inglês>. Armazene a obra de arte original, referência da sala, prompts, takes gerados, clipes de montagem e exportações finais dentro desse projeto. Evite dependências de área de transferência/arquivos temporários ou da pasta de saída de outro projeto. - Ao retomar, execute
film status --project PROJECTe leia obrief.mdatual. O estado técnico está emfilm.json; aprovações não são inferidas a partir da existência de arquivos. - Para uma nova pintura, leia workflow.md antes de projetar keyframes ou gerar vídeo. Ele contém a receita testada e falhas específicas do Living Cafe Painting.
- Reutilize as escolhas de formato, temporização, som e câmera fornecidas pelo usuário. A abordagem de 5s + animação de 10s + recuo de 5s do filme anterior é um exemplo, não uma escolha automática para toda pintura.
Separe o movimento da sala da animação da obra de arte
- Projete uma referência de sala com a pintura emoldurada de frente e espaço suficiente ao redor para a aproximação pretendida. Mantenha a obra de arte original em alta resolução como uma fonte separada.
- Quando o usuário quiser a obra de arte estática durante a aproximação, componha essa obra original no quadro e anime um corte/escala planar uniforme deterministicamente. Não peça ao H3 para inventar o movimento da sala para a rua: no projeto testado, ele mudou a perspectiva interna. Não aplique zoom na pequena pintura embutida na imagem da sala: ela ficará borrada.
- Renderize a aproximação de modo que seu quadro final esteja completamente dentro da obra de arte. Verifique se a obra original tem pixels suficientes para o corte mais apertado. Um canvas de sala em alta resolução ajuda na precisão da composição, mas não adiciona detalhes à obra; preserve os pixels da fonte original até a amostragem final de saída.
- Inicie a cena viva a partir do ponto final real da aproximação aceita. Isso é deliberadamente uma nova ação a partir de uma pose estática: use I2VA com essa pose estática, em vez de carregar a sala/aproximação como um guia em movimento. O padrão de guia no comfy-film permanece apropriado para continuar uma ação já viva, não para esta transição.
- Use um prompt afirmativo curto descrevendo o ponto de vista fixo da rua/paisagem e alguns pequenos movimentos dentro da cena retratada. Não descreva entrar ou passar pela pintura. Veja o padrão de prompt bem-sucedido em workflow.md.
- Para um recuo com obra estática, congele o último quadro real selecionado da cena viva aceita, registre-o na composição de alta resolução sala/obra e anime o corte/escala planar inverso. Não redefina para as poses de personagens anteriores da obra original na junção. Inspecione as bordas em busca de costuras de registro; use feathering contido apenas onde adequado.
Mantenha o movimento da câmera e o movimento da cena representada independentemente controláveis. Movimentos de câmera generativos podem ser usados quando o usuário deseja mudanças de perspectiva; o método da obra plana aplica-se ao conceito de obra estática.
A junção no take vivo é onde o olho percebe um salto
O H3 não copia sua imagem de condicionamento: ele re-renderiza seus primeiros quadros, que saem mais planos e alguns luma mais escuros, com um céu redesenhado. Contra o quadro nítido da composição da aproximação, isso é lido como um degrau de brilho no corte, mesmo que escala e deslocamento coincidam exatamente. No Living Tulip Balloons, o corte carregou o maior degrau de luma de quadro único do filme (-2,04) enquanto a junção mediu 0 de deslocamento e 1,000 de escala.
Meça, não adivinhe: decodifique o corte montado uma vez e imprima o luma médio por quadro; a junção não deve ser o maior degrau do filme. Quando for, substitua os 12 quadros iniciais do take por uma dissolução determinística que comece no último quadro real da aproximação e convirja para os próprios quadros do take (peso k/12). Nada é re-temporizado, nada é inventado, e o primeiro quadro exibido do take é exatamente a imagem em que a câmera parou. Receita e números: workflow.md.
Revisões e finalização
- Siga as portas de revisão de quadro, clipe e final do comfy-film. O ajuste determinístico de fontes aprovadas e a extração de ponto final herdam sua aprovação de fonte; um novo ambiente generativo ou redesenho de obra precisa de sua própria revisão.
- Antes de exibir um candidato a animação, inspecione toda sua linha do tempo em busca de mãos em primeiro plano, painéis/janelas abrindo, movimento de câmera indesejado, desvio de layout, artefatos de personagem e perda de detalhes. A decodificação bem-sucedida por si só não é aprovação visual. Em caso de falha, divulgue-a e siga as regras autorizadas de nova tentativa do comfy-film.
- Use os pontos finais reais aparados para as junções. O H3 arredonda a duração; remova apenas os quadros excedentes necessários para atender ao plano selecionado. Preserve clipes e versões de fonte aceitos.
- Com música fornecida, mantenha o vídeo inalterado quando possível; salve uma nova versão final. Ajuste o equilíbrio música/ambiente e os fades para a faixa fornecida, em vez de reutilizar cegamente a mixagem do primeiro filme.
- O upscale final é opcional: use
finalize_delivery.py --no-upscalea menos que explicitamente solicitado. Produza H.264 yuv420p/AAC com faststart e verifique a decodificação. Forneça um link MP4 local clicável; um vídeo inline por si só não era visível para o usuário no chat testado. - Salve a geometria selecionada, versões da fonte, prompts, takes aceitos, cortes, mixagem e status da revisão final em
brief.md. Registre uma nova lição reutilizável aqui apenas quando ela mudar decisões futuras; mantenha coordenadas únicas no projeto.
Exemplo existente
$Paintings/Living Cafe Painting é o exemplo testado. Seu brief.md preserva decisões e variantes rejeitadas; clips/ contém segmentos aceitos; .pipeline/drafts/prompts/part2-v4.txt é o prompt bem-sucedido da cena viva. A v2 final inclui a música do usuário e ainda aguarda aprovação explícita do filme final. Esses fatos não aprovam filmes futuros nem autorizam publicação.