H3 Video:AI ショートドラマ全工程
このフローは、いくつかの実際の作品における手戻り経験に基づいています。核となる考え方は:まず計画し、各関門で確認を入れ、間違いがあればその層だけを修正する。
全体フロー(順番通り、ステップを飛ばさないこと)
| ステップ | やること | 関門 |
|---|---|---|
| 0 | 調査:まず同種の優れた作品や他人のやり方を調べ、手法をメモする | — |
| 1 | 計画を書く:トーンとスタイル、台詞表、セグメント分割、生成リスト(テンプレートは templates/計画テンプレート.md を参照) | ユーザーが計画を確認 |
| 2 | 吹き替え:ナレーションとオフスクリーン音声はTTSで別途出力し、実際の時間を計測する | ユーザーが試聴し音色を確認 |
| 3 | キャラクターマスター:各キャラクターにつき正面全身写真を1枚、ストーリーの世界の中で撮影する | ユーザーがマスターを確認 |
| 4 | ファーストフレーム:各セグメントにつき1枚、アクションが始まった瞬間のみを写す | ユーザーがファーストフレームを確認するまで動画を生成しないこと |
| 5 | 生成:まず最速設定で下書きを出力する | — |
| 6 | 発話者チェック、視線チェック、継ぎ目チェックを文単位で行う | 間違いがあれば該当セグメントのみやり直す |
| 7 | 拡大、字幕、ラウドネス、カバー | ユーザーが検収 |
| 8 | 振り返り:計画の「検証すべき手法」欄を箇条書きで採点し、教訓をナレッジベースに書き込む | — |
7つの厳格なルール
- スタイルはストーリーのトーンに従う。 何かを描き始める前に、「トーンとスタイル」セクションを書く:光源と暗さ、色味、衣装の新旧・汚れ、表情、背景の雰囲気。マスターもこの世界の中で撮影し、スタジオの灰色背景は使わない。すべての画像に対して「これはこのストーリーに属するか」と問いかけてから、細部を確認する。暗いストーリーにきれいなアイドル顔を合わせるのが、最も一般的な失敗。
- 1回の生成では発声源は1つだけ。 ナレーションやオフスクリーン音声は決してH3に入れない。さもないと、画面内のキャラクターがナレーションに合わせてリップシンクしてしまい、プロンプトで「黙れ」と書いても抑えられない。ナレーション部分では台詞なしの動画を生成し、音声は後から重ねる。
- その場にいるが話さないキャラクター: 生成時に台詞を与えない;話し手を隠す必要がある場合は、後ろ姿や肩越しのアングルで撮影する。
- 台詞表が唯一の情報源。 各行にタイプ(台詞/オフスクリーン)、話し手、視線の相手、原文を記録する。約3文字/秒で予算を組み、各行は該当セグメント内で言い終えること。以降のステップでは台詞を変更してはならない。
- 視線: 話し手は聞き手を見、聞き手は話し手を見る。プロンプトでは毎行、誰が誰を見ているかを明確に書く。
- ファーストフレームに誤りがあればファーストフレームをやり直し、 プロンプトでごまかそうとしない。チェック時は原寸大に拡大して、手、目、口、装飾品、余分なオブジェクトを確認する。
- 発話者チェックが通らない限り納品しない。 各台詞の時間範囲から密集フレームグリッドを抽出し(
scripts/speaker_grid.py)、「誰の口が動いているか:A / B / 両方 / どちらも」という閉じた質問にのみ回答し、台詞表と照合する。4フレームだけの間引きでは見逃しが発生する。
生成と手戻りの原則
- まず下書き、それから拡大: 確認に十分な最速の解像度で出力し、確認後に合格したバージョンのみを拡大する。
- 失敗したらまず原因を特定: 問題がプロンプト、ファーストフレーム、スクリプト、後処理のどこにあるかを判断し、どの層を修正するかを決める。複数セグメントで同じ誤りがある場合は共有参照(マスター)を修正し、単一セグメントの誤りは該当セグメントのみ修正し、一度に1項目だけ変更する。
- プロンプトは肯定的に記述し、「~しない」を積み重ねない。避けたいものは入力(ファーストフレーム、マスター)に戻して修正する。
- 各セグメントで使用したファーストフレーム、マスター、シード、プロンプトを記録し、 1セグメントだけのやり直しを容易にする。
- 冒頭2秒でテスト: 最初の2秒だけを見て、視聴者が何を見ているか理解できるかを確認する。
参考資料
references/フロー詳細と教訓.md:各ステップの具体的なやり方と陥った落とし穴。references/ComfyUIノードとパラメータ.md:Qwen-Imageによるマスター生成、Qwen-Image-Editによる画像編集、VoxCPM2による吹き替えクローン、H3 Ref2VAのノードとパラメータ、および既知の障害の解決方法。references/オープンソースパイプライン調査.md:9つのオープンソースAI動画プロジェクトの比較、どれを採用すべきか、どれを避けるべきか。templates/計画テンプレート.md:計画ドキュメントのテンプレート。台詞表と検証表を含む。
スクリプト
すべてのスクリプトは環境変数 COMFY_URL でComfyUIに接続します(デフォルトは http://127.0.0.1:8188)。使用方法は scripts/README.md を参照。
| スクリプト | 役割 |
|---|---|
t2i_masters.py | Qwen-Imageでキャラクターマスターをバッチ生成(スタイルプレフィックス + 各キャラクターの説明) |
edit_image.py | Qwen-Image-Editで局所的な画像編集、その他の部分は変更しない |
voice_design.py | VoxCPM2でテキスト説明に基づきキャラクターの声をデザイン、各キャラクターにA/B 2つの試聴用サンプルを出力 |
tts_clone.py | VoxCPM2で参照音声を使い音色をクローン、ナレーションをバッチ出力 |
h3_ref2va.py | H3 Ref2VAワークフローをアセンブルして送信(参照画像、参照音声、ファーストフレームアンカー) |
wait_download.py | タスクが終了するのを待ち、すべての出力をダウンロード |
ws_progress.py | タスクの進捗を表示(送信時のclient_idが必要) |
asr.py | faster-whisperで文字起こし、吹き替えが一字一句一致するか確認 |
speaker_grid.py | 台詞表に基づき文単位で密集フレームグリッドを生成し、発話者チェックを行う |
upscale_video.py | RealESRGANで動画をフレームごとに拡大 |
post_subtitle_loud.py | 字幕を焼き込み、-14 LUFSに2回のloudnormを適用 |
make_cover.py | 3:4と9:16の2バージョンのカバーを出力 |