📺 「Claude Code でいろいろ作ってみた」シリーズ・番外編
ターミナルで動く AI「Claude Code」に、ふだんの作業道具を日本語で頼んで作ってもらう記録です。今回は 寝ている間に動画を量産する「夜間バッチ」 編。
第1回 で「台本テキスト → しゃべる動画(mp4)」に変換する道具を作りました。1本作れるようになると、次にぶつかるのは「何本も作るのが地味に面倒」という壁です。
お題を考えて、台本を作らせて、長さを確かめて、動画にして、サムネを作って……これを1本ずつ手でやると、結局ずっとパソコンの前に張り付くことになります。
そこで作ったのが 「お題をリストに書いておけば、寝ている間に勝手に何本も動画を作っておいてくれる道具」 =夜間バッチです。この記事は、その仕組みを できるだけかみ砕いて 紹介する記録です。コードはほとんど出しません。
何ができるようになったのか
ひとことで言うと、「作りたい動画のお題を1行ずつ書いたリストを置いて、夜に1回コマンドを打つ(または自動で始まる)と、朝には複数本の動画が出来上がっている」 という状態です。
やることは、お題を書いたメモを用意するだけ。中身はこんな1行です。
structure | SEOの記事構成・本文の書き方を初心者向けに解説。…(お題の続き)
|(縦棒)の左が 出力ファイル名、右が AI に渡すお題 です。これを作りたいぶんだけ並べておきます。
そして夜に1回、これを実行します。
python -m src.batch
あとは放っておくだけ。朝起きると、出来上がった動画が output/videos/main/ にずらっと並んでいる——というのが今回のゴールです。
なぜ「ただ1本ずつ繰り返す」だけじゃダメなのか
「1本作る道具があるなら、それを順番に何回も回せばいいだけでは?」と思いますよね。実はそこに、無人で回すからこその落とし穴がいくつかあります。
| 落とし穴 | 何が困るか |
|---|---|
| 途中の1本でエラーが出ると止まる | 朝起きたら2本目で止まっていて、残りが全滅 |
| 短すぎる動画ができてしまう | AI が手を抜いて短い台本を書くと、スカスカの動画が量産される |
| 同じ動画を作り直してしまう | 昨夜できた分まで毎回作り直して時間のムダ |
| 重い処理を全部に回してしまう | ダメな台本にまで重い動画変換をかけて朝まで終わらない |
夜間バッチは、これらを「無人でも事故らない」ように1つずつ潰した道具です。順番に見ていきます。
工夫① 1本コケても、止まらない
一番大事なのが 「1本が失敗しても、次の本へ進む」 ことです。
夜間バッチは、1本ぶんの作業を 使い捨ての別作業として切り離して 実行します(専門的には「サブプロセスで隔離」と言います)。こうすると、3本目でエラーが起きても、その失敗はその1本の中に閉じ込められ、4本目はちゃんと始まります。
人で例えるなら、「1人がつまずいても全員が転ばない」ように、作業者を1人ずつ分けておくイメージです。朝起きて「2本目で全部止まってた」という最悪の事態を防げます。
そして失敗した本は、なぜダメだったかの記録を残して 「朝レビュー用のフォルダ」 に台本を退避します。捨てるのではなく「これは人間が見てね」と仕分けしておくわけです。
工夫② 「短い動画」を、重い処理の前に弾く
このシリーズの動画には 「本編は8分(480秒)以上にする」 という自分ルールがあります。短いとスカスカで、見る人のためになりません。
ところが AI に台本を書かせると、ときどき短めの台本が出てきます。問題は、動画に変換する処理がとても重いこと。短いダメ台本にまで重い変換をかけてしまうと、朝までに終わらなくなります。
そこで、順番をこう工夫しました。
お題
│
▼ ① 台本を作る(AI)
│
▼ ② ざっと検品(両キャラ出てる? 行数・文字数は足りてる?)
│
▼ ③ 声だけ先に作って「実際の長さ」を測る ★重い動画変換の前!
│
├─ 8分未満 → 動画にせず「もっと長く」と指示して作り直し
│
▼ ④ 8分以上 → ここで初めて重い動画変換+サムネ+一式まとめ
│
▼ 完成
ポイントは ③ です。動画にする前に「声だけ」を先に作れば、実際に何分の動画になるかが分かります。長さの判定を、一番重い工程の前に持ってきたわけです。
これは Claude Code との相談の中で「8分ルールを守りつつ、ムダな重い処理を避けるにはどうするか」を詰めて出てきた設計でした。言われてみれば当たり前ですが、無人で回すうえではここが効きます。
工夫③ 短かったら「もっと長く」と言って作り直す
③で測った長さが8分に足りなかったとき、すぐ諦めるのはもったいない。そこで AI に「前回は短すぎたので、今回はもっと長く・密度を上げて書いて」と伝えて作り直させます。
実際に追記している指示はこんな趣旨の文章です。
【最重要・尺の指定】本編は必ず8分以上にすること。セリフ数を十分に増やし、各ポイントを具体例・たとえ話・補足説明で深掘りして尺を伸ばす。前回の生成は尺が短すぎて不採用でした。
人間が「もうちょっと長くして」とお願いするのと同じことを、自動でやらせているだけです。作り直す回数には上限があり(既定で2回まで)、それでもダメなら無理に動画化せず朝レビューに回します。質を落としてまで本数を稼がないための歯止めです。
工夫④ できている分は作り直さない(レジューム)
夜間バッチは、作り始める前に 「この動画、もう出来てない?」 を確認します。すでに完成した mp4 があれば、その本はスキップします。
おかげで、たとえば10本のうち6本まで終わったところで朝になっても、翌晩もう一度回せば 残りの4本だけ を作ってくれます。途中から再開できる(レジューム)ので、何度でも気軽に回せます。
工夫⑤ 設定はぜんぶ1か所にまとめる
「8分ルールの秒数」「作り直す回数」「お題リストの場所」といった数値は、コードの中に埋め込まず、設定ファイル1か所にまとめてあります。中身はこんな感じです。
batch:
min_duration_sec: 480 # 本編8分超ルール(実測がこれ未満なら動画化せずスキップ)
retry_on_short: 2 # 短いとき「もっと長く」と作り直す回数
retry_on_render_error: 1 # 動画変換が一時的に失敗したとき作り直す回数
skip_if_done: true # 既にある動画はスキップ(途中から再開できる)
「8分を10分に変えたい」「作り直しを3回まで許したい」と思ったら、ここの数字を書き換えるだけ。コードを触らずに方針を調整できます。
「寝ている間に」を実現する仕上げ
ここまでが中身の話。最後に「就寝中に勝手に始まる」ための仕上げです。
動画の声を作る VOICEVOX という無料ソフトは、別で起動しておく必要があります。これを毎晩手で立ち上げるのは面倒なので、起動用のスクリプトを1本用意しました。役割はシンプルです。
- VOICEVOX が動いていなければ起動して、準備できるまで待つ
- 準備できたら夜間バッチを実行する
- 結果のログをファイルに残す
.\run_overnight.ps1
さらに Windows の「タスクスケジューラ」に登録すれば、毎晩決まった時刻に勝手に始まるようにできます(例: 毎日深夜2時)。あとは寝るだけ。
⚠️ ひとつ注意。パソコンがスリープしていると動きません。電源設定でスリープを切るか、「タスク実行のためにスリープ解除」を有効にしておく必要があります。私もここで一度ハマりました。
朝、起きたらやること
無人といっても、最後の確認は人間の仕事です。朝にやることはこれだけ。
| 確認するもの | 中身 |
|---|---|
| 結果サマリのログ | 何本完成して、何本が朝レビュー行きか一覧で分かる |
| 朝レビュー用フォルダ | 短すぎ・検品落ちした台本。直せそうなら手を入れる |
| 完成した動画 | 中身をざっと確認してから投稿へ |
大事なのは、この道具は YouTube に自動投稿まではしないということ。投稿用の素材一式をフォルダにまとめるところで、わざと止めています。「人の目を通さずに公開する」のは、さすがに怖いからです。最後のゴーサインは自分で出す——ここは譲りませんでした。
Claude Code に作らせて、よかったこと
| よかったこと | 中身 |
|---|---|
| 既存の道具を壊さず増築できた | 「1本作る道具」はそのままに、それを順番に呼ぶ係を新しく足すだけで済んだ |
| 「事故らない設計」を一緒に考えてくれた | 1本コケても止まらない・重い処理の前に弾く、といった勘所を相談しながら詰められた |
| 自分ルールを守らせられた | 「8分未満は動画化しない」という方針をそのまま仕組みに落とし込めた |
特に良かったのは、今ある道具を作り直さずに「外側から呼ぶ係」を足すだけで量産化できたことです。いきなり全部を作り変えるのではなく、「動いているものはそのままに、新しい役割を1つ足す」という進め方を、Claude Code がきちんと選んでくれました。
まとめ
| 項目 | 内容 |
|---|---|
| 作ったもの | お題リストから複数本の動画を無人で量産する夜間バッチ |
| きっかけ | 1本作れても「何本も作る」のが面倒だった |
| 事故らない工夫 | ①1本コケても止まらない ②重い処理の前に長さを測って弾く ③短ければ作り直す ④できた分はスキップ |
| 無人化の仕上げ | VOICEVOX 自動起動+タスクスケジューラで毎晩自動実行 |
| 守ったこと | 8分ルールは死守/YouTube への自動投稿はしない(最後は人が確認) |
「1本作る」から「寝ている間に量産する」へ。やったことは、今ある道具を作り変えるのではなく、それを順番に・安全に呼ぶ係を1つ足しただけでした。
「同じ作業を何回も繰り返している」ものがあれば、それは夜のうちに自動で片付く候補かもしれません。まずは Claude Code に ふだんの言葉で相談してみるのがおすすめです。
📚「Claude Code でいろいろ作ってみた」シリーズ
- 第1回:ずんだもんの掛け合い動画を作る道具
- 第2回:台本そのものを AI に書かせる(お題 → 台本)
- 第3回:サムネイル画像を自動で作る
- 第4回:タイトル・概要欄・字幕ファイルをまとめて作る
- 第5回:YouTube 投稿用の素材を一式そろえる
- 第6回:縦型ショート(Shorts)を量産する
- 番外編(この記事):寝ている間にゆっくり実況を量産する夜間バッチ
「プログラミングは分からないけど、AI に相談しながら自分専用の道具を作る」をテーマに続けています。よかったら他の回ものぞいてみてください。