Communitygithub.com

comfy-director

Use quando solicitado a fazer um vídeo narrativo — anúncio, filme de marca, curta, trailer, videoclipe ou qualquer clipe de múltiplas tomadas que conte uma história (não uma única tomada ou loop). Também use quando um vídeo foi rejeitado por 'não ter história', 'não fluir', 'parecer uma montagem' ou personagens que mudam entre as tomadas.

O que é comfy-director?

Comfy Director é uma skill especializada em produção de vídeos narrativos com IA, focada em garantir que múltiplas tomadas contem uma história coesa, evitando o erro comum de parecer uma montagem sem causalidade. Ela impõe uma ordem rigorosa de operações: conceito, roteiro, lista de tomadas, design de áudio, produção, conformação e controle de qualidade. A skill fornece regras claras para roteiro (protagonista único, teste de causalidade, teste do estranho), conceito (marca sentida, não nomeada, estranheza composta) e ferramentas de continuidade (referência de personagem/local, edição de imagem de referência, sync labial via KlingAvatar). Também inclui práticas de produção como registro em LOG.md, gerenciamento de job_ids.txt, e verificação de áudio com ffmpeg. Suporta plataformas como Claude Code e ferramentas de vídeo com IA, e é útil para diretores de IA que precisam produzir vídeos de múltiplas tomadas com continuidade visual e narrativa.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/quantiqueue/comic-skills/tree/HEAD/vendor/comfy-cli-skills/comfy-director

Perguntar na sua IA favorita

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

Documentação

Comfy Director

História primeiro, imagens depois. Filmes de IA com múltiplas tomadas falham na edição, não na renderização: batidas que não se causam mutuamente são lidas como uma montagem vestida de história, não importa quão boa seja cada cena.

CONTEXTO OBRIGATÓRIO: a skill comfy (mecânica da CLI + o caminho de receitas — apply/capture/foreach — para gráficos reutilizáveis de múltiplos estágios). Em qualquer trabalho com falha, use comfy-debug.

Ordem das operações

  1. Conceito — uma ideia que um estranho possa recontar.
  2. Roteiro — antes de tocar no pipeline. Entregue-o ao usuário primeiro.
  3. Lista de tomadas — cada cena mapeada para uma estratégia de continuidade.
  4. Design de áudio — baseado nas batidas emocionais do roteiro, não depois da imagem.
  5. Produzir → conformar → CQ.

Pular a etapa 2 e ir direto para as renderizações é a causa nº 1 de cortes descartados.

Regras do roteiro

  • Um protagonista que a câmera possa seguir. Reconhecível em cada tomada.
  • Teste de causalidade: cada corte responde "e POR CAUSA DISSO…" — nunca "e então, em outro lugar…". Se uma batida puder ser reordenada sem quebrar nada, ainda não é uma história.
  • Teste do estranho: alguém sem contexto deve recontar a trama em duas frases ("X queria A, B o impediu, ele fez C, então D").
  • Batidas carregam tempos que somam a duração alvo.

Regras do conceito

  • A marca/produto é sentido, não nomeado: defenda sua filosofia; piadas internas e lore da comunidade citados na tela são lidos como fan-service.
  • Uma técnica que o cliente menciona ("transferência de estilo", um nome de modelo) é uma centelha, não uma ordem — use-a apenas se a ideia precisar. Construir o filme em torno de uma técnica é a marca de um fornecedor, não de um diretor.
  • A estranheza deve se compor: sujeito E objeto E cenário surpreendentes. Um elemento estranho em um quadro normal é decoração.

Gerando tomadas

  • Tomadas fotorrealistas: linguagem de cinegrafista/película de ação ao vivo APENAS. Um nome de ilustrador/anime/mangá em um prompt fotorrealista o envenena. Referências ilustradas pertencem apenas a tomadas deliberadamente estilizadas.
  • Prompts de movimento descrevem COMO a cena se move, não o que está nela (veja as armadilhas de vídeo da skill comfy — armadilhas de modelos t2v/i2v, SaveVideo, configuração de fps).

Kit de ferramentas de continuidade

Escolha por tomada, em ordem aproximada de força:

EstratégiaUse para
Imagem de referência de personagem/local levada para cada gráfico i2v da tomadaidentidade do protagonista
Mesma identidade, novos enquadramentos via edição de imagem de referência (um herói → N ângulos)rosto reconhecível entre cortes
Keyframe da tomada N sela a tomada N+1 (restilo ou quadro final com referência de imagem)ação contígua
Cabeça falante alimentada com o ÁUDIO EXATO que toca (KlingAvatar), corte entre ângulos da mesma cabeça com sincronia labial — nunca B-roll sobre o VOdiálogo que deve parecer real
Linhas de guarda-roupa/luz/lente repetidas textualmente em cada promptcola barata de linha de base

Se uma tomada não puder manter a continuidade, reescreva o roteiro para que não precise dessa tomada — não entregue a quebra.

Áudio

  • Trilha sonora = pequenas cues desenhadas unidas nos pivôs da história; uma longa geração não seguirá um arco dinâmico (ela inverte exatamente onde você precisa do pico).
  • Posicione o VO por matemática: duração do stem vs janela da batida, antes da mixagem.
  • Reduza a trilha sob o VO; normalizado o loudness da mixagem final (~-14 LUFS).
  • Diálogo deve ter sincronia labial por construção. Dirija a boca a partir do áudio exato que toca (sound_file do KlingAvatar) e corte entre ângulos da mesma cabeça com sincronia labial — B-roll sobre um VO contínuo é lido como montagem, e bocas inventadas por i2v derivam. "Sem sincronia labial / não parece real" é a rejeição clássica. (Gere áudio no gráfico — LoadAudio da nuvem não vê uploads; veja as armadilhas de áudio do comfy.)
  • Trave a voz e o elenco pelo OUVIDO antes das renderizações caras. Voz/sotaque é subjetivo e ilegível a partir de uma forma de onda — renderize algumas tomadas baratas de TTS candidatas de uma linha, peça ao usuário para escolher, DEPOIS incorpore a vencedora nas tomadas caras e propensas a transient_auth de avatar/sincronia labial. Re-renderizar todas elas com uma voz rejeitada é a queima evitável. Mesma lógica para a aparência do protagonista: aprove o still do herói antes de gerar cada tomada a partir dele.
  • Verifique a mixagem por medição, não por fé. Você não consegue ouvir a renderização — use ffmpeg volumedetect em cada seção: um final "silêncio morto" ou uma linha enterrada aparece como uma janela perto de -91 dB. Confirme que cada batida está presente no nível antes de declarar como concluída.

Operações de produção

  • ANEXE CADA envio — tomadas, keyframes, stems de áudio, reenvios — a job_ids.txt (<nome_do_job> <id_do_prompt>) no momento do envio. Apenas anexe: um reenvio ganha uma nova linha (shot_s3_resubmit <id>), nunca uma sobrescrita, para que prompt_ids mortos mantenham sua identidade de tomada.
  • Mantenha LOG.md na raiz do projeto: um log de eventos apenas anexado, escrito no momento do evento, não no fim da sessão — uma linha por envio/reenvio (+ código de falha), por veredito de CQ (+ motivo de re-roll), e por decisão que invalida trabalho anterior: reescalações, mudanças de prompt, qual imagem de referência ou stem agora é canônico. Descobertas quadro a quadro ficam em qc/QC_LOG.md; LOG.md as indexa.
17:36 ERROR shot_s3 transient_auth -> RESUBMIT 27dd45b4 (mesmo workflow, sem re-login)
17:44 QC shot_s2 FAIL background-crawl -> re-roll (mesmo kf, nova seed); recortar batida se 2ª falhar
17:50 DECISION reescalar protagonista -> ref_ray.png canônico; vo2, vo6 obsoletos, re-gerar
  • Contrato de recuperação: um agente sucessor com memória zero deve retomar apenas a partir do disco: LOG.md (o que aconteceu, por quê) → job_ids.txt (quais jobs) → comfy jobs status (seus estados). Uma decisão que não está em LOG.md morre com a sessão — jobs concluídos mas obsoletos (stems de VO de um elenco antigo) parecem idênticos aos bons.
  • ffprobe cada clipe baixado; normalize duração/dimensões fora do padrão antes de conformar.
  • CQ um quadro de cada clipe contra o roteiro antes de cortar.
  • Duração exata: apare/corte por batida no ffmpeg, não confie na sorte.

Erros comuns (cada um matou um corte real)

ErroResultado
Renderizações antes do roteiro"Oito batidas bonitas que não se causam"
Lore da comunidade na tela"Muito direto, fan-service"
Técnica mencionada pelo cliente como conceito"Eu disse para gerar ideias"
Sem plano de continuidadeProtagonista muda de rosto a cada corte
Uma geração de música de 40sO arco inverte no clímax
B-roll sobre um VO contínuo"Parece montagem / áudio não combina"
Voz fixada em N tomadas antes do usuário ouvirRe-renderizar tudo quando ele rejeitar
Clipes de cabeça falante unidos sem corteVoz sai do sync (avatar expande vídeo além do áudio)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas