Toonflow は、小説や脚本を短編アニメーション動画に変換するオープンソースのAI制作ツールです。ScriptAgentとProductionAgentという2つのAIエージェントが、脚本作成・絵コンテ・キャラクターや映像の生成までを一気通貫でこなします。Electron製のクロスプラットフォームデスクトップアプリとして配布され、Node.js/TypeScriptバックエンドを内蔵しています。
バックエンドはExpress+socket.ioで構成され、src/agents配下にscriptAgentとproductionAgentが存在します。各エージェントは「決定層」「実行層」「監督層」という3層構造を持ち、data/skills以下のMarkdownファイル(production_agent_decision.mdなど)をシステムプロンプトとして読み込んで動作します。Memoryクラスがローカルの記憶(短期メッセージ・要約・all-MiniLM-L6-v2 ONNXモデルによるベクトル検索)を管理し、複数ターンにわたる文脈を保持します。@ai-sdk系のプロバイダー(OpenAI、Anthropic、Google、DeepSeekなど)を通じてLLMを呼び出し、toolsとしてスキル読み込みや画像・動画生成処理を組み込んでいます。デスクトップ実行時はscripts/main.tsがElectronのmainプロセスとしてdata配下(assets、models、skills、web、vendorなど)をuserData領域にコピーし、バージョン管理しながら初期化します。開発時はサーバー単体をtsx src/app.tsで、GUI付きはelectronmonで起動する仕組みです。
- STEP 01
Dockerfileかyarn installでセットアップし、開発サーバーはtsx src/app.tsまたはElectron GUI版のelectronmonで起動します。
- STEP 02
初回起動時にadmin/admin123でログインし、設定センターでテキスト・画像・動画それぞれのAIモデルプロバイダーを登録します(OpenAIやAnthropicなど、APIキーは利用者側で用意が必要です)。
- STEP 03
新規プロジェクトを作成し、原作テキストをインポートすると章節イベント抽出処理が走り、内部データベース(better-sqlite3)にイベントが構造化保存されます。
- STEP 04
ScriptAgentに脚本生成を依頼すると、data/skills配下のMarkdownスキルファイルがプロンプトとして読み込まれ、ストーリー骨格や改編案がストリーミング表示されます。
- STEP 05
ProductionAgentに切り替えて絵コンテ・キャラクター・映像生成を無限キャンバス上のノードとして組み立て、各ノードを個別に再生成・微調整できます。
- STEP 06
最終的に各動画ノードを結合し、書き出し処理でエンディング動画(data/assets/ending.mp4など)を含む完成短編動画をローカルに出力します。
手元に残るのは、原作テキストから生成された構造化脚本データ、キャラクター・シーン画像、分割された短編動画クリップ、それらを結合した最終的な動画ファイルです。加えて、記憶システムに蓄積された会話履歴や要約もローカルsqliteに残ります。
実際の脚本・画像・動画生成にはOpenAIやAnthropicなど外部LLM/画像/動画APIのキーが必須で、利用料金は別途発生します。
vm2やsucraseを用いたプロバイダーのカスタムTypeScriptコードをその場で書いて実行する機能があり、信頼できないコードを設定すると実行環境のリスクになり得ます。
art_skillsやstory_skillsのMarkdownはテキストとして読み込まれるプロンプト集であり、実際の画質や演出クオリティは接続した画像・動画生成モデル側の性能に依存します。
README記載のデフォルト認証情報(admin/admin123)は初回セットアップ後に変更すべき運用上の注意点です。
小説や脚本を素材にショート動画を量産したいクリエイターや、AIエージェントによる制作パイプライン設計に関心のある開発者に向いています。README・package.json・実際のエージェントコード(productionAgent/index.ts)やスキルMarkdown群の整合性が取れており、機能説明が誇張なく実装と対応していることが確認できるため、インストールしなくても構成の妥当性はある程度信頼できます。ただし生成品質そのものは外部AIモデル依存のため、実際の出力クオリティは自分の目で確かめる必要があります。