Communitygithub.com

Collage Video Studio

Habilidade de produção de vídeo estilo colagem de papel, retomável e auditável, com backends de mídia reais, QA, recuperação e empacotamento.

O que é Collage Video Studio?

Collage Video Studio é uma habilidade especializada para assistentes de IA (como Claude Code, Cursor, Codex) que gerencia a produção completa de vídeos animados no estilo colagem de papel, desde o conceito inicial até a exportação final. Ela organiza todo o fluxo de trabalho em projetos retomáveis, mantendo a intenção criativa em um arquivo `project.json`, os resultados gerados em `state.json`, a execução dos provedores em manifestos JSONL e os artefatos de saída em diretórios como `media/`, `qa/`, `reports/` e `exports/`. A habilidade suporta três modos de entrada: `topic` (criação de narrativa e visuais a partir de uma ideia), `footage` (reestilização de vídeo existente mantendo áudio original) e `photo` (ancoragem de uma foto real em cenas geradas). O processo é dividido em etapas com portões de aprovação (Gate 1: história, Gate 2: direção visual), seguidos pela produção de mídia usando backends reais como Replicate, com recursos avançados de motion design, motion determinístico em camadas, composição editorial, verificação de qualidade técnica e empacotamento para entrega. A habilidade inclui scripts Python como `studio.py`, `project_ops.py`, `job_runner.py` e `external_media.py`, e depende de uma coleção de documentos de referência que definem padrões de produção, protocolos, sistemas de história, sistemas visuais e garantias de qualidade.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add DingYi1024/collage-video-studio

Perguntar na sua IA favorita

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

Documentação

O que Collage Video Studio faz?

Dirija uma produção como um projeto retomável. Mantenha a intenção criativa em project.json, resultados gerados em state.json, execução do provedor por trás dos manifestos JSONL e saída derivada em media/, qa/, reports/ e exports/.

Roteie a solicitação

Leia a conversa e inspecione qualquer diretório de projeto fornecido antes de pedir informações que o usuário já forneceu.

Intenção do usuárioAção
Iniciar, criar, fazerInicializar e rascunhar a história
Continuar, retomar, o que vem a seguirExecutar project_ops.py next e executar sua única ação
Status, bloqueado, falhouExecutar studio.py status --verbose, depois diagnosticar a menor unidade
Salvar, checkpointCriar um checkpoint imutável de projeto/estado
Voltar, restaurarListar checkpoints; restaurar apenas o selecionado pelo usuário
Auditar, verificar, pronto para publicarExecutar QA técnica, depois revisão criativa humana
Relatar, empacotar, entregarGerar um relatório fundamentado e um arquivo portátil
Adicionar ou alterar provedorLer o contrato do backend e implementar um adaptador

Se não existir projeto ou briefing utilizável, peça apenas a ideia/fonte, duração alvo e idioma. Use --aspect auto a menos que o usuário ou a plataforma alvo já fixe o quadro. Mostre a proporção de aspecto resolvida e o motivo na primeira revisão do mapa de batidas.

Selecione o modo de entrada

  • topic: criar narração e visuais a partir de uma ideia.
  • footage: reestilizar um vídeo de performance existente mantendo o tempo e o áudio original.
  • photo: ancorar uma foto real de retrato ou produto em cenas geradas.

Nunca altere a foto ou filmagem original.

Inicialize

Localize o diretório desta habilidade e execute:

python scripts/studio.py doctor
python scripts/studio.py init <dir-projeto> --mode topic \
  --topic "<tópico>" --duration 30 --aspect auto --language zh

Leia:

  • production-standard-v6.md primeiro para cada nova produção de portfólio; torna obrigatórios o filme Remotion formal, proveniência da produção, diversidade do filme inteiro, direção responsiva, prova de ação e prova de composição do projeto inteiro;
  • production-protocol-v5.md primeiro para cada nova produção; vincula cenários, storyboard, famílias de fontes, gasto do provedor, tempo, revisão, prova e invalidação em tempo de execução;
  • story-system.md antes de escrever batidas;
  • visual-system.md antes de escrever temas ou prompts;
  • layered-motion.md quando mover camadas independentemente ou paralaxe determinística for necessária;
  • advanced-layer-primitives.md antes de criar famílias de fontes registradas, sequências de pose, visibilidade persistente, tiras de loop ou campos de motivo semeados;
  • editorial-composition.md antes de criar grupos recursivos, gráficos de texto/dados editáveis, paralaxe acoplada à câmera ou planos de diretor responsivos;
  • semantic-contracts.md antes de gerar uma identidade nomeada, topologia espacial, explicação de mecanismo ou infográfico;
  • quality-gates.md antes de aceitar recortes ou cenas compiladas;
  • responsive-direction.md ao entregar mais de uma proporção de aspecto;
  • provider-lifecycle.md antes de geração paga, rejeição, recuperação, substituição ou reutilização deliberada de artefatos;
  • production-profiles.md antes de geração paga; define pisos de rascunho/equilibrado/profundidade total, orçamentos exatos de tentativas, impressões digitais de artefatos e invalidação de QA;
  • directed-motion.md antes de animar uma tomada em camadas de nível de portfólio; define ação primária, causa física, tempo de três fases, densidade e pausas;
  • motion-audit.md ao adicionar camadas seguidoras, travas de contato ou verificar saltos de transformação antes da entrega;
  • smooth-keyframes.md antes de animar pessoas ou objetos quando a reprodução fluida importa mais que o realismo anatômico;
  • articulated-rigs.md quando uma pessoa, animal ou mecanismo precisar de movimento conectado de ombro, cotovelo, asa, roda ou dobradiça;
  • locomotion.md antes de mover a raiz de um personagem articulado pelo quadro; define pés plantados alternados e revisão do ciclo de caminhada do corpo inteiro;
  • production-standard.md para animação de papel de nível portfólio, poses criadas, voz natural e qualidade de entrega de vídeo social;
  • production-closure.md para o editor Remotion, quadros exatos liderados por narração, execução semântica, pilhas de profundidade registradas e três tipos de prova;
  • voice-continuity.md antes de escrever, gerar ou aprovar narração;
  • delivery-qa.md antes de renderizar ou diagnosticar movimento irregular, caudas de tomada congeladas ou volume da mixagem final;
  • aspect-direction.md antes de fixar paisagem ou retrato;
  • project-schema.md ao editar arquivos ou backends;
  • operations.md ao retomar, recuperar ou executar trabalhos;
  • replicate-backend.md para o backend de produção incluído;
  • acceptance.md antes de declarar conclusão.

Portão 1 — aprovar a história

Preencha creative.arc, beats e shots.

Antes da aprovação, compile exatamente três cenários, aprove um limite exato e compile o storyboard rítmico:

Primeiro registre a decisão de intake do cartão de estilo versionado, proporção de aspecto e paralaxe:

python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
  --style <id-estilo> --parallax <none|restrained|cinematic> \
  --note "<decisão humana>" --output <dir-projeto>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
  --output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <perfil> \
  --note "<decisão humana>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
  build/scenarios.json build/scenario-decision.json \
  --output build/storyboard.json

Copie o limite selecionado para production.approved_visual_attempt_cap. O perfil é tanto um teto quanto um piso de execução. Não gaste reserva de recuperação automaticamente.

  • Torne a abertura compreensível em três segundos.
  • Dê a cada batida uma afirmação ou virada emocional.
  • Declare contratos semânticos para identidade, topologia, mecanismo e afirmações infográficas.
  • Dê a cada afirmação factual um momento de prova dentro da batida que a apresenta.
  • Dê a cada cena pelo menos três fases rítmicas contíguas e momentos de estabelecimento, ação/pico e prova final; a final permanece em ou após 0.82 normalizado.
  • Vincule som crítico e ação visual ao mesmo id de prova em um catálogo de eventos.
  • Defina transition_intent a partir de revelar, comparar, atravessar, explicar, enfatizar, mudar-tempo ou mudar-lugar; deixe o compilador escolher um mecanismo consistente.
  • Prefira contexto mais detalhe: duas tomadas variadas por batida narrada.
  • Mantenha tomadas de produção comuns entre 3 e 6 segundos.
  • Escreva element_motion concreto; não use "tornar dinâmico".
  • Para trabalho em camadas dirigido, adicione shot.direction.primary_action, physical_cause e motion_density. Uma tomada recebe uma ação primária legível.
  • Para footage, defina start_s e end_s da batida.
  • Para uma foto, defina source.anchor_policy.

Execute:

python scripts/studio.py validate <dir-projeto> --stage story

Mostre o mapa de batidas ao usuário. Não gere mídia antes da aprovação. Após a aprovação:

python scripts/studio.py approve <dir-projeto> --gate story --note "usuário aprovou"
python scripts/project_ops.py checkpoint <dir-projeto> --note "história aprovada"

Portão 2 — aprovar a direção visual

Crie exatamente três candidatos sob creative.candidate_themes. Faça-os diferir em meio, paleta, tipografia, textura, composição e caráter de movimento.

python scripts/studio.py jobs <dir-projeto> --stage styles

Execute cada pré-visualização na mesma batida representativa e registre cada resultado. Mostre todos os três juntos. Após o usuário escolher:

python scripts/studio.py choose-theme <dir-projeto> <id-tema>
python scripts/studio.py approve <dir-projeto> --gate style --note "usuário aprovou"
python scripts/project_ops.py checkpoint <dir-projeto> --note "direção visual aprovada"

Nunca substitua silenciosamente uma proporção de aspecto não suportada.

Produza mídia

Para cada etapa:

python scripts/studio.py jobs <dir-projeto> --stage images
python scripts/job_runner.py <dir-projeto> --stage images \
  --adapter <adapter.py> --dry-run
python scripts/job_runner.py <dir-projeto> --stage images \
  --adapter <adapter.py> --retries 1

Novos projetos de tópico e foto usam por padrão movimento em camadas determinístico. Use geração de imagem-para-vídeo apenas quando o usuário valorizar explicitamente a deformação criada pelo modelo sobre editabilidade e repetibilidade; repita as etapas de mídia para motion, voice e music.

Quando a solicitação exigir objetos de papel que se movem independentemente, paralaxe editável ou controle explícito de primeiro plano/meio/fundo, defina motion.pipeline como layered, então execute:

python scripts/studio.py jobs <dir-projeto> --stage layers
python scripts/job_runner.py <dir-projeto> --stage layers --adapter <adapter-consciente-de-camadas.py>
python scripts/studio.py jobs <dir-projeto> --stage motion
python scripts/job_runner.py <dir-projeto> --stage motion --adapter <adapter-consciente-de-camadas.py>

Leia layered-motion.md para o contrato de PNG transparente e layers.json. Não represente um keyframe achatado com zoom ou panorâmica de quadro inteiro como movimento multicamada. Para entrega suave, todos os novos projetos de produção usam 30 fps por padrão. Mantenha motion.frame_conversion: "auto" para que clipes de provedor abaixo do alvo sejam interpolados em movimento em vez de preenchidos com quadros duplicados. Use curvas contínuas para keyframes internos, escalone objetos de loop com phase_s e inspecione o MP4 em vez de um GIF de baixa taxa de quadros. Use superamostragem 2× quando movimento lento mostrar passos de um pixel. O modo footage pula images e layers; footage preservando áudio original pula voice.

Para mídia criada por uma ferramenta de imagem do lado do host, reserve a chamada antes da geração e complete ou rejeite a tentativa exata depois:

python scripts/external_media.py reserve <dir-projeto> image:<id-fonte> \
  --provider <provedor> --model <modelo> --prompt "<prompt de produção exato>"
python scripts/external_media.py complete <dir-projeto> <id-tentativa> <arquivo-saída>
python scripts/external_media.py reject <dir-projeto> <id-tentativa> \
  --reason "<falha de revisão>"

Não copie uma saída de host não registrada diretamente para um pacote de camadas. A produção de portfólio aceita apenas fontes derivadas geradas por provedor, fornecidas pelo usuário, licenciadas, encomendadas ou vinculadas a impressões digitais. placeholder: true sempre bloqueia a entrega.

Para trabalho editorial, crie uma composição recursiva e compile planos de diretor separados:

python scripts/editorial_contract.py composition.json \
  --kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
  --mode composition

Não corte um layout paisagem em retrato. Reposicione título, assunto, dados, anotações e papéis de fundo através de substituições de nós. Valide zonas seguras e ajuste de texto editável para cada proporção de aspecto. Use primitivas locais de vetor/texto/gráfico quando o conteúdo precisar permanecer exato e editável. Use data-svg para caminhos estruturados, curvas, rótulos e marcas. Dê exclusões explícitas às anotações; o compilador deve encontrar uma posição livre de colisão em todas as anotações ou parar.

Para viagem horizontal sustentada, crie um looping-environment e execute world_motion.py. Exija tiras de fundo/chão, velocidade de profundidade crescente, âncoras de participantes tela/mundo, oclusão de camada próxima, três planos de proporção de aspecto, evidência de costura e trajetórias assinadas compensadas pela câmera. Leia production-standard-v6.md e production-protocol-v5.md.

Declare source_packages acoplados antes do uso do provedor. Movimento relativo traseiro/sujeito/frente requer uma família registrada completa e envelopes de revelação para 16:9, 9:16 e 1:1. Derive com registered_family.py; nunca gere ou substitua um membro isolado. Observe o plano chave nativo do provedor não tocado antes da remoção de croma e retenha sua fonte, política e impressões digitais de observação.

Inspecione e edite o mesmo manifesto no espaço de trabalho Remotion real:

cd workspace
npm ci
npm run dev

O Player deve preservar grupos recursivos, profundidade, keyframes, pontos de edição, sequências de estado, visibilidade persistente, ênfase transitória, tiras de loop, campos de motivo, momentos de prova, ligações de pista audiovisual e o plano de diretor selecionado. Valide com npm run build e npm run render antes do lançamento.

Para trabalho polido, defina motion.directed_motion como true e siga directed-motion.md. Não anime toda camada para satisfazer uma cota. Declare as camadas primárias, causa física, fases de antecipação/ação/settle e qualquer pausa de leitura intencional. Um rosto, chão, horizonte ou mesa normalmente deve permanecer estável enquanto a evidência se move. Use ease de chegada por keyframe quando antecipação e settle precisarem de tempo diferente.

Anexe rodas, partes articuladas, chama, roupas e outras respostas secundárias motivadas com follow; herde apenas as propriedades do pai que eles compartilham fisicamente. Declare direction.secondary_responses e trave propriedades plantadas ou pousadas com direction.contacts. Execute

...[truncado para tradução]

Habilidades Relacionadas