メインコンテンツへスキップ
見出し画像

MiniMax H3 +日本語の歌データでリップシンク動画を作る

    【追記】高速化 lora 使用版については末尾に追記しました

    タイトルの通りです。試した動作環境は以下の通りです。

    • RTX5060 TI (VRAM 16GB)

    • Ubuntu 22.04LTS

    • Main Memory 64GB

    ComfyUI は最新版を使います。なお、この記事の執筆時点の最新バージョンは v0.30.0 でした。

    ワークフロー

    画像
    MiniMax H3 参照から動画

    ComfyUI のテンプレートにある「MiniMax H3: 参照から動画」のワークフローをほぼそのまま使います。

    デフォルトでは音声を入力するノードがないので「音声を読み込む」ノードを追加して、ノードの audio 出力を MiniMax H3 Referenece to Video のノードの入力にある ref_audio_0 のピンに接続します。

    画像
    音声読み込みノードの追加

    モデルは下記から取得可能です。

    参照データの設定

    参照する画像や音声は下記のようになっているものとします。

    • ref_image_0 に先頭フレームの画像を入力している

    • ref_audio_0 に日本語で歌っている歌の音声データを入力している

    動画の長さは、音声の長さより少し長くなるように設定します。

    画像
    画像・音声・プロンプトの例

    動画の尺(長さ)は Float (Duration) と書かれているノードで、秒数で指定します。指定できる範囲は 2.0 から 10.0 までです。

    ちなみに、入力できる画像などの数の上限は以下の通りです。(ただし ComfyUI のデフォルトのワークフローだとこの上限まで入力できません。多少の改造が必要です)

    • 画像: 9枚以下

    • 動画: 3クリップ以下。各クリップの長さは2~15秒、合計時間は15秒以下

    • 音声: 3クリップ以下。音声は画像または動画入力と併用する必要があり、単独の入力として使用することはできません。各クリップの長さは2~15秒、合計時間は15秒以下

    • 混合入力:すべての入力タイプを合わせたファイルの最大数は12です

    プロンプト

    H3 の ref モデル用のプロンプトの書き方のガイドに従ってプロンプトを書きます。ガイドのページは以下にあります。

    日本語の歌をリップシンクさせる場合、次のように書くとうまくいくことが多いようです(入力の音声データを映像全体に適用し、なおかつ他の音を淹れない場合)。

    subject_definitions:
    <Picture 1> is the exact first frame of [Shot 1] at 00:00.000.
    <Audio 1>: fully_copy - <Audio 1> is reused 1:1 as the target video's complete final audio track, (S1) sings a song.
    
    detailed_description:
    [Shot 1] The shot begins from <Picture 1> as the exact first frame at 00:00.000.
    <Audio 1> is the Japanese song with the lyrics <d>[Japanese]"○○○○○○○○"</d>. The mouth of (S1) movements are precisely synchronized with the Japanese lyrics. 
    
    --- このへんに SHOT 1 の映像の内容を書く ----
    
    overall_soundscape:
    <Audio 1> only, copied exactly as the complete final audio track. No additional speech, ambience, crowd noise, instrument sound, or sound effects.
    
    non_diegetic_music:
    <Audio 1> only.

    "○○○○○○○○" の部分には歌ってる歌詞を書いてください。音声データの途中にセリフのない時間が長めにはいっていると、余計なセリフをしゃべったりします。

    入力する音声データは、歌い出しまでに 0.5 秒ほど隙間をあけないと、最初の一音目までにキャラクタが口を開くのが間に合わないことがあります。

    同様に、生成する映像の長さは、入力する音声データ +0.5 秒程度にしたほうがいいです。

    なお、プロンプトは英語で書いたほうが追随性は良いです。

    生成例を以下に示します。

    ローカル動画生成 AI の H3 (MiniMax) でリップシンクも軽く試しました

    単純に音声と画像を入力するだけではダメで、

    音声と画像を1枚ずつ与えた場合は、最低限、

    下記のようにプロンプトを書く必要があるようです

    ----
    <Audio 1> の音声をそのまま使用し、音声の変更、追加は行わない
    <Audio 1>… https://t.co/SyKcEq9RYk pic.twitter.com/DEpXC4mjbr

    — AI Bard Guild (@IsekaiBardGuild) August 6, 2026

    歌が聞き取りにくかったり、早口だったりする音声だと、うまくいかないことがあります。

    プロンプトで指定していても、音声(歌声)が少し改変されてしまうこともあります。生成された動画の部分だけ取り出して、オリジナルの音声を当てなおしたほうがいいかもしれません。

    高速化 Lora 使用ワークフロー

    下記のLoraで試しました。

    ワークフローは下記にあります

    ワークフローへの直リンクも一応張っておきます。下記リンク先にいって、右上にある Download raw file のアイコンをおせばワークフローをダウンロードできます。

    リップシンク用の Lora は minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors を使いましす。

    上のワークフローには音声読み込みノードが付いていないので、ref_audio0 に「音声を読み込む」ノードを接続します。

    画像
    音声読み込みノード

    プロンプトは高速版ではないものと同じでOKです。

    生成例

    MiniMax H3 の高速化Lora+リップシンクを試しています

    左は lora あり: 4分11秒で生成
    右は lora なし: 21分02秒で生成

    いずれも RTX5060TI (16GB) で生成しています

    比べるとわずかに lora なしのほうが
    顔周りの出来がいい気がしますが、
    それ以外は見分けがつかないです… https://t.co/SyKcEq9RYk pic.twitter.com/bUdD7u53fZ

    — AI Bard Guild (@IsekaiBardGuild) August 15, 2026


    参考

    公式のプロンプトガイドです。特殊な記法を使ったほうが、指示通りの内容の動画に近づくので、一読したほうがよいです。


    あなたへのおすすめ