OpenSource-Hub

Sana

フレームワーク

NVlabs/Sana

線形拡散Transformerに基づく、高効率な高解像度画像および動画合成。

概要

SANA は、効率的な高解像度画像および動画生成のためのオープンソースコードベースであり、完全なトレーニングと推論のパイプラインを提供します。線形拡散 Transformer をベースに、テキストから画像生成、テキストから動画生成、およびワールドモデルなどのタスクをサポートしています。

README プレビュー

\n  \n\n\n\n📚 Docs | SANA | SANA-1.5 | SANA-Sprint | SANA-Video | SANA-WM | Sol-RL\n  \nDemo | 🤗 HuggingFace | ComfyUI | SGLang | Cosmos-RL\n\n\n\n\n    \n    \n    \n    \n    \n\n\n\n    \n    \n\n\nICLR 2025 Oral | ICML 2025 | ICCV 2025 Highlight | ICLR 2026 Oral \n\n**SANA** is an efficiency-oriented codebase for high-resolution image and video generation, providing complete training and inference pipelines. This repository contains code for [SANA](https://nvlabs.github.io/Sana/), [SANA-1.5](https://nvlabs.github.io/Sana/Sana-1.5/), [SANA-Sprint](https://nvlabs.github.io/Sana/Sprint/), [SANA-Video](https://nvlabs.github.io/Sana/Video/), [SANA-WM](https://nvlabs.github.io/Sana/WM/), and [Sol-RL](https://nvlabs.github.io/Sana/Sol-RL/). More details can be found in our [📚 documentation](https://nvlabs.github.io/Sana/docs/).\n\nJoin our [Discord](https://discord.gg/rde6eaE5Ta) to engage in discussions with the community! If you have any questions, run into issues, or are interested in contributing, don't hesitate to reach out!\n\n\n  \n\n\n## News\n\n- 🔥 [2026/05] 🌍 **SANA-WM: 2.6B Controllable World Model** is released! Supports 720p, 1-min video generation with 6-DoF camera control. A new baseline for World Modeling and Embodied AI. See [Project](https://nvlabs.github.io/Sana/WM/) | [Paper](https://huggingface.co/papers/2605.15178).\n- 🔥 [2026/04] ⚡ **Sol-RL: NVFP4 Rollout, BF16 Training RL** is available! All training recipes for **SANA**, **FLUX.1**, and **SD3.5-L**, together with bundled post-training datasets, are released. See [Sol-RL doc](https://nvlabs.github.io/Sana/docs/sol_rl/) | [Page](https://nvlabs.github.io/Sana/Sol-RL/) | [Paper](https://arxiv.org/abs/2604.06916).\n- 🔥 [2026/03] 📺 **SANA-Video 720p model with LTX-VAE** is released. Use it with LTX2 Refiner to upscale the videos to 2K resolution! See [Model Zoo](https://nvlabs.github.io/Sana/docs/model_zoo/#sana-video), [SANA-Video doc](https://nvlabs.github

FAQ (4)

トラブル対応
カスタムトレーニングされたベース拡散モデルをDreambooth + LoRAのファインチューニングのためにdiffusers形式に変換する方法

提供されたスクリプトを使用してください: python tools/convert_sana_to_diffusers.py。このスクリプトは、non-diffusers の重みを期待される diffusers の state dict フォーマットに変換し、モデルを Dreambooth および LoRA トレーニングスクリプトと互換性があるようにします。

参照 Issue #278
トラブル対応
なぜSol-H3 Stage 2では、誰も話していないのに唇が動くような、品質の悪いリップシンクが生成されるのですか?また、どうすれば修正できますか?

Sol-H3-Spark / Sol-H3-RTX5090では、Stage 2はH3オーディオをエンコードし、最初のStage-2 sigma(0.909375)まで再ノイズ化し、映像と同時にデノイズした後、そのオーディオを破棄して元のH3 PCMをmuxしていました。唇は再生成されたトラックに対してリファインされますが、これは英語のように聞こえる意味不明な音声であり、無音の間にさえ音声が含まれることがあるため、リップシンクがずれ(SyncNet LSE-Cが約8.2から約4.4に低下)、ルームトーン中にも口が動くことがありました。修正(PR #543でマージ済み):LTX-2のa2vid_two_stage.pyが行っているのとまったく同じように、Stage-2リファイン中はオーディオをクリーンでフリーズした状態に保ち、ノイズ化する代わりにModalitySpec(frozen=True, noise_scale=0.0, initial_latent=encoded_audio_latent)として渡します。これにより、レンダリング時間は同一、出力オーディオも変更なしのまま、リップシンクが回復します(LSE-C 約4.4 → 7.8)。修正を適用するには、commit 62da34b以降に更新してください。

参照 Issue #535
トラブル対応
Ascend NPU上で「Torch not compiled with CUDA enabled」またはNCCLエラーが原因でLongSanaがクラッシュする問題の解決方法

LongSana は分散初期化と FSDP デバイスに CUDA/NCCL をハードコードしているため、非 CUDA アクセラレータ(例:torch_npu を使用した Ascend NPU 910B)では失敗します。PR #514 で修正されました。以下の変更を適用してください:(1) diffusion/longsana/utils/distributed.py に、デバイス/バックエンド解決ヘルパーを追加します:get_device_type()、get_current_device()、get_default_dtype()、set_device()、および get_distributed_backend()。これらは Ascend では npu/hccl、CUDA では cuda/nccl、CPU のみの環境では cpu/gloo を返します。(2) ハードコードされた呼び出しを置き換えます:launch_distributed_job(backend="nccl")(83行目)を get_distributed_backend() を使用するように変更し、torch.cuda.set_device(local_rank)(97行目)を set_device(local_rank) に置き換え、FSDP wrap 内の device_id=torch.cuda.current_device()(69行目)を get_current_device() に置き換えます。(3) diffusion/longsana/trainer/ode.py:41 および trainer/self_forcing_trainer.py:47 で、self.device = torch.cuda.current_device() をリゾルバーに置き換えます。(4) パイプラインファイル(sana_training_pipeline.py、sana_inference_pipeline.py、sana_inference_interactive_pipeline.py、sana_inference_interactive_pipeline_long_chunk.py)で、torch.device("cuda" if torch.cuda.is_available() else "cpu") と fp32 フォールバック dtype を get_device_type()/get_default_dtype() に置き換え、CPU/fp32 へ暗黙的にフォールバックするのではなく NPU が検出されるようにします。パッチ適用後、torchrun --nproc_per_node=N longsana_trainer.py は HCCL を正しく初期化し、FSDP は npu:<rank> 上でパラメータをラップします。CUDA の動作は変更されません。

参照 Issue #513
トラブル対応
なぜLongSanaVideoPipelineはdiffusersに含まれていないのですか?また、LongSanaを実行するにはどうすればよいですか?

LongSanaVideoPipelineは、diffusersライブラリ(最新の開発版でも)にはまだ実装されていません。Hugging Faceのモデルページには「近日公開予定」と記載されています。回避策として、公式のSanaリポジトリをクローンしてください:git clone https://github.com/nvlabs/Sana.git そして、その推論ガイドに従ってください。また、動画生成が必要な場合は、既に利用可能なSANA-Videoパイプラインを試すこともできます。

参照 Issue #354