背景
先日、静止画像 + 音声データ + テキストデータをもとに、音声に対応する字幕を自動で焼き付けるスクリプトを開発した。
字幕の焼き付けを自動化したことで作業効率は大幅に向上したが、まだ次のような手作業が残っていた。
- ChatGPTが出力したプロットを手動でVOICEVOXに貼り付け
- VOICEVOXがテキストを読み間違えないように、必要に応じて漢字をひらがなに修正
- VOICEVOXから字幕用のテキストデータを出力し、ひらがなにした部分を漢字に戻す
- 用意した背景画像の幅に応じて、字幕データに改行コードを追加
これらの作業も自動化する処理を実装した上で、手元のAIエージェントからMCP経由で呼び出せるようにすれば全自動化できるのではと思い、GW中に時間があったので実装してみた。
成果物
使い方
- docker composeで環境を立ち上げる
- 手元のClaudeからMCP経由で呼び出せるようにする
- Canvaなどで背景画像を作り、tmp/cover.pngに置く
- Claudeからmilkboy-video.mdというスキルを呼び出し、本の名前と方向性などを指示として与える
こうすることで、あとはClaudeがいい感じにプロットをMCPに渡してvideo.mp4の生成まで自動で処理してくれる。
プロンプト:
『成瀬は天下を取りに行く』の感想をミルクボーイ風に紹介する動画を作ってください。
仕組み
VOICEVOX API
テキストデータから音声ファイルを出力してくれるVOICEVOXは、API経由でも処理を呼び出すことができる。
VOICEVOXのGUIツールをインストールして起動すると http://localhost:50021 でアクセスできるようにサーバーが起動する。
http://localhost:50021/docs でSwaggerのドキュメントまで用意してくれている。
GUIツールをインストール・起動する以外にも、公式がDockerイメージを用意してくれており、これをもとにコンテナを立てるだけでも上記のAPIを利用できる状態になる。
今回はこのDockerイメージをもとにdocker composeでコンテナを立ち上げ、Rails製のMCPからアクセスできるようにした。
ffmpeg
docker compose経由でMCPサーバーを立て、そのコンテナ内にffmpegをインストールしてRailsから利用できるようにしてある。
このMCPサーバーをAIエージェントから呼び出すことで各種の動画生成機能を利用することができる。
今後の展望
今回はミルクボーイ風の掛け合いを作ることに特化したスキルを作ったが、実装した処理をもっと抽象的に捉えると「画像 + テキストデータから動画を生成する機能」ということになるので、ミルクボーイ風に限定する必要は特にない。
例えばGoogle Slidesと連携して、スライドを作る→スピーカーズノートにテキストを入力する→それらのデータをもとに、スライド再生 + 自動音声による解説を含む動画ファイルを自動で生成するような機能も作れるはずだ。
僕のように「発信してみたいアイデアはあるけど、動画編集スキルを持たない」みたいな人は世の中にたくさんいるはずなので、そういう人がクリエイターとして気軽に動画を作って配信することができるようなツールになれたら最高だと思う。

