Elenco e bíblia
Tudo aqui é reutilizado entre projetos, então vale a pena acertar uma vez.
Personagem (bible/characters/<id>/)
character.json campos: id, name, species, look (uma frase densa: corpo, rosto, cabelo/pelo, guarda-roupa, um acessório de assinatura, e cada marca distintiva pelo nome: sardas, pintas, cicatrizes, óculos, brincos. O verificador de prompt rejeita qualquer prompt de vídeo que omitir uma, e a avaliação de identidade verifica cada uma em cada tomada), traits, flaw, role (pau-pra-toda-obra / excêntrico / …), voiceDesc, voice, sheets.
- Ficha: uma imagem 3:2, 2K mostrando frente, ¾ e corpo inteiro em um fundo simples.
node engine/gen.mjs still "<prompt da ficha>" bible/characters/<id>/sheet.png --ar 3:2 --size 2KTemplate: "Character reference sheet on a plain warm cream (#F2E8D5) studio backdrop, photoreal, 35mm film look, soft even key light. The same character shown three times side by side: (1) front view, (2) three-quarter view, (3) full body. Character: . Identical wardrobe and markings in all three views. No text, no labels." Olhe você mesmo o resultado. Refaça para anatomia errada, visões incompatíveis, texto. Corte com ffmpeg em vez de pagar por um refazer quando uma visão estiver ruim. - Voz:
voice.id: um preset do ElevenLabs que Kie serve (lista emengine/voices.txt, pré-visualização emhttps://static.aiquickdraw.com/elevenlabs/voice/<id>.mp3). Sobrescritas opcionais por idiomavoice.en/voice.es.voice.eleven: uma voz na própria conta ElevenLabs do usuário, usada quando o endpoint da Kie falha. Planos gratuitos podem usar apenas vozes pré-fabricadas: onwK4e9ZLuTAKqWW03F9 (Daniel, britânico), TX3LPaxmHKxFdv7VOQHJ (Liam, jovem), JBFqnCBsd6RMkjVDRZzb (George, britânico caloroso), EXAVITQu4vr4xnSDxMaL (Sarah), pNInz6obpgDQGcFmaJgB (Adam).voice.sampleText.{en,es}: cerca de 8s de fala dentro do personagem.node engine/gen.mjs sample <id> --lang enescrevevoice-en.mp3. Seedance o usa como@audioNpara que a voz permaneça a mesma em cada cena.
- Adicione uma piada recorrente ou bordão a
traits. - Aprovação (fluxo v5 portão do elenco): mostre ao criador a ficha, o visual e uma amostra de voz; com o sim dele,
node engine/studio.mjs approve-character <id> --said "<palavras dele>"(oucast.mjs approvepara fichas no estilo). Trave a âncora facial da tomada aprovada comcontinuity.mjs <slug> --identity <take> --lock-anchor.
Estilos realistas: referências nativas (a regra que consertou o visual "adesivo")
Modelos de imagem compõem uma foto de referência de estúdio na cena, mantendo sua pose e iluminação, então o personagem parece colado. Para qualquer estilo realista:
- Faça primeiro o cenário vazio.
- Gere cada personagem dentro do cenário apenas a partir de texto (apenas o cenário como ref), com Nano Banana Pro em 2K: "a frame grab ... a real, normal-sized <animal/person> ... lit by the same light as the room, soft shadow on the floor, same video texture ... not composited". As roupas devem ser descritas como peças reais que vestem imperfeitamente ("solto, franzido nos ombros").
- Recorte o personagem desse quadro →
ref-native.png, defina"refs": ["ref-native.png"]. Asheet.pngdo estúdio permanece apenas como referência de design; nunca a alimente nas cenas. - Use palavras de escala realistas ("gato doméstico de tamanho normal, pequeno perto dos móveis") e postura natural de animal.
Um personagem realista funciona melhor com uma referência nativa (
bible/characters/<id>/ref-native.png) além da ficha no estilo.
Cenário (bible/sets/<id>/set.json)
look (uma frase densa), plates (um plano geral amplo 9:16 vazio no mínimo), geography (onde as coisas estão, e quem fica de que lado do quadro).
node engine/gen.mjs still "<string de estilo> wide establishing shot, empty of characters. <look>. No text, no people." bible/sets/<id>/plate-wide.png --size 2K
Fichas de personagem no estilo (fase 3, o método atual)
node engine/cast.mjs sheet <char> --style <style> --set <set> faz uma ficha 2x2 no estilo (estilos realistas: tomada dentro do cenário), divide-a em vistas front, threeQuarter, profile e full em bible/characters/<char>/<style>/, e as registra em character.json → looks.<style>. Reveja e pontue: cast.mjs approve <char> --style <style> consistency=N anatomy=N design=N style=N layout=N. Fichas rejeitadas: regenere com --note "<correção>". As cenas então recebem apenas as vistas que seu enquadramento precisa.
Estilos
As folhas de estilo ficam em bible/styles/<id>/style.json e são gerenciadas com engine/style.mjs (veja a habilidade de estúdio e studio/references/styles.md).
Clone-me / Influenciador de IA
Apenas para a própria semelhança do usuário, ou uma pessoa fictícia. Nunca clone um terceiro real.
- Peça ao usuário 6 a 12 fotos de si mesmo (frente, ¾, perfil, duas roupas, boa luz) colocadas em
bible/characters/<id>/photos/, mais 1 a 2 minutos de fala limpa emvoice-source.mp3. - Construa a ficha com Nano Banana a partir das fotos como referências (
--refcada foto, até 10): "Character reference sheet of this exact person…". - Voz: clonagem instantânea de voz precisa de um plano pago do ElevenLabs (Starter). Clone na interface do ElevenLabs, depois coloque o novo id de voz em
voice.elevencom"provider": "elevenlabs". Até lá, escolha o preset mais próximo. - Para conteúdo de cabeça falante,
node engine/gen.mjs talk <photo-or-keyframe> <line.mp3> out.mp4 --model infinitetalk($0.015/s a 480p). Para cenas, use o personagem em uma lista de cenas normal.