Fluxo de Trabalho de Réplica de Vídeos Curtos Virais (Artista) v6.1
Caminho Portátil
Considere o diretório que contém este SKILL.md como SKILL_DIR. Este pacote inclui backends para análise de vídeo, extração de legendas e ASR em vendor/watch/. Nos exemplos de comando, use o caminho portátil abaixo:
SKILL_DIR="<caminho completo para o diretório que contém este SKILL.md>"
Limite de Entrega
Por padrão, entregue: evidências de referência, fatos do produto, trava visual de produto/estilo, contrato de réplica legível por máquina, roteiro segundo a segundo, definição de personagem, storyboards independentes, plano de movimento quadro a quadro, prompts do Seedance divididos por duração do modelo e relatório de validação pré-geração.
A menos que o usuário solicite explicitamente, não gere vídeos, consuma créditos, exporte produtos finais ou publique. Quando o usuário solicitar explicitamente a produção completa, primeiro passe pelo portão de qualidade pré-geração e, em seguida, leia completamente o ramo de produção completa do VidMuse; conteúdo sem suporte de evidências reais deve ser marcado como "inferência criativa".
Entrada Mínima
- Fonte de referência (escolha uma): caminho local completo ou URL pública de um vídeo de referência, ou especifique claramente "referência inteligente ao banco de casos virais históricos".
- Captura de tela ou dados detalhados do produto; produtos físicos devem ter imagens claras suficientes para bloquear forma, proporção, cor, material, estrutura e logotipo. Apenas com páginas de cupons/benefícios, não invente ângulos de produtos físicos não mostrados.
- Imagem de referência de estilo ou vídeo de referência que possa servir como evidência de estilo; sem uma imagem de estilo independente, use explicitamente o vídeo original como fonte de estilo, não o transforme em um genérico "de alto padrão".
- Modo de réplica e densidade de batida; se o usuário não especificar e escolhas diferentes alterarem o resultado, pergunte apenas uma vez.
Especificações padrão: 9:16, mandarim padrão, cada clipe de 1 a 15 segundos. Ao escrever tabelas de IA, o total de anexos (personagens, storyboards, áudio e produto) não deve exceder 9. A réplica visual de alta fidelidade segue a duração completa do vídeo original por padrão; os outros dois modos, quando não especificados, usam 30 segundos. Não remova a reviravolta original para ajustar dois segmentos.
Banco de Casos Virais Vetoriais Integrado (Modo de Referência Inteligente)
O arquivo knowledge_base/index.sqlite3 desta skill é um banco de dados de seed pronto para uso imediato: contém apenas casos de projetos oficiais, não conversas privadas, chaves de API, cookies ou vídeos originais. Ele usa um vetor hash local fixo de 2048 dimensões para caracteres chineses e tags de mecanismo, sem chamar serviços pagos de embedding.
Quando o usuário fornecer apenas cupons/produtos, ou solicitar explicitamente a seleção inteligente de referências de casos virais históricos, você deve primeiro pesquisar o banco de vetores local, não escolher casos aleatoriamente com base na memória. Na primeira instalação, pesquise diretamente, sem necessidade de construir o banco primeiro:
python3 "${SKILL_DIR}/scripts/viral_library.py" search \
"<requisito criativo completo>" \
--top-k 5 \
--out "<diretório do projeto>/00_historical_match.md"
Combine produto, público, cenário de uso, mundo visual, relacionamento entre personagens, emoção alvo, densidade de batida e benefícios confirmados em uma consulta completa; não apenas o nome do produto. Os resultados da pesquisa fornecerão IDs de caso; para ler o texto completo arquivado do caso no banco, execute:
python3 "${SKILL_DIR}/scripts/viral_library.py" show "<case_id>" \
--out "<diretório do projeto>/00_historical_case.md"
Após concluir a análise, roteiro, storyboard ou revisão de um novo vídeo e colocá-lo no workspace outputs/, atualize o índice local do usuário. Este índice mescla o banco de seed integrado por padrão e o usa com prioridade na busca:
python3 "${SKILL_DIR}/scripts/viral_library.py" build \
--workspace "<caminho completo do workspace de vídeos virais>"
Em buscas subsequentes, adicione --workspace "<caminho completo do workspace de vídeos virais>" para pesquisar o banco combinado "casos integrados + novos casos do usuário".
Por padrão, não indexe conversas privadas do Codex. Só adicione --include-chats se o usuário solicitar explicitamente a criação de um banco privado local; bancos de dados que incluem chats não podem ser distribuídos externamente.
O relatório de pesquisa deve fornecer: uma referência principal, um template de produção reutilizável, no máximo duas referências candidatas, o mecanismo acionado, caminhos rastreáveis para análise/roteiro/prompts/storyboards, se o vídeo original está disponível atualmente, e as lições de falha que devem ser aprendidas desta vez. Regras de execução:
- Quando
decision=insufficient_match, pare de forçar o template e solicite um novo vídeo de referência ou faça apenas uma inferência de mecanismo original. - Casos com
quality_status=blockednão podem ter seus roteiros, prompts ou storyboards reutilizados; se houver uma análise confiável do vídeo original, apenasreference_analysis_onlypode ser reutilizado, e sua revisão de QC deve ser lida como um portão negativo. quality_status=unknownnão significa sucesso; significa apenas que o material histórico não tem conclusão de nível de publicação; todos os portões de qualidade ainda devem ser cumpridos durante esta criação.- O banco de seed não carrega vídeos originais ou ativos de máquina original; apenas o timestamp, hash, análise, roteiro e lições de falha arquivados no banco podem ser citados; não afirme que o vídeo original foi revisado novamente nesta rodada.
- Mesmo que o banco local do usuário contenha explicitamente chats históricos, o peso do chat ainda é menor que o dos artefatos formais do workspace e não pode substituir as evidências de análise.
- A pesquisa é apenas para selecionar mecanismos e ativos; não concatene roteiros antigos diretamente. Ainda é necessário entrar na competição criativa da fase três, no teste de exclusão do produto, na leitura em mesa e no contrato de história schema v4.
Quando o usuário fornecer um novo vídeo de referência, você ainda pode usar este banco para pesquisar casos semelhantes e lições de falha como auxílio, mas a identidade da referência principal, duração e SHA-256 devem ser baseados na leitura real do novo vídeo desta rodada.
Fase Zero: Bloquear Modo, Mundo Visual e Identidade do Material
Antes de gerar roteiro ou storyboard, produza:
Modo desta vez: Réplica Visual de Alta Fidelidade / Migração de Mecanismo Viral / Réplica Comercial Híbrida
Densidade de Batida: Seguir o Original / Densidade Padrão / Alta Densidade de Reviravoltas
Escopo de Produção: Pacote de Material / Entrega de Tabela de IA / Vídeo Completo
Tipo de Movimento: Dominado pela Referência / Performance de Atuação / Anúncio de Movimento Contínuo
Razão Inferida:
Restrições Rígidas do Mundo Visual:
Leia completamente o references/três modos de réplica.md. Apenas um modo pode ser executado. A mídia, direção de IP ou mundo visual especificados pelo usuário são restrições rígidas globais e não podem ser invalidadas por "permitir substituição de personagens/cenas"; por exemplo, CG artístico histórico não pode ser alterado para drama romântico moderno realista.
Antes de executar backends, releia o caminho absoluto ou URL fornecido pelo usuário desta vez. É proibido selecionar outros materiais com base em nomes de arquivo semelhantes.
Fase Um: Executar Backend de Evidências
O contrato do backend está em references/backend_contract.md. Primeiro, verifique a configuração do Alibaba Cloud:
python3 "${SKILL_DIR}/scripts/configure_asr.py" --check
Se faltar configuração, execute o comando abaixo; a chave deve ser lida via entrada oculta, não colocada na linha de comando, em arquivos de skill ou em relatórios:
python3 "${SKILL_DIR}/scripts/configure_asr.py" \
--endpoint "<Alibaba Cloud Business Space compatible-mode/v1 Endpoint>"
Prepare as evidências de referência:
python3 "${SKILL_DIR}/scripts/prepare_reference.py" "<vídeo de referência>" \
--out-dir "<diretório do projeto>"
Este script deve concluir:
- Bloqueio do caminho absoluto do material local, nome do arquivo, SHA-256, duração, proporção de tela e parâmetros de áudio/vídeo.
- Extração de quadros-chave de todo o filme e extração densa de quadros dos primeiros 3 segundos a 2fps sem deduplicação.
- Geração adicional de uma linha do tempo fixa de 0,5 segundos para todo o filme; mesmo com cenas estáticas, nenhuma deduplicação.
- Uso forçado do Alibaba Cloud Business Space, não do Groq padrão.
- Transcrição separada com
paraformer-v2eparaformer-v1, gerando timestamps. - Quando os resultados dos dois modelos forem inconsistentes, marcar como "precisa de revisão", não tratar diretamente como diálogo de personagem.
Primeiro, visualize quadro a quadro os quadros de 0,5 segundos fixos listados em watch/timeline_0_5s/timeline_manifest.json de todo o filme; depois, visualize os quadros-chave da cena. Deve-se registrar no contrato de réplica o número de quadros visualizados e o timestamp da última visualização; visualizar apenas quadros-chave de cena pode perder longas pausas, performances estáticas no final e finais cíclicos. Após encontrar movimentos contínuos enganosos, ações rápidas ou reversões espaciais, execute para cada cluster de reversão:
python3 "${SKILL_DIR}/vendor/watch/scripts/watch.py" "<vídeo de referência>" \
--detail balanced --start <início> --end <fim> \
--fps 2 --no-dedup --resolution 1024 --no-whisper \
--out-dir "<diretório do projeto>/watch/reversal_<número>"
"Análise quadro a quadro" desta skill significa: visualizar quadro a quadro a linha do tempo fixa de 0,5 segundos de todo o filme, visualizar quadro a quadro os quadros-chave da cena, e visualizar quadro a quadro os quadros densamente extraídos dos primeiros três segundos e clusters de reversão. O watch é no máximo 2fps; não se pode afirmar que cada quadro de codificação original do vídeo foi visualizado. Quando o usuário solicitar explicitamente uma revisão de quadro completo a 30fps, deve-se explicar que isso requer um fluxo separado de visão computacional de quadro completo.
ASR apenas prova que o som foi reconhecido, não prova automaticamente a identidade do falante. O diálogo deve ser verificado usando os resultados de ambos os modelos ASR, legendas visíveis, movimento dos lábios e ação na tela; letras de fundo e diálogo de personagem devem ser registrados em colunas separadas.
A Fase Um deve produzir:
00_source_manifest.jsone00_reference_evidence.md.- Duração do vídeo, proporção de tela, número de quadros extraídos, modelo de transcrição e status da transcrição.
- Tabela de diálogo com timestamps; cada linha marcada como diálogo de personagem/letra/efeito sonoro/precisa de revisão.
- Tabela de planos com timestamps: plano, personagem, ação, expressão, direção do olhar, relação espacial, movimento de câmera e som.
- Evidência segundo a segundo dos primeiros 3 segundos, mudança de informação segundo a segundo nos clusters de reversão, tempo de primeira aparição da marca e ponto de memória final.
Se a música, som de vento, impacto, som de desligamento ou som cíclico do vídeo original fizer parte da reviravolta, liste timestamps separados na tabela de som. Quando for necessário fornecer o áudio original ao modelo de vídeo, use scripts/extract_reference_audio.py para extrair a faixa de áudio mixada única do vídeo original; deve-se explicar que ela pode conter música, diálogo e efeitos sonoros simultaneamente, não afirmar que o áudio puro foi separado.
Fase Dois: Extrair Mecanismo, Tabela de Fatos e Trava Dupla de Produto/Estilo
Deve-se responder: Por que parar no primeiro segundo? Por que continuar assistindo? Qual é o julgamento inicial? Onde o poder/causalidade/significado do objeto/verdade espacial muda? Por que o produto se torna a resposta para o enredo? Por que vale a pena ver os últimos 3 segundos?
Corte de cena, mudança de ângulo, explosões repetidas ou gritos contínuos não contam como reviravolta. Alta densidade de reviravoltas é usada apenas para clusters de reversão já detectados; dentro do cluster, pelo menos uma variável efetiva deve ser adicionada por segundo, um nível deve ser atualizado a cada 2-3 segundos, e a mudança subsequente deve ser causada pela anterior.
A tabela de fatos do produto deve incluir pelo menos: nome do produto, preço de venda, benefícios, lojas aplicáveis, período de venda, período de uso, método de resgate, restrições e regras de reembolso. Cada item deve ser marcado com a fonte do material e o status de confirmação. Não transforme um voucher de qualificação em produto gratuito; não adicione preços, quantidades, datas e restrições que não podem ser vistos ou fornecidos.
Ao mesmo tempo, crie 02_visual_lock.md:
- Trava de Produto: liste o caminho relativo, SHA-256 e uso de cada ativo de referência do produto; bloqueie forma, proporção, cor, material, estrutura e logotipo item por item. Para lados, verso, interface, texto da embalagem, etc., sem evidência, execute uniformemente
do_not_invent. - Trava de Estilo: extraia luz, cor, composição, linguagem de câmera, personagem, cenário e textura do material da referência de estilo ou do vídeo original; gere um
lock_idúnico e um prompt de estilo reutilizável; cada prompt de Clip deve incorporar literalmente este prompt elock_id. - Itens proibidos registram apenas o material desta vez e os estilos conflitantes explicitamente solicitados pelo usuário. Quando o vídeo original é neon ou cyberpunk, não aplique proibições genéricas.
Esta etapa apenas bloqueia evidências, não concebe ideias criativas. Os ativos de referência do produto devem ser copiados para o diretório do projeto e vinculados a um hash; quando existem múltiplos ângulos, rotule os usos separadamente; não substitua imagens de produto originais por imagens inferidas por IA.
Fase Três: Sala de Competição Criativa e Portão de Leitura em Mesa
Proibido escrever roteiro segundo a segundo imediatamente após assistir ao vídeo de referência. Primeiro, decomponha o vídeo de referência em DNA de mecanismo: gancho de abertura, pergunta do público, julgamento inicial, motor de conflito, mecanismo de reviravolta, recompensa emocional e ponto de memória final. Aqui, apenas herde o mecanismo de disseminação, não copie o diálogo superficial.
Rodada de Roteirista: escreva pelo menos 5 conceitos de história verdadeiramente diferentes; quando o usuário solicitar explicitamente "anúncio dinâmico de alto orçamento" ou motion_profile=continuous_motion_ad, escreva 10. Cada conceito deve alterar pelo menos dois dos seguintes: relação entre personagens, origem do conflito, escolha do personagem, intervenção do produto, forma de reviravolta ou desfecho final. Cada conceito deve incluir: história em uma frase, conflito, escolha do personagem, consequência visível, reviravolta inesperada, evidência prévia, papel dramático do produto e pagamento final; anúncios de movimento contínuo também devem descrever em uma linha os 6-8 nós de ação contínua: "início do personagem → intervenção do produto → mudança ambiental → atualização de ação → clímax → encerramento do produto". É proibido falsificar múltiplas opções apenas trocando palavras ou roupas.
Rodada de Edição: pontue cada conceito: gancho dos primeiros 3 segundos 20, causalidade 25, novidade 20, causalidade do produto 15, herança de mecanismo de referência 10, capacidade de geração por IA 10. Anúncios de movimento contínuo também comparam intensidade dinâmica, impacto visual, continuidade de movimento, relação personagem-produto, integridade narrativa e capacidade de execução por clipe, sem alterar a pontuação principal de 100 pontos do contrato. Conceitos selecionados devem ter pontuação total de pelo menos 85 e nenhuma rejeição firme; conceitos não selecionados devem ter o motivo da eliminação escrito claramente. A rodada de edição pode rejeitar todos os conceitos e solicitar reescrita. Qualquer um dos itens a seguir é uma rejeição firme: personagem sem motivação para mudar, narração de lista de produtos, história ainda funciona sem o produto, magia sem prenúncio, objeto sem origem, narração substituindo ação-chave, slogan no final substituindo pagamento do enredo; anúncios de movimento contínuo também rejeitam personagem apenas posando/andando devagar, apenas trocando de fundo ou usando movimento de câmera para fingir ação do sujeito.
Eleve o conceito selecionado para narrative_qc.story_chain e faça a leitura em mesa. Para cada etapa da história, responda: o que o público está questionando agora? O que este shot adiciona? Quem tomou uma decisão ou reagiu? Qual ação visível impulsiona a próxima etapa? O ator consegue completar naturalmente o tempo alocado? O diálogo deve ser lido em voz alta e cronometrado, e o "teste de exclusão do produto" deve ser executado; se a história ainda funcionar sem o produto, retorne à sala de criatividade. Não prossiga para o roteiro segundo a segundo até que todas as questões da leitura em mesa sejam resolvidas.
Escreva o DNA do mecanismo, os 5 candidatos, as pontuações item por item, as rejeições firmes, os motivos de seleção/eliminação e os resultados da leitura em mesa no contrato creative_room. O portão da máquina apenas verifica evidências e condições de entrada; não pode afirmar que o sucesso viral é garantido antes da publicação; a retenção nos primeiros três segundos, a taxa de conclusão e os dados de interação após a publicação é que verificam o resultado da disseminação.
Fase Quatro: Livro Razão de Batidas do Original, Contrato de Réplica e Mapeamento Único
Primeiro, escreva cada mudança de causalidade, poder, significado do objeto, verdade espacial e relação cíclica do vídeo original como um livro razão de batidas Rxx ordenado por tempo. No modo de alta fidelidade, nós adjacentes de causa e efeito, como crítica → julgamento errado → ataque → revelação do objeto → desculpas → segundo erro operacional → revelação espacial → ciclo final, não podem ser mesclados, reordenados ou excluídos; o produto só pode entrar em posições que o usuário explicitamente permitiu substituir.
No topo do 03_structure_mapping.md, escreva o modo, densidade de batida, restrições rígidas do mundo visual, o que deve ser mantido e o que pode ser substituído. Estabeleça uma cadeia única:
R01 (evidência do original) → S01 (roteiro do novo) → B01 (arquivo de storyboard) → P01 (parágrafo do Seedance)
Cada novo plano deve preencher: timestamp de referência, timestamp do novo, função psicológica/visual do original, o que deve ser mantido, o que pode ser substituído, arquivo de storyboard e parágrafo de prompt. Não use "parece igual" no lugar de fatos verificáveis.
Ao mesmo tempo, crie o 08_replica_contract.json no schema v4 de acordo com a especificação de contrato de réplica JSON. Primeiro, use brief_alignment para bloquear o modo original do usuário, duração original, production_scope e valor final de execução; qualquer alteração deve obter confirmação explícita do usuário e registrar o motivo; é proibido alterar silenciosamente o contrato para passar na validação. O contrato deve cobrir todos os Rxx dos arquivos de análise e vincular cada batida a um Sxx, Pxx, arquivo de storyboard e production_design.motion_beats únicos. Não gere imagens ou escreva tabelas de IA antes que o contrato seja concluído. O schema v3 antigo só pode ser usado para revisão de pacotes históricos; novos projetos não podem continuar criando v3.
O contrato usa schema_version=4. Primeiro, complete creative_room e selecione a única opção que passa pela nota 85 e pelo portão de leitura em mesa; depois, complete narrative_qc.story_chain e o storyboard: o primeiro passo deve ser uma pergunta, o meio deve ter uma escolha do personagem e consequências visíveis, o último passo deve responder à pergunta inicial; cada passo é conectado a passos anteriores por caused_by. O produto deve assumir pelo menos um dos papéis: evidência, aposta, gatilho, obstáculo ou ferramenta de solução. Por padrão, allows_unexplained_magic=false; se o usuário especificar explicitamente um mundo de fantasia, só então pode ser definido como true, e cada mudança sobrenatural ainda deve ser acionada pela ação anterior. Sem escolha do personagem, "o cupom de repente se torna ativo", "a multidão aparece de repente", "a celebração começa de repente" são considerados quebra de causalidade e devem ser reescritos.
Ao mesmo tempo, preencha:
dialogue_requirements: pelo menos uma frase ou palavra-chave perdível para cada Clip não silencioso.prop_continuity_requirements: evento de aparição, entrega/uso e resultado do objeto-chave.director_requirements: ponto de memória final e arco de performance do personagem "início → virada → resultado".finale_policy: só pode escolherstory_actionousource_fact_card. O primeiro requer que a ação/re ação final seja visível nos últimos 3 segundos; o segundo permite que a resposta do enredo seja entregue primeiro, depois use uma imagem real de fato fornecida pelo usuário para encerrar, bloqueando o arquivo de origem e o tempo de início/fim.production_design: registre os ativos de referência do produto e seus hashes, seis características imutáveis, trava de estilo, status da música, tipo de movimento, e para cada Pxx: estado inicial → ação do personagem → ação do produto → reação do ambiente → movimento de câmera → mudança de velocidade → estado final → gatilho de transição → ponto de sinalização musical.
Cada batida de movimento é conectada por handoff_in/handoff_out em uma cadeia única de START a END, e use product_visibility=visible/withheld_for_reveal para distinguir entre exposição real e revelação adiada pelo enredo; apenas batidas visible forçam a vinculação do ativo do produto no prompt. Planos dinâmicos devem passar pelo teste "após remover o movimento de câmera, o personagem ou ambiente ainda tem movimento significativo"; estática intencional só é permitida com evidência do original, acúmulo inicial curto ou encerramento do logotipo do produto, com motivo explicado. Ações complexas devem vincular pelo menos três quadros-chave: início, meio e fim. Anúncios de movimento contínuo devem ter pelo menos três níveis diferentes de atualização dinâmica, com o nível mais alto não inferior a 4.
Execute de acordo com o modo:
- Réplica Visual de Alta Fidelidade: mantenha a ordem dos planos, proporção de duração, plano, posição da câmera, movimento de câmera, direção da ação, transição, estrutura da cena e luz/cor.
- Migração de Mecanismo Viral: mantenha o ponto de parada, caminho de julgamento errado, mudança de poder, nível de reviravolta, atualização causal e ponto de memória final; não requer semelhança visual quadro a quadro.
- Réplica Comercial Híbrida: reconstrua o conflito comercial nos segundos 0-3; após 3 segundos, restaure a ordem dos planos, proporção de duração e batida visual do original.
Não aplique regras de aceitação adicionais de outros modos.
Fase Cinco: Escrever Roteiro Segundo a Segundo com Base na Cadeia Causal Original e Dividir Dinamicamente em Clipes
Primeiro, complete o roteiro segundo a segundo inteiro; depois, divida-o em Clips em posições que não cortem o diálogo ou a causalidade da reviravolta. Cada clipe deve ter de 1 a 15 segundos, cobrindo continuamente a duração alvo a partir do segundo 0. Cada clipe pode ter no máximo 3 unidades executáveis; clipes de drama podem ter no máximo 2 unidades de fala e 1 linha de fato principal do produto. Cada unidade de tempo deve usar uma tabela Markdown analisável, com a coluna de tempo podendo estar nas três primeiras colunas, no formato início-fim, e deve especificar Sxx/Pxx, plano, movimento de câmera, posição esquerda/direita/frente/trás do personagem, direção do corpo e olhar, falante e ouvinte, ação das mãos e corpo, início/mudança/resultado da expressão, diálogo em mandarim, sincronização labial, âncora de continuidade e som.
Imediatamente após a conclusão do roteiro, execute a análise automática, sem relatar manualmente o número de segundos de fala, caracteres chineses e batidas:
python3 "${SKILL_DIR}/scripts/analyze_script.py" \
"<diretório do projeto>" --out "<diretório do projeto>/07_script_analysis.json"
O programa calcula a duração mínima de fala com base em 4,2 caracteres/segundo; o diálogo dramático pode ocupar no máximo 60% do Clip, a narração de montagem no máximo 75% e a leitura de poemas antigos no máximo 92%. Ele também rejeitará unidades sobrecarregadas, excesso de rodadas de fala, diálogo em formato de lista de produtos, colocação do produto nos primeiros 30% sem permissão e magia inexplicada. Se ocorrer um erro, não gere imagens.
Em princípio, a venda forçada do produto não deve ocorrer nos primeiros 30%. O produto deve resolver o problema do enredo na parte intermediária/final através de benefícios confirmados; quando o produto é usado como gancho do primeiro segundo no original, só é permitido colocá-lo no início se o usuário solicitar explicitamente e os fatos do produto estiverem completos. O final deve ter ação, reação do grupo ou segunda reviravolta por padrão. Apenas quando finale_policy.type=source_fact_card é permitido usar 1-2 segundos da imagem real do produto/benefício para encerrar, após o problema do enredo já ter sido visivelmente resolvido, com duração máxima de 2,5 segundos; é proibido usar imagens regravadas por IA ou pôsteres estáticos não vinculados ao arquivo de origem para substituir a entrega do enredo.
Fase Seis: Definição de Personagem e Storyboards Independentes
Antes da primeira geração de imagem, leia completamente a descrição da skill imagegen instalada no ambiente Codex atual; use a image_gen embutida por padrão, não altere para CLI/API sem permissão.
- Gere primeiro a imagem unificada de definição do personagem: frente, lado, costas e expressões-chave.
- Use a definição do personagem como referência de identidade para todas as imagens de enredo.
- Cada storyboard chama a geração de imagem uma vez separadamente; é proibido usar grades 3x3, colunas de quadrinhos ou colagens no lugar de storyboards independentes.
- Salve cada imagem no diretório do projeto e verifique uma a uma: personagem, cena, objeto, direção da ação, interlocutor, sem legenda/QR code/texto irrelevante (exceto lista de permissões) e proporção 9:16.
- O quadro final/inicial de Clips adjacentes deve reutilizar o mesmo arquivo ou uma cópia com pixels idênticos; a posição, postura, orientação, objeto, tempo e luz do personagem devem ser consistentes.
- Quando o usuário especificar que textos precisos devem aparecer (leque, placa, embalagem), apenas esses textos na lista de permissões são permitidos; escreva caractere por caractere no prompt de geração e, após a geração, use
view_imagepara verificar visualmente, confirmando que não está espelhado ou errado, antes de escrever no contratovisual_text_requirements. Neste ponto, é proibido continuar usando restrições conflitantes como "a imagem não deve conter nenhum texto". - Ações complexas geram quadros-chave de início, meio e fim separadamente; os ativos de referência apenas bloqueiam identidade, produto e estado; não bloqueie a postura do personagem. Os quadros-chave só podem ser usados como entrada para o modelo de vídeo, não como quadro dinâmico final.
Cada storyboard deve ser vinculado a: ID do plano, ponto no tempo, timestamp de referência, propósito visual, plano/posição da câmera/composição, três estados de ação e prompt de geração.
Fase Sete: Prompts do Seedance
Para cada clipe, produza um bloco de código copiável inteiro, contendo: proporção de tela, duração exata, trava de produto, lock_id de estilo com prompt de estilo reutilizável completo, função das imagens de referência, plano segundo a segundo, ação, objeto do diálogo, sincronização labial em mandarim, continuidade de início/fim e limitações negativas.
O prompt deve listar no início os nomes dos arquivos anexos reais deste segmento e sua função; no corpo, cada Pxx deve novamente escrever o nome do arquivo de storyboard correspondente. Não escreva apenas "consulte anexos". Se a música ou efeito sonoro original for usado, o contrato deve registrar separadamente o intervalo de extração do original e o intervalo de uso no alvo; o prompt deve escrever o nome do arquivo de áudio, o tempo de início/fim alvo e "não troque por outra música". "BGM do mesmo segmento do original" não pode substituir o nome do arquivo.
Exceto para textos especificados na lista de permissões do contrato, a imagem não deve gerar legendas, inglês, QR codes ou informações irrelevantes. No modo de alta fidelidade e híbrido comercial, escreva por ID do plano a ordem, duração, posição da câmera, movimento de câmera, direção da ação e transição; no modo de migração de mecanismo com alta densidade, forneça primeiro a tabela de batidas segundo a segundo e, em seguida, escreva os prompts na mesma ordem.
Cada Pxx deve reafirmar item por item a cadeia de movimento do contrato: estado inicial, ação contínua do personagem, movimento do produto, reação do ambiente, movimento espacial da câmera, mudança de velocidade, estado final, transição acionada por ação e ponto de sinalização musical. Um plano único deve ter apenas uma ação principal do personagem e um movimento principal da câmera; quando a ação do personagem é complexa, simplifique o movimento da câmera; quando o movimento da câmera é complexo, simplifique a ação do personagem. É proibido usar aproximação da câmera, zoom digital, substituição de fundo ou corte rápido para fingir eventos dinâmicos.
Fase Oito: Entrega Opcional de Tabela de IA
Execute apenas se o usuário solicitar explicitamente a escrita na tabela de IA. Primeiro, use a skill do DingTalk para ler a Base real, subtabela, campo e registro alvo; adicione os campos de vídeo automático, fórmula, custo e resultado de geração ao contrato aitable_handoff.protected_field_ids. A escrita só é permitida nos campos de prompt e anexo; cada registro pode ter no máximo 9 anexos no total (imagens de personagem, storyboards, áudio e produto), e os slots devem ser reservados primeiro para imagens de personagem e áudio antes de decidir o número de storyboards. Ao atualizar anexos, leia primeiro os anexos atuais e faça uma substituição completa de preservação; é proibido enviar apenas novos arquivos, fazendo com que os antigos sejam perdidos. Após escrever cada registro, leia-o de volta: prompt referenciado, nomes/número de anexos, valores originais dos campos protegidos devem ser mantidos; não clique no botão de geração inadvertidamente. Após a geração, quando o usuário solicitar, leia de volta um a um: ID do registro → ID do Clip → arquivo/link do resultado → duração real → resolução → status de conclusão; após o download, monte apenas na ordem de tempo do Clip do contrato, não por ordem de download ou posição da linha da tabela.
Fase Nove: Entrega Após Validação
Use o template de checklist de qualidade pré-geração para concluir a inspeção de qualidade; em seguida, execute o portão total de qualidade pré-geração:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<diretório do projeto>" --stage pre-generation \
--out "<diretório do projeto>/07_quality_gate_pre_generation.json"
Apenas com decision=allow_generation pode-se gerar imagens ou escrever tabelas de IA. O portão total executa simultaneamente a validação do contrato/ativos e a análise automática do script; em caso de falha, forneça o nível para o qual deve retornar. --legacy só pode ser usado para verificar pacotes antigos, não como base para entrega de novos projetos.
Quando o usuário solicitar explicitamente o uso do VidMuse para concluir a geração, edição e exportação, só entre no ramo de produção completa do VidMuse após obter allow_generation aqui. Este ramo deve primeiro ler em tempo real a conta, créditos, modelo disponível e parâmetros de geração; depois, calcular o orçamento incluindo a franquia de regeração de planos com problemas; não presuma o nome do modelo, preço, duração e capacidade de linha do tempo apenas com base neste documento ou em registros históricos. Pare aqui se não houver solicitação explícita de geração.
Após o usuário fornecer os clipes gerados, execute a validação estrutural:
Primeiro, crie 09_delivery_manifest.json para os clipes de vídeo retornados da tabela de IA, registrando apenas clip_id e arquivo real na ordem do contrato:
{"outputs":[{"clip_id":"clip01","file":"renders/clip01.mp4"}]}
O formato do manifest pós-geração está na especificação de manifests de qualidade pós-geração. Prepare o manifest da tabela de IA, o manifest candidato de ASR e as evidências do diretor Watch; antes da montagem, execute:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<diretório do projeto>" --stage pre-stitch \
--delivery-manifest "<diretório do projeto>/09_delivery_manifest.json" \
--asr-manifest "<diretório do projeto>/10_asr_manifest.json" \
--director-manifest "<diretório do projeto>/11_director_qc.json" \
--out "<diretório do projeto>/12_quality_gate_pre_stitch.json"
Apenas com decision=allow_stitch pode-se montar. Ele rejeitará segmentos faltantes, ordem errada, segmentos duplicados, erro de duração, não 9:16, sem faixa de áudio, perda de fala-chave, etapas da história invisíveis, arco de performance ausente, objeto sem origem, falha de continuidade, ponto de memória final ausente, itens de rejeição firme ou pontuação do diretor abaixo de 85.
Para clipes de alta fidelidade, execute também a validação estrutural contra o referência:
python3 "${SKILL_DIR}/scripts/validate_render.py" \
"<original>" "<render>" --out "<diretório do projeto>/QC/render"
Se a duração total do render, densidade de mudança de plano, energia mediana do áudio ou dinâmica de baixa percentil do áudio não atingirem o limite, determine diretamente como "não alinhado"; não chame de alta fidelidade apenas porque o evento principal do enredo aparece. A dinâmica de baixa percentil é usada para detectar casos em que o volume geral é aceitável, mas as áreas críticas (explosão, impacto, música de transição) estão realmente ausentes. Em seguida, visualize todos os quadros de 0,5 segundos gerados pelo script e verifique o diálogo do contrato palavra por palavra com o ASR candidato.
Independentemente do modo, cada clipe retornado pela tabela de IA também deve ser verificado individualmente quanto à duração real vs. duração do contrato (erro não superior a 0,5 segundos), continuidade do personagem/objeto, cada etapa causal em narrative_qc e a ordem dos clipes; qualquer falha conta apenas como "resultado de geração", não pode ser montado ou publicado.
Após a montagem, execute novamente o prepare_reference.py no MP4 final, gravando o ASR de modelo duplo e a linha do tempo fixa de 0,5 segundos em um diretório de QC independente; não copie manualmente o ASR por segmento para fingir o ASR do clipe final montado. De acordo com a especificação de manifests de qualidade pós-geração, crie 13_final_manifest.json, onde o vídeo final, arquivo de evidência ASR e imagem de fato real devem ser vinculados com SHA-256. Em seguida, execute para todos os modos:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<diretório do projeto>" --stage pre-publish \
--delivery-manifest "<diretório do projeto>/09_delivery_manifest.json" \
--asr-manifest "<diretório do projeto>/10_asr_manifest.json" \
--director-manifest "<diretório do projeto>/11_director_qc.json" \
--final-manifest "<diretório do projeto>/13_final_manifest.json" \
--out "<diretório do projeto>/14_quality_gate_pre_publish.json"
Apenas com decision=allow_publish pode-se chamar de "publicável". O portão final lê de fato a duração, proporção de tela, faixa de áudio e hash do clipe montado, carrega resultados de pelo menos dois modelos diferentes do arquivo de evidência ASR e verifica a similaridade de pixels do cartão de fato no render. Quando os dois modelos ASR são inconsistentes, uma pessoa que realmente ouviu a faixa de áudio do render deve preencher o revisor, hora, ID de diálogo confirmado e motivo; o modelo ou resultado ASR em si não pode marcar human_audio_qc como aprovado. O modo de alta fidelidade também requer --render-validation como um portão adicional de alinhamento estrutural com o original.
Diretório de Entrega Padrão
outputs/<nome do projeto>/
├── 00_source_manifest.json
├── 00_reference_evidence.md
├── 01_reference_analysis.md
├── 02_product_facts.md
├── 02_visual_lock.md
├── 03_structure_mapping.md
├── 04_script.md
├── 05_seedance_prompts.md
├── 06_pre_generation_qc.md
├── 07_script_analysis.json
├── 07_quality_gate_pre_generation.json
├── 08_replica_contract.json
├── 09_delivery_manifest.json (pós-geração)
├── 10_asr_manifest.json (pós-geração)
├── 11_director_qc.json (pós-geração)
├── 12_quality_gate_pre_stitch.json (pós-geração)
├── 13_final_manifest.json (pós-montagem)
├── 14_quality_gate_pre_publish.json (pós-montagem)
├── asr/
├── audio/ (quando precisar de música ou efeito sonoro do original)
├── watch/
├── character/character_sheet.png
└── storyboard/ (cada PNG independente; ao escrever tabela de IA, deve-se reservar slots para imagens de personagem, áudio, etc., no máximo 9 anexos no total)
Consulte o template em templates/template_de_chamada.md.
Limite de Revisão de Clipe Final
Quando o usuário fornecer o clipe final posteriormente, primeiro execute o ASR de modelo duplo e o portão total pre-publish no MP4 final; no modo de alta fidelidade, execute também validate_render.py. Em seguida, confirme se o objetivo é "verificação de correspondência" ou "avaliação de qualidade". A verificação de correspondência compara a linha do tempo fixa do original, roteiro, storyboard, prompts, timestamps do clipe final e ASR candidato; não use adjetivos de qualidade no lugar de evidências de cadeia de planos. Uma única expressão exagerada em um quadro não equivale a alinhamento de performance; deve-se verificar o início, mudança e resultado da expressão; quando um novo objeto aparece, deve-se ver a ação de pegar, entregar ou transformar.