História de Finanças
Uma ideia de finanças contada como uma história animada curta. Um mundo de analogia fofo (por exemplo, uma sala de aula
cujo placar é o Sensex) carrega toda a explicação. Um narrador conta, e cada
batida cai na palavra falada. Este é o pipeline story-animator, então leia
~/.claude/skills/story-animator/SKILL.md e seus references/ primeiro e siga-os. Este skill
apenas adiciona as preferências do usuário para vídeos de finanças sobre ele.
Guia de marca primeiro. Leia /Users/sohambhattacharya/Documents/Personal/projects/story-animator/brand/BRAND.md
antes de escrever qualquer coisa. Ele define a voz (simples, humana, sem travessões, sem ponto e vírgula, sem frases
formais), a fórmula de história de 8 batidas, paleta, fontes, zonas seguras, formatos de legenda e as regras de segurança da SEBI
(seção 7). Onde houver discordância com este arquivo, o guia vence. Os modelos de vídeo (capa,
cartão de gancho, linha de texto, número grande, termo real e cartão final) estão em
brand/studio/src/templates/reel.tsx. Copie ou importe-os para essas batidas e renderize a capa do vídeo
com o skill finance-social.
O filme de referência aprovado (2026-11-04, "isso estava bom") é examples/sensex-classroom/
(Film.tsx, story.ts, audio_cues.json). Leia-o antes de construir um novo. Ele mostra o mundo
de analogia, o placar, os personagens feijão, o token, a câmera em 9:16 e o cartão
de encerramento.
As preferências do usuário (de feedback)
-
Sem apresentador. Nunca desenhe um host ou personagem falando na parte inferior. O usuário abandonou o estilo antigo de apresentador "finance-reel" e todas as suas regras (voz Zara, Hinglish, o visual minimalista de um número por tela). Não os traga de volta a menos que solicitado.
-
Visual story-animator. Um mundo de desenho animado suave e plano, como um livro infantil, com personagens fofos (corpos redondos de feijão, olhos grandes via
Face), uma fonte de luz quente, movimentos suaves de câmera, legendas em Patrick Hand. A cor conta a história: quente para tempos bons, cinza-azulado para "sombrio", quente novamente na virada. -
Um mundo de analogia para todo o filme. Mapeie cada conceito para algo naquele mundo:
- o índice é o placar ou quadro-negro na parede, mostrando o número real;
- as empresas são os alunos, e empresas maiores são alunos maiores;
- dinheiro estrangeiro (FPIs) são aviões de papel voando para fora e de volta pela janela;
- petróleo são barris nas mesas que encolhem quando o petróleo fica mais barato. Mantenha a forma da história: configuração → problema (algo sombrio) → virada ("Então... duas coisas mudaram") → recompensa (o número pula) → um resumo de uma linha. Escolha um objeto token que sai e volta (o avião de papel).
-
Idioma e voz: Narração em inglês, voz Rameez | Documentary Narrator (
RG0hCuGFvl2jxhd4LmtU, sotaque indiano-inglês), modeloeleven_v4, 2 takes. Soletre siglas com pontos (F.P.I.s) e escreva números por extenso ("doze cem e vinte e cinco"). Use tags leves apenas:[excited],[curious],[warm, storytelling],[softly],[building],[brightly],[delighted],[warmly]. Transcreva ambos os takes com--model mediume mantenha aquele que diz todas as palavras. No vídeo #1, o take B disse "industries" em vez de "investors". -
Formato e duração: 9:16, 60 s (
durationFrames: 1800). Rameez fala cerca de 2,7 palavras/s: 132 palavras renderam 49,5 s. Então escreva cerca de 150–155 palavras para preencher 60 s com voz. Caso contrário, os últimos ~10 s são uma comemoração + cartão final sobre música, o que o usuário aceitou. -
Números honestos. Verifique cada dado com uma pesquisa na web (modo estendido para dados de mercado, duas ou mais fontes). Mostre os números reais (fechamento do índice, os pontos movidos) no placar, e não mostre um número sobre o qual as fontes discordam (no vídeo #1, o preço do Brent). Liste as fontes para o usuário com links. Dados de mercado (Sensex, Nifty, preços de ações) podem ser recentes ou antigos, mas devem ser verificados com duas ou mais fontes e trazer sua data exata (regra alterada pelo usuário, 2026-11-05). Números econômicos (Selic, IPCA, PIB) usam o número oficial mais recente com sua data. Salve cada número em
sources.mdna pasta do vídeo (BRAND.md 7.3). -
Cartão final (os últimos ~7 s): o conceito em uma linha ("Sensex: a média da classe das 30 maiores empresas da Índia"), uma linha relacionada, então "Apenas para educação. Não é um conselho de investimento." e uma linha de figuras/fonte com a data. Sem logotipos de empresas reais.
-
Som: música mais 3 efeitos sutis (um suave swish de avião de papel, uma cascata de moedas leve, um toque brilhante e suave), cada um colocado logo após sua palavra-chave. Música:
eleven_music_v2_5, 1 take, pizzicato e marimba divertidos, com um arco que segue a história (um mergulho para a parte sombria, um crescendo na virada, um levantar alegre na recompensa). Misture com músicagain_dbcerca de −3,5 esfx_bus_db−13. Isso deu ao fundo 16,8 dB abaixo de Rameez; a −9 estava muito baixo (22 dB). -
Final de salvar e compartilhar (todo vídeo). A última linha do narrador pede aos espectadores para salvar e compartilhar o vídeo se acharam útil, e menciona finance.unboring. Adapte ao tópico, por exemplo, "Achou útil? Salve para a próxima vez que alguém disser 'o Sensex subiu', e compartilhe com um amigo que ainda não entendeu. Siga finance ponto unboring para mais." Escreva o handle como "finance ponto unboring" na narração para que seja falado corretamente, e como @finance.unboring no cartão final, abaixo da linha do conceito e acima do aviso legal. Conte esta linha no orçamento de ~150 palavras.
-
Capa personalizada (todo vídeo, regra de 2026-11-07). Nunca ofereça um quadro do vídeo como capa. Os quadros pareciam pouco atraentes no feed e não davam motivo para abrir. Cada vídeo é enviado com sua própria capa 1080×1920 que (a) declara o tópico, (b) deixa o espectador curioso com uma pergunta ou lacuna que o vídeo realmente responde, e (c) mostra Mini reagindo, mais gráficos desenhados para este tópico. Uma palavra de ouro, título máximo de 5 palavras, tudo dentro da área central 3:4 (BRAND.md 5.1).
Fluxo de trabalho: duas portas, nada gasto antes da aprovação
O usuário fornece as entradas: conceito para ensinar, ideia de gancho, ângulo da história (e opcionalmente uma notícia).
Porta 1: proposta (uma mensagem, sem créditos gastos)
- Verifique cada dado (WebSearch estendido, duas ou mais fontes).
- Envie UMA mensagem com quatro partes para o usuário confirmar:
- Roteiro: a espinha em três frases, o token e a narração completa (cerca de 150 palavras). A narração TERMINA com a linha de salvar e compartilhar (regra 9 abaixo).
- Voz: a voz proposta (padrão Rameez,
RG0hCuGFvl2jxhd4LmtU) com seupreview_urlgratuito decreative_list_voices, mais 1–2 alternativas com links de pré-visualização se o tópico sugerir uma sensação diferente. - Storyboard: a tabela de batidas (# / linha de narração / o que vemos / câmera), incluindo o cartão final.
- Capa: tag do tópico, título de curiosidade (palavra de ouro marcada) e o que Mini e a arte estão fazendo. Liste também as fontes e o custo (narração cerca de 1.800 créditos para 2 takes, música 900, efeitos cerca de 17 cada, cerca de 2.750 no total).
- Pare e aguarde. Não gaste créditos e não renderize nada até que o usuário confirme todas as quatro. Se eles mudarem algo, envie a parte revisada e aguarde novamente.
Porta 2: produção (após o usuário confirmar)
- Projeto:
cp -R ~/.claude/skills/story-animator/template ./<slug>ao lado dos outros projetos,npm install, e reutilize um venv existente do faster-whisper (ln -s ../sensex-class-average/.venv .venv) ou crie um. DefinaSHAPES["9:16"]. - Voz → tempo →
story.ts(SUBS,CUES,CAM), como nos Passos 4–5 do story-animator. - Desenhe: comece de
examples/sensex-classroom/Film.tsxquando a analogia se encaixar, e reutilize suas peças (Room, WindowPane, SunShaft, Board, Bean, Desk, Plane +arcAt, Confetti, Card). Caso contrário, construa um novo mundo no mesmo estilo. - Folha de contato em cada batida, e corrija:
- Em 9:16, mantenha os sujeitos acima das legendas. O
cyda câmera na visão geral era cerca de 560 para linhas no mundo y 478–790. Em cy 520 as legendas ficavam na linha da frente. - Nunca deixe metade do quadro vazia. Em um close-up no quadro, mantenha os personagens visíveis abaixo dele (eles estão sempre na tela e fazem um pulo de "olá" em sua deixa, em vez de aparecerem do nada).
- O mundo visível em 9:16 é cerca de 607/z × 1080/z. Para um momento de "50 deles", recue para z ≈ 0,58.
- Em 9:16, mantenha os sujeitos acima das legendas. O
- Capa: desenhe-a no próprio mundo e personagens do projeto do vídeo, ou estenda
ReelCoverembrand/studio/src/templates/reel.tsxcom nova arte. Renderize-a emout/cover.png. Verifique o corte 3:4 e um tamanho pequeno de feed de celular (cerca de 360 px de largura): o tópico e o título ainda devem ser legíveis. - Som → mixagem → renderização →
ffprobe(1080×1920, h264 + aac, 60 s). Envie o vídeo e a capa. Relate a voz, os créditos gastos, o que foi medido e as fontes. Peça ao usuário para assistir e ouvir uma vez.
Após a saída: descrições (sempre, na mesma mensagem de entrega)
Os vídeos são publicados a partir de @finance.unboring no Instagram (Reels) e YouTube (Shorts). Com cada vídeo finalizado, forneça texto pronto para colar em blocos de código:
- Legenda do Instagram: uma linha de gancho; 3–5 linhas curtas da explicação; uma linha de salvar e compartilhar + seguir @finance.unboring; "Dados: <fonte, data>. Apenas para educação. Não é um conselho de investimento."; 3–5 hashtags incluindo #financeunboring (Instagram limita posts a 5). Siga os modelos exatos na seção 6 do BRAND.md.
- Título do YouTube Shorts: menos de 70 caracteres, terminando em #Shorts.
- Descrição do YouTube: 2–3 linhas da explicação, siga @finance.unboring, as fontes, o aviso legal e 4–6 hashtags.