wjs-localizing-video (オーケストレーター)
このスキルは分割されました。 かつて1300行の一括スキルだったものは、4つの集中したサブスキルに分割されました。このオーケストレーターは、ユーザーが一度のリクエストで 完全なパイプライン を要求した場合のみ使用してください。個別のステップについては、直接サブスキルにルーティングしてください。
4つのサブスキル
| ステップ | スキル | IN | OUT |
|---|---|---|---|
| 1. ASR | /wjs-transcribing-audio | 音声 / 動画 + ソース言語 | ソース言語のSRT |
| 2. 翻訳 | /wjs-translating-subtitles | ソースSRT + ターゲット言語 | ターゲットSRT (句読点区切り) |
| 3. 吹き替え (オプション) | /wjs-dubbing-video | 動画 + ターゲットSRT + 音声 | *_<lang>_dub.mp4 (TTS音声を差し替え) |
| 4. 焼き込み / ミックス (オプション) | /wjs-burning-subtitles | 動画 + SRT + (オプション吹き替え) | 最終MP4 (1回のエンコード) |
ステップ3と4はオプションであり、互いに独立しています。ほとんどの「字幕のみ」のジョブは、ステップ2の後、/wjs-burning-subtitles によるソフトマックスで終了します。ほとんどの「吹き替えのみ」のジョブは、ステップ3の後で終了します。
このオーケストレーターを呼び出すタイミング vs サブスキルを直接呼び出すタイミング
このスキル (wjs-localizing-video) を呼び出す:ユーザーがチェーン全体を一度に要求した場合。
- "帮我把这个西班牙语视频做成中文字幕和中文配音"
- "translate this Spanish video to English with dubbing"
- "全套:转写、翻译、烧字幕、配音、混音"
サブスキルを直接呼び出す:ユーザーが1つのステップだけを要求した場合。
- "转写一下这个音频" →
/wjs-transcribing-audio - "把这个 SRT 翻译成中文" →
/wjs-translating-subtitles - "给这个视频配个中文音" →
/wjs-dubbing-video - "把字幕烧进视频" →
/wjs-burning-subtitles
サブスキルの方がより集中しており、入出力の契約もより厳密に文書化されています。単一のステップが要求全体である場合に、このオーケストレーターを通じてルーティングしないでください。不要なドキュメントを読むだけになります。
進捗チェックリスト (最初にこれを行う。サブスキルの前)
パイプラインは最大4つのステップからなり、数分間実行されます。ユーザーは、沈黙の壁の後に完成したファイルが表示されるのではなく、ライブでの進捗を見たいと考えています。最初のサブスキルを呼び出す前に、計画されたステップを TaskCreate チェックリストとしてレイアウトしてください。各ステップを開始するときに、そのタスクを in_progress に更新し、終了時に completed にマークします。Claude Code はこれをUI上でリアルタイムにチェックが入るチェックリストとしてレンダリングします。
作成するタスク
ユーザーの要求から、4つのステップのうちどのサブセットを実行するかを決定します。
| ユーザーの要求 | 作成するタスク |
|---|---|
| 完全ローカライゼーション (字幕 + 吹き替え + 最終ミックス) | ① 转写 ② 翻译 ③ 配音 ④ 烧字幕 + 混音 |
| 字幕のみ (声の変更なし) | ① 转写 ② 翻译 ③ 烧字幕 (またはソフトマックス) |
| 吹き替えのみ (字幕焼き込みなし) | ① 转写 ② 翻译 ③ 配音 |
| ユーザーが既にソースSRTを持っている | ① をスキップ;残りのステップのみ作成 |
| ユーザーが既にターゲットSRTを持っている | ① と ② をスキップ;残りのステップのみ作成 |
実行しないステップのタスクは作成しないでください。最後にチェックされていない項目があると、「スキップした」ではなく、「忘れた」と読まれます。
タスク件名の表現方法
以下の「最終応答テンプレート」で使用するのと同じラベルを使用してください。これにより、進行中のチェックリストと完了サマリーが同じアーティファクトとして読めるようになります。
转写 <source-lang>(例:转写 西班牙语)翻译 → <target-lang>(例:翻译 → 中文)配音 <target-lang>(例:配音 中文 (高冷御姐 -8%))烧字幕 + 原声底层 <bed>(例:烧字幕 + 原声底层 0.18)
activeForm には、現在進行形のバリエーションを使用します (转写中…, 翻译中…, 配音中…, 合成中…)。
状態の規律
- 現在実行中のタスクのみ
in_progressにマークします (一度に1つ)。 - サブスキルが出力ファイルを返したら、すぐに
completedにマークします。まとめて行わないでください。 - ステップで明確化の質問が発生したり、失敗した場合は、
in_progressのまま にしておきます。これにより、ユーザーはパイプラインがどこで停止したかを正確に確認できます。中途半端なステップを完了としてマークしないでください。 - ユーザーがパイプラインの途中で方向転換した場合 (例:「吹き替えはスキップ」)、残りのタスクを更新します。該当しなくなったタスクは削除し、残りを保持します。黙って削除しないでください。
標準的なエンドツーエンドパイプライン (スペイン語 → 中国語、吹き替え + ベッド + 焼き込みあり)
これは元の「検証シナリオ」です。スペイン語のヨガ/スピリチュアルコンテンツを中国語に翻訳し、微信視頻号 / 小紅書向けに出力します。4つのサブスキルすべてを実行します。
ステップ 1 — スペイン語ソースの書き起こし
Invoke /wjs-transcribing-audio with the video and `--language es`.
サブスキルが処理するもの:チャンク分割、単語レベルのタイムスタンプ、句読点境界でのキューアセンブリ、ループガード、リトライ。出力:entrevista.srt (スペイン語、ソース言語)。
ステップ 2 — 簡体字中国語に翻訳
Invoke /wjs-translating-subtitles with the Spanish SRT and target `zh-CN`.
サブスキルが処理するもの:句読点でのキュー再セグメンテーション、フィラーの指示語を最小化、行の長さを制限、話者のトーンを維持。出力:entrevista.zh-CN.srt。
ステップ 3 — (オプション) 中国語への吹き替え
Invoke /wjs-dubbing-video with the video + entrevista.zh-CN.srt + a voice ID.
成熟した瞑想的な女性のデフォルト:zh_female_gaolengyujie_moon_bigtts (火山 高冷御姐、--rate -8% +0Hz)。火山の認証情報がない場合:zh-CN-XiaoxiaoNeural --rate -8% --pitch -10Hz。サブスキルは最初にサンプリングしてから実行します。
出力:entrevista_zh_dub.mp4。
ステップ 4 — 字幕の焼き込み + 吹き替えを原音の上にベッドとしてミックス
Invoke /wjs-burning-subtitles with --video entrevista.mp4 --srt entrevista.zh-CN.srt --dub entrevista_zh_dub.mp4
サブスキルが処理するもの:libass 利用可能性チェック、evermeet 静的ビルドフォールバック、フォントサイズ調整、フルレンダリング前のフレームチェック、0.18 でのオーディオベッドミックス。
出力:entrevista_zh_final.mp4 (出荷準備完了)。
ユーザーが標準化したデフォルト
これらはパイプライン全体に適用されます。各サブスキルは独自の部分を適用します。
- 中国語ASRはまず豆包 (火山) にルーティングします。Whisper はフォールバックです。
/wjs-transcribing-audioで適用されます。 - ユーザーが明示的に複数の話者を言及しない限り、吹き替え全体で単一の音声を使用します。
/wjs-dubbing-videoで適用されます。 - 吹き替えの下に、元の音声を低ボリュームのベッド (0.15–0.25) として保持します。
/wjs-burning-subtitlesで適用されます。 - 微信視頻号 / 抖音向けは焼き込み。それ以外はデフォルトでソフトマックス。
/wjs-burning-subtitlesで適用されます。 - チャンネルCTA名 (説明に追加する場合): 王建硕 — ゲストの名前は使用しません。(
~/.claude/CLAUDE.mdのグローバルルール。このパイプラインの後に/wjs-uploading-videoが続く場合に適用されます。)
ファイル命名規則 (元のスキルから維持)
input: entrevista.mp4
Chinese pipeline:
source SRT entrevista.srt
Chinese SRT entrevista.zh-CN.srt
Chinese dub (audio only) entrevista_zh_dub.mp4
Chinese final (subs+dub) entrevista_zh_final.mp4
English pipeline:
English SRT entrevista.en.srt
English dub entrevista_en_dub.mp4
English final entrevista_en_final.mp4
Bilingual subtitles:
Spanish + Chinese entrevista.es-zh.srt
Spanish + English entrevista.es-en.srt
three-language entrevista.es-zh-en.srt
BCP-47形式のサフィックスにより、複数のターゲット言語出力を並べて保持でき、ターゲットが一目でわかります。
このオーケストレーターが行わないこと
- 何も再実装しません。すべてのステップはサブスキルに委譲します。
- スクリプトをバンドルしません。
dub.pyは/wjs-dubbing-video/scripts/に、render.pyは/wjs-burning-subtitles/scripts/に、visual_diarize.pyは/wjs-dubbing-video/scripts/にあります。wjs-localizing-video/scripts/の下に古いコピーがある場合は、正規のサブスキルの場所を優先してください。
最終応答テンプレート
フルパイプラインが完了したら、ユーザーの言語で簡潔に応答します。ユーザーが慣れている元の「Done」テンプレートに一致させてください。
已完成:
- 西班牙语转写 (/wjs-transcribing-audio)
- 中文翻译 (/wjs-translating-subtitles)
- 中文配音 (/wjs-dubbing-video, voice: 高冷御姐 -8%)
- 烧入字幕 + 原声底层 0.18 (/wjs-burning-subtitles)
输出:
- entrevista.srt
- entrevista.zh-CN.srt
- entrevista_zh_dub.mp4
- entrevista_zh_final.mp4
不确定片段:
- 00:01:23–00:01:26 背景噪音较大,原文可能不完全准确。
不確かな部分がない場合は、2番目のリストを削除します。
関連項目
/wjs-segmenting-video— 長編動画をスタンドアロンのショートクリップにカットします (独自のSRTスライサーを使用。このパイプラインとは直交します)。/wjs-overlaying-video— HyperFrames を介してクリップにHTML/CSSキャプションを追加します。/wjs-burning-subtitlesと組み合わせないでください — 出力ごとに1つのキャプションシステムを選択してください。/wjs-uploading-video— 最終MP4をYouTubeにプッシュします。/lark-minutes— ローカルの豆包ASRが設定されていない場合の代替中国語専用書き起こしパス (飛書妙記経由)。