モデル概要
モデル特徴
モデル能力
使用事例
🚀 SkyReels V2: 無限長映画生成モデル
SkyReels V2は、AutoRegressive Diffusion-Forcingアーキテクチャを採用したオープンソースの映像生成モデルで、公開されているモデルの中でSOTA性能を達成しています。このリポジトリでは、無限長の映画生成モデルの重みを提供しています。
📑 技術レポート · 👋 プレイグラウンド · 💬 Discord · 🤗 Hugging Face · 🤖 ModelScope · 🌐 GitHub
🚀 クイックスタート
📦 インストール
# リポジトリをクローンします。
git clone https://github.com/SkyworkAI/SkyReels-V2
cd SkyReels-V2
# 依存関係をインストールします。テスト環境はPython 3.10.12を使用しています。
pip install -r requirements.txt
モデルのダウンロード
Hugging Faceからモデルをダウンロードできます。
タイプ | モデルバリアント | 推奨高さ/幅/フレーム | リンク |
---|---|---|---|
拡散強制 | 1.3B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
拡散強制 | 5B-540P | 544 * 960 * 97f | 近日公開 |
拡散強制 | 5B-720P | 720 * 1280 * 121f | 近日公開 |
拡散強制 | 14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
拡散強制 | 14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
テキストから映像 | 1.3B-540P | 544 * 960 * 97f | 近日公開 |
テキストから映像 | 5B-540P | 544 * 960 * 97f | 近日公開 |
テキストから映像 | 5B-720P | 720 * 1280 * 121f | 近日公開 |
テキストから映像 | 14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
テキストから映像 | 14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
画像から映像 | 1.3B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
画像から映像 | 5B-540P | 544 * 960 * 97f | 近日公開 |
画像から映像 | 5B-720P | 720 * 1280 * 121f | 近日公開 |
画像から映像 | 14B-540P | 544 * 960 * 97f | 🤗 Huggingface 🤖 ModelScope |
画像から映像 | 14B-720P | 720 * 1280 * 121f | 🤗 Huggingface 🤖 ModelScope |
カメラディレクター | 5B-540P | 544 * 960 * 97f | 近日公開 |
カメラディレクター | 5B-720P | 720 * 1280 * 121f | 近日公開 |
カメラディレクター | 14B-720P | 720 * 1280 * 121f | 近日公開 |
ダウンロード後、生成コマンドでモデルパスを設定します。
シングルGPU推論
長時間映像生成のための拡散強制
拡散強制 バージョンのモデルを使用すると、無限長の映像を生成できます。このモデルは、テキストから映像 (T2V) と 画像から映像 (I2V) の両方のタスクをサポートし、同期と非同期の両方のモードで推論を実行できます。ここでは、長時間映像生成のための2つの実行スクリプトを例として示します。推論パラメータ(例:映像の長さ、推論モード)を調整する場合は、まず以下の注意事項を読んでください。
10秒の映像を同期生成する場合
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 同期推論
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
30秒の映像を非同期生成する場合
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 非同期推論
python3 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 5 \
--causal_block_size 5 \
--base_num_frames 97 \
--num_frames 737 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--offload
⚠️ 重要提示
- 画像から映像 (I2V) タスクを実行する場合は、コマンドに
--image ${image_path}
を追加し、テキストから映像 (T2V) のような最初のフレーム画像の説明を含むプロンプトを使用することをお勧めします。- 長時間映像生成の場合は、
--num_frames
を切り替えることができます。例えば、10秒の映像の場合は--num_frames 257
、15秒の映像の場合は--num_frames 377
、30秒の映像の場合は--num_frames 737
、60秒の映像の場合は--num_frames 1457
です。この数値は、指定された時間の論理的なフレーム数と厳密に一致しているわけではありませんが、一部のトレーニングパラメータと一致しているため、より良い性能が得られる可能性があります。非同期推論でcausal_block_size > 1
を使用する場合は、--num_frames
を注意深く設定する必要があります。--ar_step 5
を使用すると、非同期推論を有効にできます。非同期推論の場合は、--causal_block_size 5
をお勧めしますが、同期生成では設定しないでください。各反復でモデルに入力されるフレーム潜在数(例:基本フレーム潜在数(例:base_num_frames = 97の場合、(97 - 1) // 4 + 1 = 25)や最後の反復の場合(例:base_num_frames = 97、num_frames = 237、overlap_history = 17の場合、(237 - 97 - (97 - 17) x 1 + 17 - 1) // 4 + 1 = 20))は、必ずcausal_block_size
で割り切れる必要があります。適切な値を計算して設定するのが難しい場合は、上記の推奨設定を使用してください。非同期推論では、シーケンス全体を拡散するためにより多くのステップが必要になるため、同期モードよりも遅くなります。実験では、非同期推論により、指示の遵守と視覚的な一貫性の性能が向上する可能性があります。- ピークVRAMを削減するには、
--base_num_frames
を下げるだけです(例:77または57)。ただし、生成したい映像の長さ--num_frames
は同じに保ちます。これにより、映像の品質が若干低下する可能性があり、あまり小さく設定しないでください。--addnoise_condition
は、クリーンな条件にノイズを追加することで、長時間映像生成をスムーズにするために使用されます。ノイズが大きすぎると、不一致が発生する可能性があります。推奨値は20で、より大きな値を試すこともできますが、50を超えないことをお勧めします。- 1.3Bモデルを使用して540Pの映像を生成するには、約14.7GBのピークVRAMが必要です。一方、14Bモデルを使用する場合は、同じ解像度の映像で約51.2GBのピークVRAMが必要です。
テキストから映像と画像から映像
# テキストから映像の生成を実行する
model_id=Skywork/SkyReels-V2-T2V-14B-540P
python3 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface." \
--offload \
--teacache \
--use_ret_steps \
--teacache_thresh 0.3
⚠️ 重要提示
- 画像から映像 (I2V) モデルを使用する場合は、
--image ${image_path}
パラメータを使用して入力画像を指定する必要があります。I2Vモデルの場合は、--guidance_scale 5.0
と--shift 3.0
をお勧めします。- 1.3Bモデルを使用して540Pの映像を生成するには、約14.7GBのピークVRAMが必要です。一方、14Bモデルを使用する場合は、同じ解像度の映像で約43.4GBのピークVRAMが必要です。
プロンプトエンハンサー
プロンプトエンハンサーは、Qwen2.5-32B-Instruct に基づいて実装されており、--prompt_enhancer
パラメータを介して利用できます。短いプロンプトには理想的に機能しますが、長いプロンプトの場合は、生成される映像が過飽和になる可能性のある過度に長いプロンプトが生成される場合があります。--prompt_enhancer
を使用する場合、GPUのピークメモリは64GB以上になります。強化されたプロンプトを個別に取得したい場合は、プロンプトエンハンサースクリプトを個別に実行してテストすることもできます。手順は以下の通りです。
cd skyreels_v2_infer/pipelines
python3 prompt_enhancer.py --prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface."
⚠️ 重要提示
--use_usp
を使用する場合は、--prompt_enhancer
は許可されません。--use_usp
パラメータを有効にする前に、skyreels_v2_infer/pipelines/prompt_enhancer.py スクリプトを最初に実行して、強化されたプロンプトを生成することをお勧めします。
高度な設定オプション
以下は、映像生成のためにカスタマイズできる主要なパラメータです。
パラメータ | 推奨値 | 説明 |
---|---|---|
--prompt | 映像を生成するためのテキスト説明 | |
--image | 画像から映像生成のための入力画像のパス | |
--resolution | 540Pまたは720P | 出力映像の解像度(モデルタイプに基づいて選択) |
--num_frames | 97または121 | 生成する総フレーム数(540Pモデルの場合は97、720Pモデルの場合は121) |
--inference_steps | 50 | ノイズ除去ステップ数 |
--fps | 24 | 出力映像のフレームレート |
--shift | 8.0または5.0 | フローマッチングスケジューラパラメータ(T2Vの場合は8.0、I2Vの場合は5.0) |
--guidance_scale | 6.0または5.0 | テキストの遵守強度を制御する(T2Vの場合は6.0、I2Vの場合は5.0) |
--seed | 再現可能な結果のための固定シード(ランダム生成の場合は省略) | |
--offload | True | モデルコンポーネントをCPUにオフロードして、VRAMの使用量を削減する(推奨) |
--use_usp | True | xDiT USPを使用したマルチGPUアクセラレーションを有効にする |
--outdir | ./video_out | 生成された映像が保存されるディレクトリ |
--prompt_enhancer | True | プロンプトをより詳細な説明に拡張する |
--teacache | False | 高速推論のためのteacacheを有効にする |
--teacache_thresh | 0.2 | 高速化すると品質が低下する可能性があります |
--use_ret_steps | False | teacacheのための保持ステップ |
拡散強制の追加パラメータ
パラメータ | 推奨値 | 説明 |
---|---|---|
--ar_step | 0 | 非同期推論を制御する(同期モードの場合は0) |
--base_num_frames | 97または121 | 基本フレーム数(540Pの場合は97、720Pの場合は121) |
--overlap_history | 17 | 長時間映像のスムーズな遷移のために重複するフレーム数 |
--addnoise_condition | 20 | 長時間映像生成の一貫性を向上させる |
--causal_block_size | 5 | 非同期推論を使用する場合(--ar_step > 0)に推奨 |
xDiT USPを使用したマルチGPU推論
xDiT USPを使用して推論を高速化します。例えば、2つのGPUで映像を生成するには、以下のコマンドを使用できます。
拡散強制
model_id=Skywork/SkyReels-V2-DF-14B-540P
# 拡散強制同期推論
torchrun --nproc_per_node=2 generate_video_df.py \
--model_id ${model_id} \
--resolution 540P \
--ar_step 0 \
--base_num_frames 97 \
--num_frames 257 \
--overlap_history 17 \
--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
--addnoise_condition 20 \
--use_usp \
--offload \
--seed 42
テキストから映像と画像から映像
# テキストから映像の生成を実行する
model_id=Skywork/SkyReels-V2-T2V-14B-540P
torchrun --nproc_per_node=2 generate_video.py \
--model_id ${model_id} \
--resolution 540P \
--num_frames 97 \
--guidance_scale 6.0 \
--shift 8.0 \
--fps 24 \
--offload \
--prompt "A serene lake surrounded by towering mountains, with a few swans gracefully gliding across the water and sunlight dancing on the surface." \
--use_usp \
--seed 42
⚠️ 重要提示
- 画像から映像 (I2V) モデルを使用する場合は、
--image ${image_path}
パラメータを使用して入力画像を指定する必要があります。I2Vモデルの場合は、--guidance_scale 5.0
と--shift 3.0
をお勧めします。
🎥 デモ
上記のデモは、SkyReels-V2拡散強制モデルを使用して生成された30秒の映像を示しています。
📑 TODOリスト
- [x] 技術レポート
- [x] 14Bおよび1.3Bモデルシリーズのチェックポイント
- [x] シングルGPUとマルチGPUの推論コード
- [x] SkyCaptioner-V1: 映像キャプショナーモデル
- [x] プロンプトエンハンサー
- [ ] Diffusers統合
- [ ] 5Bモデルシリーズのチェックポイント
- [ ] カメラディレクターモデルのチェックポイント
- [ ] ステップとガイダンス蒸留モデルのチェックポイント
🔥🔥🔥 ニュース!!
- 2025年4月24日: 🔥 720Pモデル SkyReels-V2-DF-14B-720P と SkyReels-V2-I2V-14B-720P をリリースしました。前者は無限長の自己回帰映像生成を容易にし、後者は画像から映像の合成に特化しています。
- 2025年4月21日: 👋 SkyReels-V2 シリーズモデルの推論コードとモデル重み、および映像キャプションモデル SkyCaptioner-V1 をリリースしました。
- 2025年4月3日: 🔥 SkyReels-A2 をリリースしました。これは、任意の視覚要素を組み立てることができるオープンソースの制御可能な映像生成フレームワークです。
- 2025年2月18日: 🔥 SkyReels-A1 をリリースしました。これは、ポートレート画像アニメーションのためのオープンソースで効果的なフレームワークです。
- 2025年2月18日: 🔥 SkyReels-V1 をリリースしました。これは、最初で最も高度なオープンソースの人間中心の映像基礎モデルです。
📚 ドキュメント
概要
近年の映像生成の進歩は、拡散モデルと自己回帰フレームワークによって推進されていますが、プロンプトの遵守、視覚的な品質、動きのダイナミクス、および長さを調和させる上で重大な課題が依然として存在します。具体的には、時間的な視覚品質を向上させるために動きのダイナミクスを犠牲にすること、解像度を優先するために映像の長さを制限すること(5 - 10秒)、および汎用の多モーダル大規模言語モデル(MLLM)が映画文法(ショット構成、俳優の表情、カメラの動きなど)を解釈できないために生じるショット認識生成の不十分さです。これらの相互に関連する制限は、現実的な長編合成とプロフェッショナルな映画スタイルの生成を妨げています。
これらの制限を解決するために、私たちはSkyReels-V2を導入します。これは、拡散強制フレームワークを使用した世界初の無限長映画生成モデルです。私たちのアプローチは、多モーダル大規模言語モデル(MLLM)、多段階事前学習、強化学習、および拡散強制技術を統合して、包括的な最適化を達成します。SkyReels-V2は、技術的な革新に加えて、Skyreels-A2 システムを通じて、ストーリー生成、画像から映像の合成、カメラディレクター機能、および複数の被写体の一貫性のある映像生成など、複数の実用的なアプリケーションを可能にします。
SkyReels-V2の方法論
SkyReels-V2の方法論は、いくつかの相互に関連するコンポーネントで構成されています。まず、様々な品質のトレーニングデータを準備する包括的なデータ処理パイプラインから始まります。その核心は、映像コンテンツに詳細な注釈を付ける映像キャプショナーアーキテクチャです。システムは、多タスク事前学習戦略を採用して、基本的な映像生成能力を構築します。トレーニング後の最適化には、動きの品質を向上させる強化学習、拡張された映像を生成するための拡散強制トレーニング、および視覚的な洗練のための高品質の教師付き微調整(SFT)段階が含まれます。モデルは、効率的なトレーニングと推論のために最適化された計算インフラストラクチャ上で実行されます。SkyReels-V2は、ストーリー生成、画像から映像の合成、カメラディレクター機能、および要素から映像の生成など、複数のアプリケーションをサポートします。
SkyReels-V2の主要な貢献
映像キャプショナー
SkyCaptioner-V1 は、私たちの映像キャプショナーとして機能します。
📄 ライセンス
このプロジェクトは skywork-license の下でライセンスされています。



