Qwen Image 2.0 API

Unified image generation and editing model with class-leading complex Chinese/English text rendering, realistic textures, and multi-image fusion.

Alibaba CloudImage GenerationSingaporeProprietary Endpoint

About Qwen Image 2.0

Unified image generation and editing model with class-leading complex Chinese/English text rendering, realistic textures, and multi-image fusion.

Also known as Qwen Image, Qwen-Image-2.0

text renderingimage editingmulti image

Qwen Image 2.0 specs

Model ID
qwen-image-2-0
Provider
Alibaba Cloud
Category
Image Generation
Input
text, image
Output
image
Region
Singapore
Endpoints
POST /v1/images/generations

Qwen Image 2.0 API pricingSave up to 8%

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Standard
per image
$0.035$0.0322
Pro
per image
$0.075$0.069
Compare on the full pricing page

How to call the Qwen Image 2.0 API

Qwen Image 2.0 runs through POST /v1/images/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Or add "sync": true to skip polling: the request stays open and returns the finished OpenAI-style image response directly, so OpenAI SDKs work as-is. Get an API key from the EmpirioLabs dashboard.

cURL: submit the job
curl https://api.empiriolabs.ai/v1/images/generations \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-image-2-0",
    "prompt": "Describe what you want Qwen Image 2.0 to generate."
  }'
cURL: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
import requests

response = requests.post(
    "https://api.empiriolabs.ai/v1/images/generations",
    headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    json={
        "model": "qwen-image-2-0",
        "prompt": "Describe what you want Qwen Image 2.0 to generate.",
    },
)
job = response.json()

# Generation runs as an async job. Poll until it completes.
import time
while True:
    status = requests.get(
        f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
        headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    ).json()
    if status.get("status") in ("completed", "failed"):
        print(status)
        break
    time.sleep(5)
Full Qwen Image 2.0 API reference

Qwen Image 2.0 API parameters

Request parameters supported by the Qwen Image 2.0 API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Text prompt. With input images attached, becomes an editing instruction.
model_variantenumqwen-image-2.0-pro-2026-04-22qwen-image-2.0-pro-2026-04-22, qwen-image-2.0-pro-2026-03-03,...Pro variants offer higher quality. Dated snapshots pin a specific weights revision for reproducibility; the undated "qwen-image-2.0-pro" tracks the latest pro release.
aspect_ratioenum-16:9, 9:16, 1:1, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5Optional. If omitted, text-to-image defaults to 16:9; image-edit matches the last input image's native ratio.
use_custom_sizebooleanfalse-Override aspect_ratio with explicit pixel dimensions.
custom_widthnumber-512 to 2048Pixels (512–2048). Total pixel area must be in [512×512, 2048×2048]. Only when use_custom_size=true.
custom_heightnumber-512 to 2048Pixels (512–2048). Total pixel area must be in [512×512, 2048×2048]. Only when use_custom_size=true.
imagearray--Up to 3 input image URLs. Triggers image-edit mode.
num_imagesnumber11 to 6Number of images to generate. Each is billed separately.
negative_promptstring--What to avoid in the output.
prompt_extendbooleantrue-Let DashScope rewrite the prompt for better results.
watermarkbooleanfalse-Forwarded to DashScope as parameters.watermark. When true, the upstream Qwen-Image service stamps a small Qwen provenance watermark on each generated image....
seednumber-0 to 2147483647Reproducibility seed. Leave empty for random.
response_formatenumurlurl, b64_jsonurl (default) returns a signed URL; b64_json returns inline base64.

Good to know

Modes

  • Text-to-image: no images attached
  • Image-editing: upload 1-3 images

Constraints

  • Positive prompt: max 800 characters
  • Negative prompt: max 500 characters
  • Custom width/height: 512-2048 px (total area between 512x512 and 2048x2048)
  • Per image is billed

Performance

  • Responses take 10-30 seconds depending on resolution, image count, and prompt complexity

Qwen Image 2.0 API: common questions

How much does the Qwen Image 2.0 API cost?

On EmpirioLabs, Qwen Image 2.0 is billed pay as you go: Standard $0.0322 (was $0.035) per image; Pro $0.069 (was $0.075) per image. The live rate card on this page always matches what the API charges.

Which endpoint does Qwen Image 2.0 use?

Qwen Image 2.0 is served through POST /v1/images/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Qwen Image 2.0 in the browser before integrating?

Yes. The EmpirioLabs playground runs Qwen Image 2.0 in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Qwen Image 2.0 API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Ready to use better endpoints?

Explore our models, or contact us about business inquiries, custom deployments, or anything else.