最新の追記仕様(一括処理・字幕自動同期・設定ファイル外部化・AI活用許可)をすべて踏まえた構成です。
1本の台本を指定して単発実行する使い方に加え、フォルダ内に複数の台本を並べておけば自動で連続生成する一括処理にも対応します。
📁 一括処理対象フォルダの構成イメージ
💻 一括実行時のログイメージ
Whisper APIでタイムスタンプ付き文字起こしを取得したあと、Claude APIが読みやすいテロップの形に自動で整えます。
// タイムスタンプ付き・句読点なし・改行なし {"start": 12.4, "end": 16.8, "text": "えーとですね今日はチャンネル運営を劇的にラクにする方法をご紹介していきますそれではさっそく見ていきましょう"}
[
{"t":12.4,"end":14.6,"line":"今日はチャンネル運営を"},
{"t":14.6,"end":16.8,"line":"劇的にラクにする方法を"},
{"t":16.8,"end":18.9,"line":"ご紹介していきます"},
{"t":18.9,"end":21.0,"line":"それではさっそく見ていきましょう"}
]
フィラー除去・句読点の補完・1行あたりの最大文字数を、設定ファイルの値に応じてClaudeが自動調整します。
ローカルで起動している VOICEVOX (http://localhost:5021) に整形済みテキストを送信し、話者ごとのナレーションWAVを生成します。
{
"text": "今日はチャンネル運営を...",
"speaker": config.voicevox_speaker_id
}
→ audio_query を /synthesis に渡してWAVを取得
保存先: /work/audio/segment_003.wav
生成された音声の長さは次のFFmpeg合成ステップで字幕タイミングの基準になります
ご要望いただいた「音声の長さ・発声タイミングに合わせてテロップ表示タイミングを自動で正確に同期」する部分の設計です。
Step2で整形したテロップ行に、対応する音声セグメントの開始/終了タイムスタンプを割り当てます。
フォント・サイズ・文字色・縁取り色・画面上の表示位置は設定ファイルの値からスタイルを自動反映します。
指定の画像/ループ動画を背景に、生成したナレーション音声と字幕を1本のmp4として書き出します。
1920×1080(横型)/ 1080×1920(縦型)を config の一項目で切り替え可能にします。
APIキー・Claudeモデル名・テロップデザイン・背景素材パスはすべて config.json / .env 側で管理します。
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx VOICEVOX_ENDPOINT=http://localhost:5021
{
"claude_model": "claude-sonnet-5", // 新モデル登場時はここだけ変更
"resolution": "1920x1080", // or "1080x1920"
"telop": {
"font": "Noto Sans JP Bold",
"size": 54,
"color": "#FFFFFF",
"stroke_color": "#1A1428",
"position": "bottom"
},
"background_path": "./assets/bg_default.png",
"voicevox_speaker_id": 3
}
Claude Code / Cursor / ChatGPT等の活用を全面許可いただいている点、承知しております。未公開データ・認証キー等は取り扱いルールを遵守してお預かりします。