# Qwen-Image-2.1: vLLM-Omni recipe

Image-generation recipe with vLLM-Omni requirements and separate precision choices.

- Type: Deployment recipe
- Evidence: source_reported; site reproduced: false
- Model family: Qwen
- Model: Qwen/Qwen-Image-2.1
- Original author: vllm-project
- Original project: https://github.com/vllm-project/recipes
- Pinned document: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml
- Source revision: d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94
- Source commit time (not experiment date): 2026-10-17T09:22:45Z
- Checked: 2026-10-17
- Experiment date: None
- Runtime topics: vLLM-Omni
- Hardware topics: nvidia
- Reported setup: {"system": null, "node_count": null, "parallelism": null, "kv_dtype": null, "context_limit_tokens": null, "experiment_date": null}
- Performance figures: attributed selections with per-point conditions; no cross-source ranking

## Conditions

Unknown is null. Recipe options are not measured benchmark settings.

```json
{
  "conditions": {
    "model_revision": null,
    "weight_hash": null,
    "runtime_execution_revision": null,
    "input_tokens": null,
    "output_tokens": null,
    "concurrency": null,
    "cache_state": null,
    "quantization": null,
    "speculative_decoding": null,
    "temperature": null,
    "top_p": null
  },
  "test_profiles": [],
  "recipe_parameters": {
    "minimum_runtime_version": "0.29.0",
    "nightly_required": false,
    "model_context_limit_tokens": null,
    "compatible_strategies": [
      "single_node_tp"
    ],
    "hardware_claims": [
      {
        "profile": "gb300",
        "maintainer_status": "verified"
      }
    ],
    "recipe_updated_on": "2026-09-19",
    "effective_default_minimum_runtime_version": "0.29.0"
  },
  "deployment_options": [
    {
      "variant": "default",
      "model_id": "Qwen/Qwen-Image-2.1",
      "precision": "bf16",
      "supported_hardware": null,
      "model_revision": null,
      "declared_planning_minimum_gb": 40,
      "minimum_runtime_version": "0.29.0",
      "extra_args": [],
      "tensor_parallel_by_hardware": null
    },
    {
      "variant": "fp8",
      "model_id": "Qwen/Qwen-Image-2.1",
      "precision": "fp8",
      "supported_hardware": null,
      "model_revision": null,
      "declared_planning_minimum_gb": 40,
      "minimum_runtime_version": "0.29.0",
      "extra_args": [
        "--diffusion-quantization-config",
        "{\"transformer\":{\"method\":\"fp8\",\"ignored_layers\":[\"img_mlp\"]}}"
      ],
      "tensor_parallel_by_hardware": null
    }
  ]
}
```

## Reading notes

- Recipe minimum engine version: 0.29.0.
- Default artifact: Qwen/Qwen-Image-2.1.
- Variant and hardware settings are source declarations; select the matching original profile.

## Limits

- Image throughput is not comparable with text-token throughput.
- Input length, output policy, concurrency and cache are workload-specific; no single benchmark is inferred from the recipe.

## License declaration

{"declared_spdx": "Apache-2.0", "scope": "Recipe repository only; each model and conversion has independent distribution terms."}


## Editorial answer

The pinned Qwen-Image-2.1 recipe defaults to Qwen/Qwen-Image-2.1 (bf16). Its effective default-variant minimum is vLLM 0.29.0. Select the exact variant, hardware override and topology before treating it as a launch plan. No deployment was run by this site.

By Run AI Here editorial · 2026-10-17

AI-assisted source reading and original editorial synthesis; no independent model execution.

## Which artifact and engine does this recipe select?

The recipe identifies Qwen/Qwen-Image-2.1 as its model family entry and selects Qwen/Qwen-Image-2.1 by default. The default precision label is bf16; model-wide and variant-specific runtime requirements are kept separately below. The document revision fixes what the recipe said, while the weight revision and executed runtime revision remain separate fields. A model-family title alone cannot establish either artifact identity.

Sources: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104

## What needs special attention for this model?

This is image generation through vLLM-Omni, not a text decode benchmark. The YAML’s context-length zero is a not-applicable sentinel, not a zero-token model. The BF16 description reports a 34.0 GB peak on one GB300 at 1024×1024, 40 steps, CFG off and VAE tiling; its 40 GB planning minimum is a separate derived budget. Do not express image performance in language-model tokens per second.

Sources: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L21

## How should the settings be applied?

Choose one artifact variant and one hardware profile from the original recipe, then resolve its shared, variant, hardware, strategy and optional-feature settings together. The base arguments listed here are only one layer and are deliberately not presented as a complete runnable command. Check any nightly-image requirement and the model’s parsers before loading weights. A context declaration is a model limit, while batched-token and sequence settings control a serving workload.

Sources: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L118

## What does the memory number mean?

The GB figure is the recipe’s declared planning minimum for the selected variant. It is not a site measurement, a universal peak allocation or a promise of maximum context. KV cache, auxiliary/draft models, image encoders, temporary workspace and active requests still require memory. Keep GB and GiB distinct, and use the actual artifact size and runtime allocation for a machine-specific budget.

Sources: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L108

## What is needed to reproduce a deployment?

Save the model and conversion revisions, weight hashes, tokenizer/template, container or runtime digest, device count/topology and complete resolved launch. First check one short public request. For a subsequent measurement, fix input and output counts, concurrency, cache state, warmup, sampling, reasoning effort, repetitions and failures. The declarations on this page are source configuration facts; no throughput or quality outcome follows from them.

Sources: https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L125

## Attributed configuration facts

```json
[
  {
    "name": "Architecture",
    "value": "dense",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L40",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Total parameters as counted by recipe",
    "value": "16B",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L41",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Active parameters as counted by recipe",
    "value": "16B",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L42",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Native context declaration (tokens)",
    "value": null,
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L43",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Model-wide minimum vLLM",
    "value": "0.29.0",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L27",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Effective default-variant minimum vLLM",
    "value": "0.29.0",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L27",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Default artifact",
    "value": "Qwen/Qwen-Image-2.1",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Default precision label",
    "value": "bf16",
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Default planning minimum (GB; recipe declaration)",
    "value": 40,
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L108",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Default variant hardware allowlist",
    "value": null,
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Shared base arguments (incomplete launch)",
    "value": [],
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Declared compatible strategies",
    "value": [
      "single_node_tp"
    ],
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Optional feature names",
    "value": [],
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  },
  {
    "name": "Features selected by default",
    "value": [],
    "classification": "recipe_declaration",
    "evidence_url": "https://github.com/vllm-project/recipes/blob/d5fc1f55cee70f4e1944f2dd4f7569cb8276ad94/models/Qwen/Qwen-Image-2.1.yaml#L104",
    "source_document_sha256": "b7423875f68d7111765c3206e0fab9ec9c590b98f9d041c8f956339479fb23cb"
  }
]
```
