「AIにすべてを任せることが最適解ではない」——今回、YouTube動画のテロップ自動作成ツールをClaude Codeと作る中で、一番強く実感したのはこのことでした。
最初は「動画を渡せば完成品が出てくる」完全自動化を目指していましたが、途中でその方針を手放すことになります。行き着いたのは、「AIに向いている作業はAI、人が判断すべきことは人」という役割分担でした。この記事では、そこに至るまでの試行錯誤をまとめます。
きっかけ
このツールは、ゼロから自分で発想したものではありません。YouTubeで見つけた、Claude Codeを使って動画の字幕テロップを自動生成する方法を紹介する動画がきっかけでした。「AIに指示を出すだけで字幕生成の仕組みが作れる」という発想と、最初の土台をこの動画から得ることができました。
ただし、そこで紹介されていた仕組みをそのまま再現したわけではありません。自分の動画制作フロー(音声認識のクセ、いつも作っている字幕の感覚、Premiere Proでの編集手順など)に合わせて、Claude Codeと何度もやり取りしながら作り直していく中で、当初の「全自動」という方針そのものを見直すことになりました。参考動画がくれたのはあくまで「入口」で、そこから先は自分のチャンネルに合わせた試行錯誤の連続でした。
今回作ったものの概要
最初に思い描いていたのは、「編集済みの動画をAIに渡すと、テロップが焼き込まれた完成動画が出てくる」という完全自動化でした。実際、動画に直接テロップを焼き込むところまでは、参考動画で紹介されていたプロンプトのおかげで簡単に作れました。
しかし、でき上がった動画を確認すると、テロップの表示タイミングや区切り方は、思っていた以上に自分の好み・感覚に左右される領域だと気づきます。ここを完全自動に任せると「らしくない」仕上がりになり、結局手直しが発生して二度手間になりかねません。
そこで方針を転換し、最終的にでき上がったのは次のような半自動ツールです。
- 音声を自動で文字起こし
- よくある聞き間違いを辞書ベースで自動修正
- 読みやすい区切りで字幕を分割し、人が確認・修正できるテキストファイルとして書き出す
- 確認・修正後の内容を、動画編集ソフトに読み込める字幕ファイル(SRT)として出力
- サムネイル候補画像の自動生成
- 「字幕を黄色にして」のような自然な言葉での見た目変更
- 過去動画のBGMの使い方を分析し、そのルールに沿って自動ミックスする機能
AIが担当したこと・自分が担当したこと
このツールの核心は、以下の役割分担にあります。
| 担当 | 内容 |
|---|---|
| AI(Claude Code)が担当 | 音声の文字起こし、聞き間違いの自動修正、字幕の区切り案の生成、SRTファイルへの変換、過去の字幕データの解析、サムネイル候補の生成 |
| 自分が担当 | 区切り案の確認・修正、最終的な表示タイミングの微調整、Premiere Proでの位置調整、意味的に紛らわしい誤字の判断 |
「動画を渡したら完成品が出てくる」ツールではなく、「一番手間のかかる”入力作業”をAIに任せ、最後の”判断”は自分の手でやる」という役割分担が、このツールの一番の特徴です。
使った技術要素
- 音声認識:
whisper.cppをローカルで実行(日本語精度重視でlarge-v3-turboモデルを使用)。クラウドAPIを使わず完全ローカル処理のため、音声データを外部に送らずに済む - 処理の流れ:
ffmpegで音声抽出→whisper.cppで単語単位の文字起こし→独自辞書で誤認識を自動補正→fugashi(形態素解析)で読みやすい単位に分割→人が確認・修正→SRTファイル出力→サムネイル候補の抽出・生成 - 主なライブラリ:Python、
whisper.cpp、ffmpeg、fugashi+unidic-lite、pillow、numpy、pyyaml
Claudeと相談しながら詰めていった変遷
自分の実績データから「読みやすい区切り」を割り出した
最初は単純なルールで区切っていましたが、自分がいつも作っている字幕の感覚とは違っていました。そこでClaudeに、過去に自分が手作業で作っていた字幕データを実際に解析してもらい、「1テロップあたり平均16〜18文字」といった自分自身の実績値を割り出し、それに合わせてロジックを作り直しました。
細かい調整と発見
タイミングのズレのしきい値調整、文字化けバグの原因調査(UTF-8のバイト列がセグメント境界で分断される現象)など、実際に動かしてみて初めて見えた課題を、Claudeと一緒に1つずつ切り分けていきました。
工夫した点・こだわった点
- 全自動を目指さず、人の判断を挟む前提のワークフローを主軸にした
- 誤字修正はコード変更不要で、辞書ファイルに1行追加するだけで反映される
- いきなり動画に焼き込むのではなく、人がチェックできる中間ファイルを挟んだ
- 確信が持てない修正は自動で決めつけず、都度確認する運用にした
今回の作業を通しての気づき・学び
一番の気づきは、「全自動化がゴールではない」ということでした。テロップのタイミングや区切り方は人間の感覚・好みに強く依存する領域で、そこまで機械任せにすると、かえって手直しの手間が増えてしまいます。
参考にした動画は発想の入口として本当に助かりましたが、そこから自分のチャンネルに合う形に仕上げていく過程で、完全自動化という当初の方針を手放すことになりました。AIとの共同開発は、「最初のきっかけ」と「そこからの試行錯誤」の両方があってこそ、実用レベルに届くのだと実感しています。
過去の自分の実績データを解析して基準を学習させるアプローチも、抽象的なルールを最初から決め打ちするより精度が高く、応用が効く考え方だと感じました。
結局のところ、AIは人間の代わりに何かをやってくれる存在ではなく、人間がより重要な判断(タイミングの微調整、意味の紛らわしい誤字の見極めなど)に集中できるようにしてくれるパートナーでした。すべてを委ねるのではなく、どこを任せてどこを自分で判断するか——その線引きを見極めることこそが、今回のツール作りで一番の学びだったと思います。
かかった時間の目安
- コア部分の構築(文字起こし〜字幕分割):初日に合計3時間半ほど
- 半自動ワークフローへの転換:翌日にまとめて3時間強
- 追加機能・辞書の追記:後日、断続的に数時間
コア機能の構築だけで、合計7〜8時間程度・実質2日間という規模感でした。

