Remotion と MCP で Reel 生成ツールを自作している話
GUI と MCP を同一サービス層に。Voice Timing、品質ゲート、人間承認の publish。
Reel / Shorts 用の縦動画を、GUI とエージェント(MCP)の両方から扱えるようにしたのが Reel Studio です。いまはローカル運用が中心で、公開 SaaS というより 自分用の制作机 に近いです。
Angla Admin の日次動画とは別に、「企画して、直して、出す」ための道具として作っています。
何を作りたいか
- 台本からプレビュー/レンダーまでを一箇所で
- Cursor などのエージェントからも同じ操作ができる
- ただし 投稿の最終ボタンは人が押す
エージェントに全部任せる道具ではなく、エージェントと人が同じサービス層を共有する道具、です。
GUI と MCP を二重実装しない
いちばん大事にしたのは、GUI と MCP が別パイプラインにならないことです。どちらも同じ Application Service(ReelAppService)を通り、Remotion や DB を MCP から直接触らないようにしています。
二重実装すると、必ず片方が古くなります。個人開発ではそのズレが致命傷です。
MCP のレスポンスは、トークンを食わないよう summary-first に寄せています。詳細が必要なら detailLevel で足す、という運用です。
Voice Timing を正にする
字幕や BGM の合わせどころは、Voice Timing を基準にしています。TTS が失敗しても Reel 全体は落とさず、字幕+任意 BGM でプレビューできる、という耐障害側に倒しています。
「音声があるときだけ成立する動画」にすると、制作が止まりやすいです。
品質ゲートと publish の境界
評価(ルール/任意の Vision)や改善ループは MCP からも叩けます。一方で publish_reel は、明示的な人間確認なしでは進めない境界にしています。
エージェントが便利でも、公開だけは人が止まれるようにする。Angla Admin の半自動と同じ思想です。
ライセンスと依存の判断
編集ソフトを丸ごと取り込むより、必要な層だけ自前にする方針です。調査の過程で copyleft な編集系を避ける判断もしています(詳細はリポジトリの DESIGN メモ側)。
いまの到達点
- ローカル GUI + MCP で制作できる
- Instagram 連携の診断や準備まではツール化
- 投稿は人間承認が必須
- まだ「誰でも使える公開サービス」ではない
日次運用の半自動コンソールとは役割が違います。毎日の定型は Angla Admin、企画ものの机が Reel Studio、という分け方です。
関連: