「AIだけでどこまで動画を作れるか」を試している個人開発の記録です。今回は鳥山明『DRAGON BALL』のピッコロ大魔王編を題材に、60秒前後で物語を紹介するYouTubeショートを作りました。原作ファンによる非公式の紹介動画(オマージュ)で、原作のセリフは使っていません。人がやったのは題材の一覧を設定ファイルに書いたことだけで、台本・音声・映像・公開前チェックはすべて自動で動いています。
作った動画の概要
| 項目 | 内容 |
|---|---|
| 題材 | ドラゴンボール ピッコロ大魔王編(原作:鳥山明『DRAGON BALL』集英社) |
| YouTubeのタイトル | 【60秒でわかる】ドラゴンボール ピッコロ大魔王編 |
| 長さ | 1分11秒 |
| 場面数 | 12 |
| 登場人物 | 孫悟空、クリリン、タンバリン、ピッコロ大魔王、亀仙人、餃子、天津飯、神様 |
| 形式 | 縦型 1080×1920・30fps |
| フレーム数 | 2129 |
| 効果音の数 | 51 |
ナレーションはずんだもんの声で、クリリンが襲われる場面から始まり、ピッコロ大魔王との決戦、そして新たなピッコロの誕生までを12場面に分けて駆け足で紹介しています。映像はすべて自作の棒人間アニメです。
仕組み:工程ごとの役割と使った技術
全体はPythonで書いていて、GCPのCloud Run JobsとCloud Schedulerで定期実行しています。ローカルでも同じコマンドで動くようにしてあるので、開発中は手元で試し、本番はクラウドで回す形です。
1. 台本づくり(Claude API)
Claude API(claude-opus-5-5)の構造化出力を使い、場面ごとに次の情報をJSONで出させています。
- ナレーションと字幕、その読み
- 登場人物の見た目
- 動き・カメラ・エフェクトの指定
台本の段階で「誰がどう動くか」まで決めてしまうのがポイントで、後ろの描画工程はこのJSONを読むだけで映像を作れます。
2. ナレーション(VOICEVOX)
VOICEVOX(ずんだもん)をDockerで動かし、字幕1行ずつ音声合成しています。1行ごとに音声の長さがわかるので、字幕の表示時間をそのまま音に合わせられます。
3. 映像(自作の棒人間レンダラー)
Pythonとcairoで作った棒人間レンダラーで、関節の角度からポーズを作ります。パンチ・気功波・飛行など28種類の動きと背景・エフェクトを1コマずつ描き、ffmpegで動画にしています。字幕や見出しはPillowとNoto Sans CJKで描画しています。
4. 効果音(numpyで合成)
効果音は外部素材を使わず、numpyで波形から合成しています。今回の動画では51個の効果音が入っています。
5. 公開前チェック(Claude)
Claudeがサムネイル画像と台本を見て、原作との事実関係・権利・YouTubeポリシーの3つの観点で審査します。問題があれば台本を自動で直して作り直し、もう一度チェックにかけます。
工程別の制作時間
| 工程 | 時間 |
|---|---|
| 台本づくり(Claude) | 1分51秒 |
| ナレーション音声(VOICEVOX) | 2分12秒 |
| 棒人間アニメの描画・動画化 | 1分51秒 |
| 公開前チェックと修正(Claude) | 2分56秒 |
| 合計 | 8分50秒 |
一番時間がかかったのは公開前チェックと修正でした。1回目でNGが出て作り直しが入ったためです。描画よりもナレーション合成の方が時間がかかっているのも少し意外でした。
費用
| 工程 | 入力トークン | 出力トークン | Claude費用 |
|---|---|---|---|
| 台本づくり(Claude、呼び出し1回) | 3,878 | 11,908 | $0.25(約38円) |
| ナレーション音声(VOICEVOX) | – | – | – |
| 棒人間アニメの描画・動画化 | – | – | – |
| 公開前チェックと修正(Claude) | 未計測 | 未計測 | 未計測 |
| 合計 | $0.25(約38円) | ||
円換算は1ドル=150円です。公開前チェックのClaude使用量は、計測の仕組みを入れる前の実行だったため記録できていません。そのため合計の約38円にはチェック分が含まれていない点に注意してください。台本は出力トークンが入力の3倍ほどあり、場面ごとの動きやカメラ指定まで出させている分、出力側が重くなっています。
AIのチェックで見つかった問題と直し方
1回目:NG(block 1件、warn 4件)
一番大きかったのは固有名詞の取り違えです。
- [block] 超聖水と超神水の取り違え:台本では悟空がカリン塔で飲んだ水を「超聖水」としていましたが、ピッコロ大魔王編で飲んだのは潜在能力を引き出す猛毒の「超神水」。超聖水は少年期の修行で出てくる別のアイテムだと指摘され、ナレーションと概要欄の両方を直すよう求められました。
- [warn] 決戦の舞台を「大魔王の城」としていたが、原作では大魔王が占拠した王様の城
- [warn] 亀仙人の魔封波の失敗と餃子の死をまとめて描いていて、餃子が神龍への願いを阻止しようとしたという文脈が伝わらない
- [warn] ずんだもんの音声を使うなら概要欄にクレジット表記が必要
- [warn] タグ「アニメ解説」が原作マンガの紹介という内容とずれている
この指摘を受けて台本が自動で書き直されました。完成版のナレーションでは「カリン塔で超神水を飲み」「決戦は大魔王が奪った王の城!」「願いを阻もうとした餃子も犠牲に」となっていて、事実関係の指摘が反映されています。
2回目:OK(warn 2件)
- サムネイルの「編」の右側に、赤い「!」のような記号が文字と重なって表示されている
- 悟空がすぐにタンバリンを倒したように読めるが、原作では一度敗れて回復してから倒している(60秒の要約としては省略の範囲内)
判定はOKでしたが、サムネイルの描画崩れは画像を見て初めてわかる種類の問題で、台本だけを見るチェックでは拾えなかったはずです。
やってみてわかったこと・今後
- 台本を書くAIと審査するAIを分けるのは効く:同じClaudeでも、台本生成時には出なかった「超聖水/超神水」の取り違えを、審査役では見つけてくれました。似た名前のアイテムが多い作品ほど、この段階が重要になりそうです。
- 画像も審査に入れる意味がある:サムネイルの記号の重なりのような見た目の問題は、画像を渡さないと検出できません。
- warnの扱いが課題:2回目のwarnは公開を止める扱いにしていないため、残ったまま進んでいます。warnも自動で直すか、どこまで許容するかのルールを決める必要があります。
- 計測を最初から入れておくべきだった:チェック工程の使用量が未計測になってしまったので、次回からは全工程のトークン数と費用を記録します。
まとめ
題材を設定ファイルに書くだけで、1分11秒・12場面のYouTubeショートが8分50秒で完成し、記録できた範囲のClaude費用は約38円でした。完璧ではなく、AIの台本には原作の固有名詞の取り違えが入り込みます。それでも、別のAIに審査させて自動で直す流れを入れておくと、公開前に事実の誤りをかなり拾えることがわかりました。次はwarnへの対応と、全工程のコスト計測を進めていきます。
※動画は原作のファンによる非公式の紹介動画です。登場人物は棒人間で表現しており、原作の絵・音声は使用していません。音声: VOICEVOX:ずんだもん




