「AIだけで、YouTubeショートをどこまで作れるか」を試している個人開発の記録です。今回は、鳥山明『ドラゴンボール』(集英社)のサイヤ人襲来編から、悟空が死後に修行し、地球の仲間も決戦に備える「決戦までの1年」を題材にしました。原作ファンによる非公式の紹介動画(オマージュ)です。
人がやったのは、題材の一覧を設定ファイルに書いたことだけ。台本・ナレーション・映像・効果音・公開前チェック・YouTubeへの投稿まで、すべてプログラムとAIで動かしています。
作った動画の概要
- タイトル:【60秒でわかる】ドラゴンボール サイヤ人襲来編② 決戦までの1年
- 長さ:1分11秒
- 場面数:12
- 登場人物:孫悟空、界王様、ピッコロ、孫悟飯、神様、クリリン、ベジータ、ナッパ(8人)
- 形式:縦型 1080×1920・30fps(YouTubeショート)
- フレーム数:4235
- 効果音の数:40
内容は、蛇の道を走る悟空、界王星での特訓と新しい技の習得、ピッコロによる悟飯の特訓、神様のもとで修行するクリリンたち、そして次回への引きまでを、ずんだもんのナレーションで駆け足で紹介する構成です。
仕組み:工程ごとの役割と使った技術
全体は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で動画にしています。キャラクターの描き分けは、台本JSONの「見た目」の指定を使っています。
4. 効果音・字幕
効果音はnumpyで波形から合成していて、外部の音素材は使っていません。字幕と見出しはPillowとNoto Sans CJKで描画しています。
5. 公開前チェック(Claude)
Claudeにサムネイル画像と台本を渡し、原作との事実関係・権利・YouTubeポリシーを審査させています。問題があれば台本を自動で直して作り直す仕組みです。
6. YouTubeへの投稿
チェックを通ったものを、そのままYouTubeに投稿します。
工程別の制作時間
| 工程 | 時間 |
|---|---|
| 台本づくり(Claude) | 1分40秒 |
| ナレーション音声(VOICEVOX) | 39秒 |
| 棒人間アニメの描画・動画化 | 8分20秒 |
| 公開前チェックと修正(Claude) | 14秒 |
| YouTubeへの投稿 | 0秒 |
| 合計 | 10分54秒 |
合計時間の大半は、棒人間アニメの描画・動画化(8分20秒)です。4235フレームを1コマずつcairoで描いているので、ここが一番重い工程になっています。AIの呼び出し自体は、台本とチェックを合わせても2分かかっていません。
費用
| 工程 | Claude呼び出し回数 | 入力トークン | 出力トークン | Claude費用 |
|---|---|---|---|---|
| 台本づくり | 1 | 4120 | 10988 | $0.24(約35円) |
| 公開前チェックと修正 | 1 | 4772 | 1051 | $0.04(約6円) |
| 合計 | 2 | – | – | $0.28(約41円) |
1ドル=150円で換算しています。VOICEVOX、棒人間の描画、効果音の合成はClaudeを使わないため、Claude費用はかかっていません。台本づくりは出力トークンが入力の倍以上あり、12場面ぶんの細かい指定(動き・カメラ・効果まで)をJSONで書かせているぶん、出力側が費用の中心になっています。
AIのチェックで見つかった問題
今回の公開前チェックは1回目で判定OK、指摘はゼロでした。そのため、台本の自動修正と作り直しは発生していません。
登場人物が8人と多く、技名やキャラクター名もたくさん出てくる回だったので、固有名詞の取り違えなどが起きやすい題材だと考えていましたが、今回は台本の段階で問題なく通りました。自動修正の仕組みが実際に動くところは、別の回の記録で紹介できればと思います。
やってみてわかったこと・今後
- ボトルネックはAIではなく描画:合計10分54秒のうち8分20秒が描画・動画化。速くするなら、コマ描画の並列化などレンダラー側の改善が効きそうです。
- 台本を構造化データにすると後工程が楽:字幕・読み・動き・カメラまでJSONで受け取るので、音声合成や描画はそれを順に処理するだけで済みます。
- タイトルと実尺のずれ:タイトルは「60秒でわかる」ですが、実際の長さは1分11秒でした。ナレーションを字幕1行ずつ合成する方式なので、台本の分量がそのまま尺になります。尺の上限を台本生成時に意識させるか、タイトルを実尺に合わせるかは今後の課題です。
- 費用は1本あたり約41円:Claudeの呼び出しは2回だけで、この費用感なら定期実行でも続けやすいと感じています。
まとめ
題材を設定ファイルに書いておくだけで、台本・声・映像・効果音・公開前チェック・投稿までを10分54秒、Claude費用約41円で回せました。AIに「設計図」を書かせて、重い処理は自前のプログラムに任せる分担がうまく機能しています。次は描画の高速化と、尺のコントロールに取り組む予定です。
※動画は原作のファンによる非公式の紹介動画です。登場人物は棒人間で表現しており、原作の絵・音声は使用していません。音声: VOICEVOX:ずんだもん




