# nvidia/Cosmos3-Super-Image2Video — vLLM serving recipe

> 64B Cosmos3-Super specialization for temporally coherent image-to-video generation

Configuration: hardware `h200` (8× H200) · variant `default` (BF16) · task `i2v`

- Interactive page: https://vllm-recipes-git-preview-vllm-pr-60762-inferact-inc.vercel.app/nvidia/Cosmos3-Super-Image2Video
- This configuration as JSON: https://vllm-recipes-git-preview-vllm-pr-60762-inferact-inc.vercel.app/nvidia/Cosmos3-Super-Image2Video.json?hardware=h200

The commands below were rendered for exactly this configuration and take precedence over any example in the guide.

## Other configurations

Change the query string (the same parameters as the page URL) and fetch this URL again. Unknown or incompatible values fall back to the recipe default, so check the Configuration line.

- `hardware`: `h100`, `h200`, `b200`, `gb200`, `b300`, `gb300`, `mi300x`, `mi325x`, `mi350x`, `mi355x`
- `variant`: `default`
- `task`: `i2v`

## Install

Requires vLLM >= 0.21.0.

```bash
uv venv
source .venv/bin/activate
uv pip install -U vllm --torch-backend auto
```

## Serve

vLLM-Omni recipe — the generation endpoints and request examples are in the guide below.

```bash
vllm serve nvidia/Cosmos3-Super-Image2Video \
  --host 0.0.0.0 \
  --port 8000 \
  --cfg-parallel-size 2 \
  --ulysses-degree 4 \
  --use-hsdp \
  --hsdp-shard-size 8 \
  --init-timeout 1800 \
  --omni
```

## Guide

> Background reference. Commands in it are examples and may target another configuration — use the Serve section above.

### Overview

**Cosmos3-Super-Image2Video** is a 64B specialization of NVIDIA's Cosmos3-Super
omnimodal world model, tuned for **temporally coherent image-to-video
generation**: given one input image and text instructions, it produces video
sequences consistent with the provided visual content. It is served via
**vLLM-Omni**.

For best quality, text prompts should be JSON-upsampled (see the
`scripts/upsample_prompt.py` helper in the model repo).

### Prerequisites

- 8× H200, H100, or A100 for the documented full-node profile
- The release-tested `vllm/vllm-omni:cosmos3` container, or vLLM-Omni installed
  on top of `vllm==0.21.0`

### Launch command (vLLM-Omni)

Recommended configuration on 8×H200, 8×H100, or 8×A100:

```bash
docker pull vllm/vllm-omni:cosmos3

vllm serve nvidia/Cosmos3-Super-Image2Video \
  --omni \
  --host 0.0.0.0 \
  --port 8000 \
  --cfg-parallel-size 2 \
  --ulysses-degree 4 \
  --use-hsdp \
  --hsdp-shard-size 8 \
  --init-timeout 1800
```

With this configuration, 50-step video generation takes ~55 seconds on H200.
For **2×H200**, use `--cfg-parallel-size 2 --use-hsdp --hsdp-shard-size 2`
(a video takes ~3 minutes). Tensor parallelism is also supported via
`--tensor-parallel-size`. On memory-constrained GPUs,
`--enable-layerwise-offload` reduces VRAM usage at a performance cost.

#### Example: image-to-video

```bash
curl -X POST http://localhost:8000/v1/videos/sync \
  -H "Accept: video/mp4" \
  -F "input_reference=@assets/example_first_frame.png" \
  -F "prompt=$(cat assets/example_prompt.json)" \
  -F "size=1280x720" \
  -F "num_frames=189" \
  -F "fps=24" \
  -F "num_inference_steps=35" \
  -F "guidance_scale=6.0" \
  -F "max_sequence_length=4096" \
  -F "flow_shift=10.0" \
  -F "seed=1111" \
  --output output.mp4
```

### References

- [Model card](https://huggingface.co/nvidia/Cosmos3-Super-Image2Video)
- [vLLM-Omni](https://github.com/vllm-project/vllm-omni)
- [Cosmos](https://github.com/nvidia/cosmos)
