Communitygithub.com

AnyToManim

Gere vídeos explicativos no estilo 3Blue1Brown narrados, a partir de qualquer tópico, texto, artigo ou repositório — usando a ferramenta CLI `anytomanim`. Pipeline orientado por áudio: a narração dita o ritmo da animação, garantindo sincronia precisa entre voz e visuais.

O que é AnyToManim?

AnyToManim é uma ferramenta de linha de comando (CLI) que gera vídeos explicativos narrados no estilo 3Blue1Brown (3b1b). Em vez de ser uma API, ela fornece um fluxo de trabalho guiado por arquivos de especificação (brief, beats, storyboard, cenas), onde o agente (você) executa as etapas criativas e o CLI cuida das tarefas determinísticas: síntese de voz, medição de duração, renderização e montagem. A sincronia áudio-visual é a peça central: a narração é sintetizada primeiro, e a duração de cada cena é derivada diretamente do áudio, garantindo que voz e animação estejam perfeitamente alinhadas. O fluxo inclui a geração de um storyboard, síntese de voz (com suporte a vozes locais para iteração sem custo), renderização de cenas Manim com qualidade ajustável, e ferramentas de pré-visualização e correção. Há também um modo `anytomanim run "<tópico>"` para avaliação automatizada via LLM. A ferramenta é útil para criadores de conteúdo, educadores e desenvolvedores que desejam transformar rapidamente qualquer ideia em um vídeo explicativo profissional e cativante.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RayMorTwinkle/AnyToManim/tree/HEAD/skills/anytomanim

Perguntar na sua IA favorita

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

Documentação

AnyToManim — CLI para vídeos narrados estilo 3b1b

O produto é uma CLI, não um harness de API. Você (o agente anfitrião) realiza as etapas criativas — escrever o brief, a folha de beats, o storyboard, o código das cenas — guiado pelos arquivos de especificação fornecidos no pacote. A CLI faz tudo que é determinístico: TTS, medição de duração, renderização, concatenação.

Instalação e verificação

pipx install anytomanim          # ou: pip install -e . em um venv
anytomanim doctor                # relata dependências ausentes + dicas de correção

Fluxo de trabalho — exporte a especificação, siga-a

anytomanim export-guides ./guides   # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + schema

Em seguida, siga guides/WORKFLOW.md:

  1. Escreva brief.md de acordo com DIGEST.md
  2. Escreva beats.json de acordo com SCRIPT.md (+ beats-schema.json). Leia SCRIPT.md primeiro: a narração deve encadear, não listar.
  3. Leia ORCHESTRATION.md, depois escreva storyboard.json de acordo com STORYBOARD.md. Abra as receitas executáveis ​​para os cards que você escolher. Execute anytomanim storyboard storyboard.json --beats beats.json e corrija.
  4. anytomanim tts --beats beats.json — sintetiza cada beat, escreve audio_file + audio_seconds real de volta (re-execute após edições: apenas beats alterados)
  5. Escreva scenes/*.py de acordo com SCENE_GUIDE.md (NarratedScene + MiMoService(beats_file=...), with self.voiceover(beat="b01") as tr). Siga o storyboard; comece pelas recipes/ correspondentes.
  6. anytomanim render scenes/X.py --quality ql — corrija e tente novamente em caso de erro
  7. anytomanim preview <mp4> — LEIA sheet.png e o relatório por beat (sobreposições, estouros de tempo, beats congelados, conteúdo pequeno, bandas vazias, cabeçalho fixo, mudanças de palco que o storyboard não menciona); corrija e re-renderize até ficar limpo
  8. Renderize --quality qh, anytomanim assemble a.mp4 b.mp4 -o final.mp4, anytomanim subtitles beats.json --mux final.mp4

Itere sem chave / sem custo: ANYTOMANIM_TTS=draft (voz local).

anytomanim run "<tópico>" também existe — um driver de referência com LLM embutido para avaliação automatizada em lote (requer chave de API LLM; agentes interativos devem usar o fluxo guiado por guias).

Contratos

  • beats.json é A interface — IR pública (narração + visual + audio_seconds).
  • Sincronia áudio-primeiro: sintetize → meça → todo run_time deriva de tr.duration, e a renderização reproduz exatamente aqueles wavs. Nunca invente durações.
  • Uma renderização limpa não está concluída — olhe a folha de pré-visualização toda vez.
  • Continuidade em primeiro lugar. Antes de um objeto sair, pergunte se ele pode se tornar a próxima coisa. Fade out e redesenho é o último recurso.
  • Desenhe a relação quando puder, em vez de escrevê-la como um rótulo.
  • Vozes: --voice baihua|moli|milo; clone sua própria voz via assets/voice/<nome>.mp3 + entrada em voices.json. zh + en suportados.
  • Consulte examples/ no repositório para execuções completas de ponta a ponta.

Habilidades Relacionadas