「AIだけで、YouTubeショートをどこまで作れるか」を試している個人開発の記録です。今回は鳥山明『DRAGON BALL』のサイヤ人襲来編から、ラディッツ来襲のあらすじを棒人間アニメで紹介する動画を作りました。人がやったのは題材の一覧を設定ファイルに書いたことだけで、台本・ナレーション・映像・効果音・公開前チェック・投稿までをパイプラインが自動で処理しています。なお、この動画は原作ファンによる非公式の紹介(オマージュ)です。
作った動画の概要
| 項目 | 内容 |
|---|---|
| タイトル | 【あらすじ】ドラゴンボール サイヤ人襲来編① ラディッツ来襲 |
| 長さ | 1分09秒 |
| 形式 | 縦型 1080×1920・30fps(YouTube ショート) |
| フレーム数 | 4116 |
| 場面数 | 12 |
| 登場人物 | 孫悟空、孫悟空(あの世)、孫悟飯、ラディッツ、ピッコロ、クリリン、亀仙人 |
| 効果音の数 | 40 |
12の場面で、悟空の兄を名乗る男の来襲から、次回への引きまでをずんだもんのナレーションで追う構成です。原作のセリフは使わず、ナレーションはすべてAIが書いた要約です。
仕組み:工程ごとの役割と使った技術
全体はPythonで書いていて、GCPのCloud Run JobsとCloud Schedulerで定期実行しています。ローカルでも同じコマンドで動くので、開発中は手元で回し、本番はクラウドに任せる形です。
1. 台本づくり(Claude API)
Claude API(claude-opus-5-5)の構造化出力で、場面ごとにナレーション・字幕・読み・登場人物の見た目・動き・カメラ・効果をJSONで出させています。後段のレンダラーがこのJSONをそのまま読むので、台本が「映像の設計図」も兼ねています。
2. ナレーション(VOICEVOX)
VOICEVOX(ずんだもん)をDockerで動かし、字幕1行ずつ音声合成しています。行単位で音声を作ることで、字幕の表示タイミングと音声の長さを自然に揃えられます。
3. 映像(自作の棒人間レンダラー)
Pythonとcairoで作った棒人間レンダラーで、関節角度からポーズを作ります。パンチ・気功波・飛行など28種類の動きと、背景・エフェクトを1コマずつ描き、ffmpegで動画にまとめています。
4. 効果音・字幕
- 効果音:numpyで波形から合成(外部素材なし)
- 字幕・見出し:PillowとNoto Sans CJK
5. 公開前チェック(Claude)
完成後、Claudeがサムネイル画像と台本を見て、原作との事実関係・権利・YouTubeポリシーを審査します。問題があれば台本を自動で直して作り直し、もう一度チェックにかけます。
工程別の制作時間
| 工程 | 時間 | Claude呼び出し回数 |
|---|---|---|
| 台本づくり(Claude) | 1分50秒 | 1 |
| ナレーション音声(VOICEVOX) | 35秒 | 0 |
| 棒人間アニメの描画・動画化 | 7分37秒 | 0 |
| 公開前チェックと修正(Claude) | 9分32秒 | 3 |
| YouTube への投稿 | 0秒 | 0 |
| 合計 | 19分34秒 | 4 |
一番時間がかかったのは公開前チェックと修正でした。チェックで修正が入ると、描画をやり直す分も含めて時間が伸びるためです。純粋な描画だけでも7分37秒かかっていて、1コマずつ描く方式の重さが見えます。
費用
| 工程 | 入力トークン | 出力トークン | Claude費用 |
|---|---|---|---|
| 台本づくり | 4116 | 12347 | $0.26(約40円) |
| 公開前チェックと修正 | 21321 | 10631 | $0.30(約45円) |
| 合計 | – | – | $0.56(約84円) |
1ドル=150円で換算しています。VOICEVOX・レンダラー・効果音はローカル処理なので、Claudeの費用はこの2工程だけです。チェック側は画像を含むため入力トークンが多くなっています。
AIのチェックで見つかった問題と直し方
今回、固有名詞の取り違えのような原作との事実誤りは指摘されませんでした。一方で、メタデータや表現まわりの指摘が出ています。
1回目のチェック(判定OK・警告4件)
- 音声クレジット:VOICEVOX(ずんだもん)の利用規約で求められるクレジットが概要欄にない
- サムネイルと字幕のずれ:字幕は「弱点のしっぽをつかむも」なのに、絵はラディッツが悟空を蹴っている場面
- 暴力表現:10番目の場面の映像は、棒人間でも貫通や出血の描写を控えめにするよう注意
- タイトル表記の不一致:タイトルが「【60秒でわかる】」、サムネイルが「【あらすじ】」で揃っておらず、実際の尺が60秒前後かも確認すべき
特にタイトルの件は、実際の尺が1分09秒なので「60秒でわかる」は誤解を招く可能性がありました。最終的なタイトルは「【あらすじ】」に揃っています。自分で台本を見ていたら見落としそうな、メタデータと中身の整合性の指摘が出たのは収穫でした。
2回目のチェック(判定OK・提案1件)
修正後の2回目では1回目の指摘は出ず、残ったのは「サムネイルの悟飯が困り顔に近く、『悟飯激怒!』の文字ほど怒りが伝わらない」という任意の提案だけでした。眉の角度やオーラのエフェクトで強調する案が出ていて、レンダラー側の表情表現の課題として持ち帰っています。
やってみてわかったこと・今後
- 台本をJSONにすると後工程が楽:見た目・動き・カメラまで構造化しておくと、レンダラーは解釈せずに描くだけで済む
- チェックは「誤り探し」より「整合性チェック」で効く:タイトル・サムネイル・尺・字幕と絵の対応など、人が見落としやすい部分を拾ってくれた
- 表情表現が弱い:棒人間の顔で「怒り」と「困り」の差が出しにくい。表情パターンとエフェクトを増やしたい
- 描画時間の短縮:修正のたびに描画をやり直すので、変更があった場面だけ描き直す仕組みを検討中
まとめ
題材を設定ファイルに書くだけで、1分09秒・12場面のYouTubeショートが19分34秒、Claude費用約84円で公開まで進みました。AIによる公開前チェックは、タイトルと尺のずれやクレジットの抜けといった実務的な問題を拾い、自動修正後の再チェックで提案1件まで減らせています。次は表情表現と描画の効率化に取り組みます。
※動画は原作のファンによる非公式の紹介動画です。登場人物は棒人間で表現しており、原作の絵・音声は使用していません。音声: VOICEVOX:ずんだもん




