AnyToManim — ナレーション付き3b1bスタイル動画のCLIツールチェーン は何をしますか?
この製品はCLIであり、APIラッパーではありません。あなた(ホストエージェント)は、パッケージに同梱されている仕様ファイルに従い、ブリーフ、ビートシート、ストーリーボード、シーンコードといったクリエイティブな段階を担当します。CLIはすべての決定論的な処理(TTS、時間計測、レンダリング、結合)を行います。
インストールと確認
pipx install anytomanim # または:仮想環境内で pip install -e .
anytomanim doctor # 不足している依存関係を報告し、修正ヒントを表示
ワークフロー — 仕様をエクスポートし、それに従う
anytomanim export-guides ./guides # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + スキーマ
次に guides/WORKFLOW.md に従います:
DIGEST.mdに従ってbrief.mdを書くSCRIPT.mdに従ってbeats.jsonを書く(beats-schema.jsonを使用)。最初にSCRIPT.mdを読むこと:ナレーションはリストではなくチェーン形式にする必要があります。ORCHESTRATION.mdを読み、STORYBOARD.mdに従ってstoryboard.jsonを書く。選択したカードの実行可能なレシピを開く。anytomanim storyboard storyboard.json --beats beats.jsonを実行し、修正する。anytomanim tts --beats beats.json— すべてのビートを合成し、実際のaudio_fileとaudio_secondsを書き戻す(編集後は変更されたビートのみ再実行)。SCENE_GUIDE.mdに従ってscenes/*.pyを書く(NarratedScene+MiMoService(beats_file=...)、with self.voiceover(beat="b01") as tr)。ストーリーボードに従い、対応するrecipes/から開始する。anytomanim render scenes/X.py --quality ql— エラー時は修正して再試行anytomanim preview <mp4>— sheet.png とビートごとのレポート(重なり、オーバーラン、フリーズしたビート、小さなコンテンツ、空のバンド、固定ヘッダー、ストーリーボードに記載されていないステージ変更)を読み、問題がなくなるまで修正して再レンダリング--quality qhでレンダリング、anytomanim assemble a.mp4 b.mp4 -o final.mp4、anytomanim subtitles beats.json --mux final.mp4
キー不要/コストゼロで反復するには: ANYTOMANIM_TTS=draft (ローカル音声)。
anytomanim run "<トピック>" も存在します — 自動バッチ評価のための組み込みLLM参照ドライバーです(LLM APIキーが必要。インタラクティブエージェントは代わりにガイド駆動フローを使用してください)。
契約
beats.jsonがインターフェースです — 公開IR(ナレーション + ビジュアル + audio_seconds)。- 音声ファーストの同期:合成 → 計測 → すべての
run_timeはtr.durationから導出され、レンダリングはそれらのwavを正確に再生します。決して時間をでっち上げてはいけません。 - きれいにレンダリングされたからといって完了ではありません — 毎回プレビューシートを確認してください。
- 連続性が最優先です。オブジェクトが画面から消える前に、それが次のものに変化できないかどうかを検討してください。フェードアウトして再描画するのは最後の手段です。
- ラベルとして書くよりも、可能な限り関係性を図示してください。
- 音声:
--voice baihua|moli|milo、assets/voice/<name>.mp3+ voices.jsonエントリで自分の声をクローン可能。zh + en対応。 - エンドツーエンドの完成例については、リポジトリ内の
examples/を参照してください。