LongCat-Video-Avatar-1.5:美団のオープンな音声駆動デジタルヒューマン動画モデル

美団 LongCat チームが Hugging Face で公開した LongCat-Video-Avatar-1.5 を整理する。音声駆動のデジタルヒューマン動画生成に向けたモデルで、AT2V、ATI2V、動画継続、単一人物と複数人物の音声入力、蒸留推論、INT8 量子化に対応する。

LongCat-Video-Avatar-1.5 は、美団 LongCat チームが公開した音声駆動のデジタルヒューマン動画生成モデルだ。

プロジェクト:https://huggingface.co/meituan-longcat/LongCat-Video-Avatar-1.5

これは通常のテキスト動画生成ではない。「音声とキャラクター条件を与えると、話し、安定して動き、同一性を保つ動画を生成する」ためのモデルだ。モデルカードによると、Audio-Text-to-Video、Audio-Text-Image-to-Video、Video Continuation に対応し、単一音声入力と複数音声入力の両方をサポートする。

執筆時点で、Hugging Face ページでは MIT License が表示されており、audio-text-to-videoaudio-image-text-to-videoaudio-driven-video-continuationavatarvideo-generation などのタグが付いている。

1.5 版の更新点

公式モデルカードでは、LongCat-Video-Avatar 1.5 は音声駆動の人物動画生成における安定性を高めた、より production-ready なオープンソースフレームワークとして説明されている。

主な変化は明確だ。

第一に、音声エンコーダーが Wav2Vec2 から Whisper-Large に置き換わった。公式説明では、これにより唇の動きがより滑らかで自然になるという。実際に使う場合、リップシンクを重視する場面では --model_type avatar-v1.5 を優先したい。

第二に、長尺動画の安定性と同一性維持を強調している。デジタルヒューマン動画でよくある問題は二つある。短い動画で口の動きが合わないこと、そして長い動画で顔、身体、服、動きが徐々にずれることだ。LongCat-Video-Avatar-1.5 の特徴の一つは、lip sync、full-body temporal stability、identity consistency を同時に扱おうとしている点にある。

第三に、リアルな人物の読み上げだけを対象にしていない。モデルカードでは、アニメ、動物、複数人物のインタラクション、物体を扱う場面などにも汎化すると説明されている。つまり、ニュース読み上げ型のデジタルヒューマンだけでなく、短編ドラマ、歌唱、EC の商品紹介、アニメキャラクター、動物キャラクターにも使える可能性がある。

第四に、8-step 推論を提供している。公式には DMD2-based step distillation によって推論を 8 NFE まで圧縮し、配信コストと画質のバランスを取ると説明されている。動画生成は計算コストが高いため、推論ステップ数の削減はそのままデプロイしやすさに関わる。

対応するタスク

モデルカードとサンプルコマンドを見ると、主に三つのタスクに分けられる。

一つ目は単一人物のアニメーションだ。

音声とテキストから動画を生成でき、音声と画像から動画を生成することもできる。典型的には、音声を与えて特定のキャラクターに話させたり、演じさせたり、読み上げさせたりする。

二つ目は動画継続だ。

サンプルでは --num_segments=5--ref_img_index=10--mask_frame_range=3 などのパラメータを使い、既存のキャラクター条件のもとでより長いクリップを生成している。長いナレーション、講義、歌唱、連続した演技に向いている。

三つ目は複数人物のアニメーションだ。

複数人物モードでは run_demo_avatar_multi_audio_to_video.py を使い、複数の音声ストリームをサポートする。モデルカードでは二つの dual-audio mode も説明されている。audio_typepara にすると merge mode になり、同じ長さの二つの音声が必要になる。add にすると concatenation mode になり、二つの音声を順番につなぎ、間隔を無音で埋める。

インストールとモデルのダウンロード

公式手順では、まず LongCat-Video リポジトリを clone する。

1
2
git clone --single-branch --branch main https://github.com/meituan-longcat/LongCat-Video
cd LongCat-Video

次に Python 3.10 環境を作成し、CUDA バージョンに合わせて PyTorch をインストールする。モデルカードの CUDA 12.4 の例は次の通り。

1
2
3
conda create -n longcat-video python=3.10
conda activate longcat-video
pip install torch==2.6.0+cu124 torchvision==0.21.0+cu124 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124

その後、flash_attn==2.7.4.post1、プロジェクト依存関係、librosaffmpegrequirements_avatar.txt も必要になる。モデルカードによると、設定では FlashAttention-2 がデフォルトで有効化されており、FlashAttention-3 や xformers に変更することもできる。

重みは huggingface-cli でダウンロードできる。

1
2
3
pip install "huggingface_hub[cli]"
huggingface-cli download meituan-longcat/LongCat-Video --local-dir ./weights/LongCat-Video
huggingface-cli download meituan-longcat/LongCat-Video-Avatar-1.5 --local-dir ./weights/LongCat-Video-Avatar-1.5

ここで注意したいのは、二つの重みディレクトリが必要な点だ。一つは基盤動画生成モデルの LongCat-Video、もう一つはデジタルヒューマン用の LongCat-Video-Avatar-1.5 である。

簡単な推論例

単一人物の Audio-Text-to-Video:

1
torchrun --nproc_per_node=2 run_demo_avatar_single_audio_to_video.py --context_parallel_size=2 --checkpoint_dir=./weights/LongCat-Video-Avatar-1.5 --stage_1=at2v --input_json=assets/avatar/single_example_1.json --use_distill --model_type avatar-v1.5 --use_int8

単一人物の Audio-Image-to-Video:

1
torchrun --nproc_per_node=2 run_demo_avatar_single_audio_to_video.py --context_parallel_size=2 --checkpoint_dir=./weights/LongCat-Video-Avatar-1.5  --stage_1=ai2v --input_json=assets/avatar/single_example_1.json --use_distill --model_type avatar-v1.5 --use_int8

複数人物の Audio-Image-to-Video:

1
torchrun --nproc_per_node=2 run_demo_avatar_multi_audio_to_video.py --context_parallel_size=2 --checkpoint_dir=./weights/LongCat-Video-Avatar-1.5 --input_json=assets/avatar/multi_example_1.json --use_distill --model_type avatar-v1.5 --use_int8

これらのコマンドには共通点がある。すべて --model_type avatar-v1.5 を使い、--use_distill を付け、例では --use_int8 も有効にしている。モデルカードでは、avatar-v1.5 を使う場合 --use_distill が必要であり、--use_int8 は VRAM 使用量を減らすために INT8 量子化 DiT モデルを読み込むオプションで、avatar-v1.5 のみ対応とされている。

パラメータ調整

モデルカードには実用的なヒントがいくつかある。

リップシンクが十分でない場合は、audio CFG を上げる。公式の推奨範囲は 3 から 5 で、値を上げると同期が改善しやすい。

Prompt は短すぎないほうがよい。長く具体的な説明のほうが、キャラクターの一貫性と自然さにつながりやすい。外見、動作、場面、服装、表情などを書き込むとよい。

動作の繰り返しが出る場合は、--ref_img_index--mask_frame_range を調整する。モデルカードでは、--ref_img_index は 0 から 24 の間が一貫性に有利で、30 にすると繰り返し動作を減らす助けになると説明されている。--mask_frame_range を増やすことも有効な場合があるが、大きすぎるとアーティファクトが出る可能性がある。

解像度は 480P と 720P に対応し、--resolution で制御できる。

向いている場面

公式プレビューは、ニュース読み上げ、演技、歌唱、EC マーケティング、複数人物会話、アニメーション、動物キャラクターをカバーしている。

実用途としては、次の方向に向いている。

  • ニュース読み上げ、知識解説、講義ナレーション。
  • EC 商品紹介とマーケティング短編動画。
  • バーチャル配信者、バーチャルキャラクターの短編ドラマ、歌唱表現。
  • アニメや動物キャラクターの音声駆動アニメーション。
  • 複数人物の会話型デジタルヒューマン動画。

注目点は、「リップシンク」と「長尺動画の安定性」を同じフレームワークで扱っていることだ。多くのデジタルヒューマンモデルは短いクリップなら良く見えるが、長く生成すると同一性のずれ、動作の繰り返し、身体の不安定さが出やすい。LongCat-Video-Avatar-1.5 はこれらを明確な最適化対象にしている。

使うときの注意点

第一に、これは Hugging Face Inference Provider で直接使えるホスト済みモデルではない。ページでは現在 Inference Provider にデプロイされていないと表示されているため、実際に使うには環境を用意し、重みをダウンロードし、LongCat-Video のコードを実行する必要がある。

第二に、ローカルデプロイのハードルは低くない。サンプルコマンドは torchrun --nproc_per_node=2context_parallel_size=2 を使い、PyTorch、FlashAttention、ffmpeg、librosa、複数のモデル重みに依存する。INT8 量子化があっても、強めの GPU 環境を持つユーザー向けだ。

第三に、デジタルヒューマン動画は肖像、音声、プライバシー、コンテンツ安全性に関わる。モデルカードも、開発者が正確性、安全性、公平性を自分で評価し、データ保護、プライバシー、コンテンツ安全に関する法規制を遵守する必要があると述べている。実在人物の外見や商用動画を生成する場合、許諾とコンプライアンスは技術的な見栄え以上に重要だ。

第四に、モデルカード内の一般的な Hugging Face “Diffusers/Transformers usage snippets” を、このプロジェクトの完全な推論方法として扱わないほうがよい。実際の avatar 推論は LongCat-Video リポジトリと、モデルカードの run_demo_avatar_* 例を参照すべきだ。

まとめ

LongCat-Video-Avatar-1.5 は注目に値するオープンソースのデジタルヒューマン動画モデルだ。単に顔を話させるだけでなく、音声駆動、キャラクター一貫性、長尺動画の安定性、複数人物音声、蒸留推論を同じフレームワークに入れている。

バーチャル配信者、EC の口播、講義動画、アニメキャラクター、複数人物会話動画に関心があるなら、試す価値がある。ただし、ワンクリックで使える Web ツールというより、研究チームやエンジニアリングチームがデプロイして調整するモデルに近い。実運用では、計算資源、素材の権利、プロンプト調整、コンテンツコンプライアンスの準備が必要になる。

参考資料

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。