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

> 64B Cosmos3-Super specialization for high-fidelity text-to-image generation

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

- Interactive page: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/nvidia/Cosmos3-Super-Text2Image
- This configuration as JSON: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/nvidia/Cosmos3-Super-Text2Image.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`: `t2i`

## 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-Text2Image \
  --host 0.0.0.0 \
  --port 8000 \
  --cfg-parallel-size 2 \
  --ulysses-degree 4 \
  --tensor-parallel-size 1 \
  --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-Text2Image** is a 64B specialization of NVIDIA's Cosmos3-Super
omnimodal world model, tuned for **high-fidelity text-to-image generation**.
It is served via **vLLM-Omni**.

For best quality, text prompts should be JSON-upsampled — the model repo ships
an `agentic_upsampling/` package and an `AGENTIC_UPSAMPLING.md` guide.

### Prerequisites

- 8× H100 for the documented full-node profile (4×H200 / 4×GB200 alternative below)
- 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 an 8×H100 node:

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

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

For **4×H200 or 4×GB200**, use
`--cfg-parallel-size 2 --ulysses-degree 2 --tensor-parallel-size 1`.
`--enable-layerwise-offload` can reduce VRAM usage on smaller GPUs, but for
text-to-image it incurs a significant performance penalty.

#### Example: text-to-image

```bash
curl -X POST http://localhost:8000/v1/images/generations \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a dragon flying over the Green Mountains at sunset",
    "size": "1024x1024",
    "seed": 42
  }' | jq -r '.data[0].b64_json' | base64 -d > output.png
```

### References

- [Model card](https://huggingface.co/nvidia/Cosmos3-Super-Text2Image)
- [Agentic prompt upsampling](https://huggingface.co/nvidia/Cosmos3-Super-Text2Image/blob/main/AGENTIC_UPSAMPLING.md)
- [vLLM-Omni](https://github.com/vllm-project/vllm-omni)
- [Cosmos](https://github.com/nvidia/cosmos)
