Filmes em motion com paridade Opus (Remotion)
Objetivo: o mesmo prompt, dado ao Opus 5.5 e ao modelo executando este skill, produz filmes que parecem, se movem e soam quase da mesma forma, independentemente do assunto ou estilo.
A diferença raramente é gosto. É comportamento. Opus:
- honra cada valor em um prompt longo;
- transforma palavras vagas em decisões de design concretas;
- projeta cada elemento adequadamente em vez de se contentar com um placeholder;
- planeja toda a linha do tempo antes de codificar;
- constrói um sistema compartilhado, para que as coisas permaneçam consistentes;
- olha para sua própria saída e a corrige.
Um modelo mais fraco pula cada um desses passos, a menos que sejam tornados explícitos. Este skill os torna explícitos, na arquitetura Open Design:
| Peça Open Design | Aqui |
|---|---|
| Um skill funcional que possui o fluxo de trabalho | Este arquivo: prioridades, as etapas e os playbooks de elementos |
Um contrato DESIGN.md lido por cada render | O contrato de design no topo de src/spec.ts; design-systems/*.md são sementes para ele |
| Templates | templates/remotion-starter/, testados (código fonte completo em REFERENCE.md) |
| Um portão de crítica do Design Jury | Etapa 6: cinco jurados, corrija até que cada um pontue ≥ 8 |
| Uma lista de verificação anti-slop | A lista de banimentos na etapa 6 |
| Renderização determinística | Remotion: cada quadro é uma função pura do número do quadro |
Ordem de prioridade
Quando as regras competem por atenção, mantenha-as nesta ordem:
- As próprias palavras do prompt: cada valor, batida, linha de cópia e banimento.
- Aparência e arte no nível do estilo: composição, paleta, tipo e cada elemento projetado adequadamente (veja os playbooks). Textura e luz também entram aqui. Isto é o que um espectador julga primeiro.
- Continuidade: transformações reais, identidade persistente, física plausível.
- Ritmo e som.
- Contabilidade: livros-razão, tabelas e verificações. Eles servem a 1–4 e nunca os substituem.
Ajudantes e exemplos são mecânicas, não estilo. motion.tsx decide onde as coisas estão e como se movem. Nunca decide sua aparência. Nunca envie o padrão neutro de um ajudante, como uma caixa simples ou membros de palito, como o design. Nunca copie o assunto, paleta ou layout de um exemplo para um filme diferente. Cada filme recebe seu próprio design personalizado, pelo menos tão rico quanto seria sem os ajudantes.
Invocação
- Qualquer solicitação de uma peça de motion executa o pipeline. Não faça perguntas: resolva lacunas na etapa 1 e declare-as em 解读.
- Cada novo prompt é um novo filme, construído do zero a partir do starter, mesmo em uma conversa que já fez um. Reutilize código anterior apenas quando o usuário disser para modificá-lo (修改, 改一下, 在上一版基础上, fix this). Em um host com ferramentas de arquivo, crie uma nova pasta de projeto para o filme.
- Modos. O padrão é construir. 只要提示词 / 扩写 / “prompt only” para após a etapa 2 e gera o briefing expandido como um único bloco
textcom cercado. - Hospedeiros. Apenas bate-papo: saída de arquivos como blocos de código (etapa 7). Com ferramentas de arquivo e shell: escreva os arquivos, execute
npx tsc -p .,npm run renderenpm run check, observe os stills, corrija, depois reporte. - Se a mensagem não contiver nenhuma ideia, responda apenas: “请给我一句话的创意或一段完整的提示词。”
Etapa 0 — Leia o prompt como Opus: três livros-razão
-
Livro-razão de especificações
S01…: uma linha por valor ou instrução, citado exatamente. Isso cobre durações, tamanhos, cores, fontes, pesos, cópia, contagens, ângulos, posições, temporizações, easing, banimentos, o loop ou final, personagens e cada batida do storyboard.FILMemspec.ts(duração, fps, tamanho) vem dessas linhas; os valores placeholder do starter nunca devem sobreviver. Um prompt truncado é completado na voz e densidade de sua última seção completa, com essas linhas marcadasS##*. -
Livro-razão de transformação
X01…: cada verbo de tornar-se (torna-se, transforma-se em, reúne, dissolve, desdobra, cresce, 变成, 化成, 收拢, 汇聚, 展开) comofonte → alvo · mecanismo · início–fim s · o que é conservado. -
Livro-razão de elementos
E01…: cada coisa que é desenhada, tipada com seu playbook (tipo, objeto, personagem, ambiente, dados, UI, transição, textura-luz, som) e listando:- três ou mais características estruturais;
- tamanho e coordenadas;
- como se move;
- para personagens, a ficha de design e poses nomeadas;
- para objetos segurados, o segurante ao longo do tempo.
Cada cena também recebe sua lista de camadas de trás para frente.
Cada valor é vinculante: nunca arredonde, renomeie, recoloque, remodele ou descarte um. O último terço de um prompt longo conta tanto quanto o primeiro. Se duas linhas entrarem em conflito, mantenha a mais específica e anote em 解读. No código:
- constantes vivem em
spec.ts, marcadas// S07; - construtores vivem em
film.tsx, marcados// E03; - batidas vivem em arquivos de cena, marcados
// S31 X02.
Etapa 1 — Preencha lacunas como Opus faz
Apenas para o que o prompt deixa em aberto; nunca substitua uma linha do livro-razão.
| Lacuna | Padrão Opus |
|---|---|
| Formato | 1920 × 1080; 60 fps para motion denso, 30 fps para peças calmas ou de personagens. Um formato declarado é vinculante; para uma olhada rápida use npm run preview, nunca abaixe FILM |
| Duração e final | 15 s para uma ideia, 30 s para um showreel ou filme de marca. Um loop contínuo para reels e idents; uma imagem final resolvida ou cartão de fim para histórias e promos |
| Ritmo | Tempo do clima: calmo 60–90 BPM, marca 110–128, energético 128–140. Peças densas têm um evento em cada batida, peças calmas em cada compasso. Pausas ≤ 0.5 s quando denso, o tempo que a cópia precisar quando calmo |
| Narrativa | Um motivo ou portador conecta o filme; cada cena cresce a partir da anterior; sem cartões de título não relacionados |
| Câmera | Fixa e frontal, a menos que o prompt implique movimento. Peças de história abrem amplas em todo o mundo |
| Composição | Da ocupação e espaço em branco do estilo. Nada em repouso a menos de 150 px das laterais ou 90 px do topo e fundo |
| Tipografia | Uma família com caráter; a palavra de recompensa ou número no peso mais pesado no maior tamanho. Latim: Inter, Geist, Space Grotesk, Fraunces; Chinês: Noto Sans SC, Noto Serif SC |
| Paleta | 3–5 cores com funções; o acento pressagia o que vem a seguir |
| Textura e luz | Material por elemento, dimensionado ao seu tamanho. A luz vem de fontes motivadas |
| Detalhe | Três microdetalhes recorrentes que fazem o filme parecer autoral (rótulos, marcas, legendas, timecodes, sinalização). Eles não adicionam novas reivindicações, números ou cópia além do prompt, e usam a redação do prompt quando ele fornece uma |
| Legendas | Quaisquer linhas de fala, letras de música ou subtítulos na tela: ≥ 40 px em 1080p, alto contraste, terço inferior, linha inteira segurada por sua janela de leitura (≈ 0.25 s por caractere chinês, ≈ 3 palavras latinas por segundo) |
| Som | Uma trilha gerada que se encaixa no clima, ou ambiente para uma cena liderada pelo ambiente; silêncio apenas se solicitado |
Etapa 2 — Direção: derive um contrato de design do prompt
De onde vem o estilo:
- O prompt declara o estilo (paleta, materiais, tipo, referências). O contrato vem apenas do livro-razão.
- O prompt nomeia um sentimento, meio ou referência (“como um jornal”, “水墨”, “terminal”, “cartaz suíço”, “tipo Pixar”). Comece a partir da semente mais próxima em
design-systems/e adapte-a. - O prompt é uma ideia simples. Sintetize um novo contrato com o método abaixo. Sementes são pontos de partida opcionais, não padrões.
Método de síntese de estilo (para qualquer assunto):
- Assunto → mundo. Em que mundo material este assunto vive? Papel, tinta, vidro, metal, tecido, telas, natureza, uma cidade, um laboratório. Escolha um, mais no máximo um mundo contrastante para transformar.
- Público e clima → energia. Calmo ou impactante, quente ou preciso, lúdico ou sério. Isso define tempo, easing, overshoot e densidade.
- Torne-o concreto. Escreva o contrato como valores, não adjetivos:
- Paleta: valores hexadecimais com funções.
- Tipo: família, pesos, tamanhos, tracking.
- Marcas: como linhas, preenchimentos e formas são desenhados, como técnicas SVG.
- Textura e luz: por elemento.
- Composição: ocupação, espaço em branco, regra de borda.
- Caráter do movimento: easing por tipo de movimento.
- Gramática de transição: qual mecanismo muda qual cena.
- Detalhes de assinatura.
- Paleta sonora.
- Banimentos.
- Verifique contra slop. Cada escolha deve ser rastreável ao assunto ou ao prompt. Gradientes genéricos, brilhos e layouts de template são o que o contrato existe para substituir.
Sementes em design-systems/:
| Semente | Adequado para |
|---|---|
drafting-table | Processo, ferramentas, engenharia |
swiss-kinetic | Marcas, lançamentos, declarações |
editorial-ink | Cultura, artesanato, patrimônio, temas do Leste Asiático |
data-instrument | Explicadores, finanças, ciência |
bold-poster | Música, esporte, juventude |
riso-halftone | Indie, retrô, lúdico |
storybook-scene | Personagens, histórias, videoclipes |
Prompts curtos: escreva o briefing completo primeiro, na densidade Opus. Ele tem um parágrafo de direção, o contrato, a estrutura (tempo, cenas nomeadas, mudanças de cena), personagens, se houver, e um storyboard cena por cena com timestamps e números. Esse briefing se torna os livros-razão. No modo apenas prompt, produza-o e pare.
Etapa 3 — Linha do tempo antes do código
- Escreva uma linha por cena:
início–fim s · nome · o que o espectador aprende · elemento transportado de → para · transição de saída (X##). - Liste cada evento como
t: elemento (E##) · ação · números · ids. - Nomeie os momentos-chave em um bloco
T. - Derive a lista de dicas sonoras dos mesmos eventos.
Verificações antes de continuar:
- batidas caem em múltiplos de 60/BPM;
- o estado de saída de cada cena é o estado de entrada da próxima cena;
- nenhuma ação direciona uma propriedade ao mesmo tempo;
- tudo termina antes do fim;
- para um loop, o quadro virtual t = D é igual ao quadro 0, com todo o movimento em repouso.
Etapa 4 — Design antes do movimento
- Construa a geometria de cada elemento a partir de suas características estruturais, no nível do módulo.
- Para personagens, faça uma ficha de personagem primeiro: um still com cada personagem em cada pose nomeada, segurando seus adereços.
- Corrija as composições-chave como layouts exatos em px: quadro 0, o primeiro quadro completo de cada cena ou material, e o quadro final. Verifique cada um contra a ocupação e espaço em branco do contrato.
- Codifique esses estados estáticos antes do movimento entre eles. Um still fraco nunca é resgatado pelo movimento. Em um host com ferramentas de arquivo, renderize e observe-os primeiro.
Playbooks de elementos
Cada solicitação é composta por esses tipos de elementos. Para cada elemento, aplique seu playbook.
| Elemento | Construa-o | Mova-o | Verifique (falha comum) |
|---|---|---|---|
| Tipo | Uma família; hierarquia por peso e tamanho; tracking definido por tamanho; palavras grandes em uma linha, ajustadas à sua largura declarada; palavras e letras divididas mantêm seus espaços; CJK pode rodar vertical | Chega com EASE.out; escalonamentos 0.02–0.06 s; clipes de slot, desliza em trilhos, revelações de escala; pausa legível antes da saída | Palavras se juntam, linhas órfãs, legendas muito pequenas ou de baixo contraste, a recompensa não é o tipo mais pesado |
| Objeto (ícones, adereços, produtos, símbolos) | Três ou mais características estruturais da coisa real; um lado sombreado para volume; política de contorno consistente; construído uma vez como uma função | Movimento de sua natureza: papel dobra em uma dobra, líquido ondula, metal gira em um eixo, luz acende | Um símbolo em vez da coisa, partes flutuantes, escala inconsistente entre tomadas |
| Personagem | Uma ficha de Body: silhueta, proporções, cores, rosto, marcas, todos projetados através de color, face e parts; poses nomeadas | poseMix entre poses nomeadas com settle; walk() para andar; pequenas batidas de atuação legíveis; adereços em grip() e desenhados em held | Um olhar divergente entre tomadas, mãos não nos adereços segurados, membros através da cabeça, aparência padrão de palito, pés fora do chão |
| Ambiente (salas, cidades, paisagens, clima) | Camadas de trás para frente: céu ou parede, longe, médio, chão, primeiro plano. Fontes de luz motivadas e suas formas de luz. Clima em todo o quadro em duas profundidades | Vida ambiente que nunca para (clima, luzes, pequenos loops); a câmera fica parada a menos que solicitado | Um fundo plano, clima passando por objetos sólidos, lógica de luz ausente, desordem de borda a borda |
| Dados (gráficos, contadores, diagramas, mapas) | Eixos e unidades primeiro, valores exatos do livro-razão, rótulos anexados às marcas, um gráfico por cena | Eixos, depois dados, depois anotações; contadores rolam com sua marca; gráficos se transformam uns nos outros através de slots compartilhados | Números errados, eixos não rotulados, decoração sobre dados, rótulos que ignoram a redação do prompt |
| UI / produto | Telas reais ou reconstruções fiéis com retângulos nítidos, proporções verdadeiras e uma hierarquia real | Mudanças orientadas por cursor ou estado; zoom na região que muda | Capturas de tela esticadas, ruído de interface falso, texto pequeno ilegível |
| Transição | Mecanismos físicos: morph (chain), merge (converge), máscara ou wipe (Reveal), mudança de material (MaterialLayer duas vezes sob Reveal), desdobrar, corresponder em uma forma compartilhada | Bordas duras, planejadas em uma batida, com a fonte desaparecendo enquanto o alvo se forma | Crossfades, cortes que o prompt não pediu, coisas aparecendo, identidade perdida em uma mudança de material |
| Textura e luz | Papel e tinta como camadas separadas (Paper, InkFilter dimensionado com roughFor); meio-tom e hachura via padrões; luz como formas (cones, janelas iluminadas, reflexos) | Semeado e estável, ou fervendo a uma taxa de passo fixa | Textura uniforme em tudo, brilho decorativo, cintilação de ruído não semeado |
| Som | scripts/cues.json: um leito e figura musical para música, ou um leito de ambience para cenas lideradas pelo ambiente; um evento em cada batida visual | Sincronizado ao bloco T; a cauda de um loop se dobra em seu início | Silêncio por omissão, ruído usado como música, batidas fora de sincronia |
Regras universais
- Tornar-se é real. Cada linha X transforma o mesmo objeto ponto a ponto (contagens de pontos iguais;
chain()para muitas formas,converge()para muitos-para-um). A fonte se foi quando o alvo se forma. O alvo é totalmente alcançado: se o prompt disser “torna-se um gráfico de barras”, termina como barras. Partes nascem em sua fonte e viajam. Fusões e divisões conservam quantidade. Nunca finja uma transformação com uma sobreposição, crossfade ou
…
[truncado para tradução]