Sana

Method overview: Sana’s linear DiT pipeline for deep-compression latent image generation.

Sana from NVIDIA: text-to-image and text-to-video; Runner parity pending; 20 variants.

Sana is NVIDIA's efficient generation family, and the largest variant surface in the video category: twenty recorded variants spanning text-to-image (600M–4.8B, up to 4K), ControlNet-conditioned image generation, Sana-Video 2B text-to-video at 480p/720p, LongSANA long video, and SANA-Streaming video-to-video (long and bidirectional). Checkpoint math is split across canonical role-based diffusion components in-tree.

Official paper teaser: Sana efficient high-resolution image generation samples from the paper.
Official paper teaser: Sana efficient high-resolution image generation samples from the paper.
Method overview: Sana’s linear DiT pipeline for deep-compression latent image generation.
Method overview: Sana’s linear DiT pipeline for deep-compression latent image generation.

The recorded paper is SANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformers (2024).

Project page: nvlabs.github.io/Sana. Code: NVlabs/Sana.

Build your run

Pipeline
Sana600M512pxPipelineworldfoundry.pipelines.sana.pipeline_sana
TaskInteractive Video interactive-video
Environmentworldfoundry-unified-cu128
DeviceCUDA 12.8
Runnerworldfoundry.pipeline
Loadingfrom_pretrained
Invocationnative_or_standard_invocation
worldfoundry-eval run \
  sana-600m-512px \
  --pipeline.task-profile interactive-video \
  --json

Variants

  • sana-600m-512px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-600m-512px

  • sana-600m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-600m-1024px

  • sana-1600m-512px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-512px

  • sana-1600m-512px-multiling
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-512px-multiling

  • sana-1600m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-1024px

  • sana-1600m-1024px-multiling
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-1024px-multiling

  • sana-1600m-1024px-bf16
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-1024px-bf16

  • sana-1600m-2k-bf16
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-2k-bf16

  • sana-1600m-4k-bf16
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-1600m-4k-bf16

  • sana1p5-1600m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana1p5-1600m-1024px

  • sana1p5-4800m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana1p5-4800m-1024px

  • sana-sprint-600m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-sprint-600m-1024px

  • sana-sprint-1600m-1024px
    StatusRunner parity pending

    text-to-image

    Runtime profilesana

    Pipeline bindingsana-sprint-1600m-1024px

  • sana-controlnet-600m-1024px
    StatusRunner parity pending

    image-conditioned-generation

    Runtime profilesana

    Pipeline bindingsana-controlnet-600m-1024px

  • sana-controlnet-1600m-1024px-bf16
    StatusRunner parity pending

    image-conditioned-generation

    Runtime profilesana

    Pipeline bindingsana-controlnet-1600m-1024px-bf16

  • sana-video-2b-480p
    StatusRunner parity pending

    text-to-video

    Runtime profilesana-video-2b-480p

    Pipeline bindingsana-video-2b-480p

  • sana-video-2b-720p
    StatusRunner parity pending

    text-to-video

    Runtime profilesana-video-2b-720p

    Pipeline bindingsana-video-2b-720p

  • longsana-video-2b-480p
    StatusRunner parity pending

    text-to-video

    Runtime profilelongsana-video-2b-480p

    Pipeline bindinglongsana-video-2b-480p

  • sana-streaming-2b-720p
    StatusRunner parity pending

    video-to-video

    Runtime profilesana-streaming-2b-720p

    Pipeline bindingsana-streaming-2b-720p

  • sana-streaming-bidirectional-2b-720p
    StatusRunner parity pending

    video-to-video

    Runtime profilesana-streaming-bidirectional-2b-720p

    Pipeline bindingsana-streaming-bidirectional-2b-720p

What it is for

Use sana-600m-512px when the job is a catalog still image rather than video.

Sana's efficiency comes from a deep-compression autoencoder (32x) plus linear-attention DiT blocks and a small LLM text encoder, per the publication (arXiv 2410.10629).

Catalog tasks include text-to-image, text-to-video, video-to-video, and image-conditioned-generation. Catalog aliases include sana-video, longsana-video, sana-streaming, and sana-streaming-bidirectional. Documented modalities: text and video in, image and video out. Also recorded: sana-600m-1024px, sana-1600m-512px, sana-1600m-512px-multiling.

Recorded evaluation entry points include VBench (Quality suite for the Sana-Video T2V routes), SANA-WM 80-Scene Benchmark (This repository's Sana-specific world-model benchmark).

Not SANA-WM. Score on VBench and SANA-WM 80-Scene Benchmark.

Runtime contract

Optional prompt, negative_prompt, input_path, interactions, and frames; artifacts sana.png.

CLI task profiles: interactive-video and video-to-video. WorldFoundry binds SanaPipeline.

Start on sana-600m-512px. The family registers 20 catalog variants (cards above): sana-600m-512px (text-to-image) — Runner parity pending; sana-600m-1024px (text-to-image) — Runner parity pending; sana-1600m-512px (text-to-image) — Runner parity pending; sana-1600m-512px-multiling (text-to-image) — Runner parity pending; sana-1600m-1024px (text-to-image) — Runner parity pending among others. Family status: Runner parity pending.

Integration is Runner parity pending, but note the recorded evidence: the long-streaming checkpoint completed a real A100 run with 81 decoded 1280x704 frames at 16 FPS (artifact SHA256 recorded in the profile). SANA-Streaming accepts a source video path or hf:// URI. Full 50-step / longer-frame official quality parity remains pending.

Sana checkpoint math is split across the canonical denoiser, network, encoder, autoencoder, initializer, scheduler, and recipe roles under worldfoundry.base_models.diffusion_model.

Running in WorldFoundry

The catalog launch is worldfoundry-eval run sana-600m-512px --pipeline.task-profile interactive-video. The command builder above switches --pipeline.task-profile among recorded tasks and still emits worldfoundry-eval run.

It runs in the unified environment worldfoundry-unified-cu128 (Python 3.11, CUDA 12.8).

Recorded weight repositories include Efficient-Large-Model/Sana_600M_512px, Efficient-Large-Model/Sana_600M_1024px, and Efficient-Large-Model/Sana_1600M_512px among others. Prepare the environment and check local assets with bash scripts/inference/prepare_model_infer.sh sana-600m-512px. Add --download to fetch missing public checkpoints.

Status: Runner parity pending.