Skip to content
Docs

Using Qwen-Image-2512 on Chutes

Qwen-Image-2512 is the December 2025 update of the Qwen team's text-to-image foundation model, focused on human realism, fine natural detail, and in-image text rendering. On Chutes it runs on a dedicated host with a flat-JSON POST /generate endpoint that returns JPEG bytes.

Overview

Qwen-Image launched in August 2025; the 2512 release is its December refresh. The model card names three improvements: enhanced human realism (reducing the waxy "AI-generated" look, with better skin, individual hair strands, and accurate aged features like wrinkles), finer natural detail across landscapes, water, foliage, and animal fur, and improved text rendering with more faithful text-plus-image layout. The card also reports that across more than 10,000 rounds of blind evaluation on Alibaba's AI Arena, Qwen-Image-2512 ranked as the strongest open-source text-to-image model at release.

The generator is a QwenImageTransformer2DModel diffusion transformer: 60 layers, 24 attention heads with head dimension 128, conditioned by a Qwen text encoder (joint attention dimension 3584). It runs as a standard diffusers text-to-image pipeline, samples with true classifier-free guidance (true_cfg_scale), supports negative prompts, and takes prompts in English and Chinese.

Model specifications

PropertyValue
Upstream repoQwen/Qwen-Image-2512
TaskText-to-image generation
TransformerQwenImageTransformer2DModel, 60 layers, 24 heads, head dim 128
Prompt languagesEnglish, Chinese
Guidancetrue_cfg_scale with negative prompt support
Modalitiestext in, image out (JPEG on this chute)
LicenseApache-2.0
ReleaseDecember 2025

Quick start

The chute is served on https://vonkaiser-qwen-image-2512.chutes.ai. Send a flat JSON body; the response body is image/jpeg bytes.

curl -X POST "https://vonkaiser-qwen-image-2512.chutes.ai/generate" \
  -H "Authorization: Bearer $CHUTES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a serene mountain lake at sunset",
    "negative_prompt": "",
    "width": 1024,
    "height": 1024,
    "true_cfg_scale": 4,
    "num_inference_steps": 30,
    "seed": 42
  }' \
  --output output.jpg
import os
import requests

resp = requests.post(
    "https://vonkaiser-qwen-image-2512.chutes.ai/generate",
    headers={"Authorization": f"Bearer {os.environ['CHUTES_API_KEY']}"},
    json={
        "prompt": "a serene mountain lake at sunset",
        "width": 1024,
        "height": 1024,
        "true_cfg_scale": 4,
        "num_inference_steps": 30,
        "seed": 42,
    },
    timeout=180,
)
resp.raise_for_status()
with open("output.jpg", "wb") as f:
    f.write(resp.content)
const resp = await fetch("https://vonkaiser-qwen-image-2512.chutes.ai/generate", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CHUTES_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    prompt: "a serene mountain lake at sunset",
    width: 1024,
    height: 1024,
    true_cfg_scale: 4,
    num_inference_steps: 30,
  }),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const jpeg = Buffer.from(await resp.arrayBuffer()); // write to disk or serve

Parameters and tuning

FieldTypeChute defaultNotes
promptstring"a beautiful mountain landscape"Long, concrete prompts work best: subject, styling, environment, lighting, camera feel.
negative_promptstring""Short and targeted; the model card's own targets low-res, deformed anatomy, waxy skin, blurry text.
num_inference_stepsinteger30Model-card example uses 50; raise for final renders.
true_cfg_scalenumber4Matches the model card's 4.0 example. Higher = stronger prompt adherence.
width / heightinteger1024 / 1024Card presets: 1328x1328 (1:1), 1664x928 (16:9), 928x1664 (9:16), 1472x1104 (4:3).
seedintegernullSet for reproducible output.

The chute's 30-step default trades a little quality for latency against the card's 50-step reference. For portrait or human-subject work, the card's examples show that detailed full-sentence prompts (age, expression, pose, lighting, "casual smartphone snapshot" style cues) are what unlock the realism improvements.

What it's best at

Qwen-Image-2512's differentiator is realistic humans: the model card's side-by-side comparisons show sharper facial detail, individual hair strands, believable aged features, and better adherence to pose instructions than the August release. It is similarly strong on natural textures (waterfalls, waves, fur) and on rendering legible text inside images with correct layout, in both English and Chinese. Use it when output quality justifies a 30-50 step sampling budget: hero images, marketing visuals, character art, multilingual posters.

It is not the right pick for latency-critical or very high-volume generation — a distilled model such as Z-Image Turbo produces an image in a fraction of the steps. It also takes no image input; for reference-based editing use Qwen-Image-Edit-2511. Treat the AI Arena ranking as the vendor's own blind-evaluation result, not an independent benchmark.

How Chutes serves this model

The chute (owner vonkaiser) serves the model on its own host with a single POST /generate endpoint. Requests are flat JSON (no input_args wrapper) authenticated with Authorization: Bearer $CHUTES_API_KEY; responses are raw image/jpeg bytes. Defaults: 30 steps, true_cfg_scale 4, 1024x1024, empty negative prompt.

FAQ

What's new in Qwen-Image-2512 versus the original Qwen-Image?

Per the model card: markedly better human realism (less "AI look", better skin, hair, and aged features), finer natural detail in landscapes and fur, and more accurate in-image text rendering and layout. The card reports it as the top open-source model in 10,000+ blind AI Arena comparisons at release.

What settings should I use?

The chute defaults to 30 steps and true_cfg_scale 4 at 1024x1024, which is a reasonable speed/quality balance. The model card's reference example uses 50 steps, true_cfg_scale 4.0, and larger aspect-ratio presets like 1328x1328 or 1664x928; move toward those for final-quality renders.

Does it support negative prompts?

Yes. The chute exposes negative_prompt (default empty). The model card itself uses a negative prompt targeting low resolution, deformed hands, over-saturation, waxy skin, and blurry text. Keep yours short and specific.

Can it render text inside images?

Yes, improved text rendering is one of the release's three headline upgrades, covering accuracy, layout, and combined text+image composition. Quote the exact wording you want in the prompt.

What license applies and can I use outputs commercially?

Apache-2.0, per the Hugging Face repo Qwen/Qwen-Image-2512. That permits commercial use, modification, and redistribution with attribution and license notice.

How do I call this chute from code?

POST a flat JSON body to https://vonkaiser-qwen-image-2512.chutes.ai/generate with an Authorization: Bearer header carrying your Chutes API key. The response body is the JPEG image itself; write it straight to a file.

Can I use it to edit an existing image?

No, this chute is text-to-image only and accepts no image input. For instruction-based editing with reference images, use the Qwen-Image-Edit-2511 chute.

Does it understand Chinese prompts?

Yes. The model is tagged for English and Chinese, and the model card's own examples include Chinese negative prompts. Both prompt and negative_prompt can be written in either language.

Sources