Alibaba Qwen Image 3.0. One endpoint for text-to-image and image editing (pass reference images to edit, up to 3), strong at dense in-image text, 12 languages and structured layouts. 1K / 2K, eight aspect ratios or auto. Two tiers: standard qwen3-image ($0.04/image) and Pro qwen3-image-pro (1K $0.05 / 2K $0.10). Async: POST creates the task, then poll with GET ?task_id= or supply a callback_url.
Authorization: Bearer YOUR_API_KEY| Model | model | Price | Notas |
|---|---|---|---|
| Qwen Image 3.0 | qwen3-image | $0.04 | 1K/2K flat · everyday volume |
| Qwen Image 3.0 Pro | qwen3-image-pro | $0.05 / $0.10 | 1K / 2K · photoreal detail |
Image editing adds $0.004 per reference image. Failures are never charged.
/api/v1/images/generationscreate task/api/v1/images/generations?task_id=...poll status# ─── 1. Text-to-image ──────────────────────────────────────
# model: "qwen3-image" (standard) or "qwen3-image-pro" (higher fidelity).
# resolution: "1K" | "2K". aspect_ratio: 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9 (or "auto").
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-image",
"prompt": "A cafe opening poster, vertical layout. Bold brush-calligraphy title, small caption text, minimal editorial style",
"resolution": "2K",
"aspect_ratio": "9:16"
}'
# Response:
# { "code": 200, "msg": "success", "data": { "taskId": "clxxx...", "state": "pending" } }
# ─── 2. Image editing with a reference URL ─────────────────
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-image-pro",
"prompt": "Keep the subject, change to soft evening light",
"image_urls": ["https://example.com/photo.jpg"],
"aspect_ratio": "auto"
}'
# ─── 3. Multi-image edit (up to 3 reference images) ────────
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-image",
"prompt": "Replace the poster in image 1 with the product from image 2",
"image_urls": [
"https://example.com/scene.jpg",
"https://example.com/product.jpg"
]
}'
# ─── 4. Poll task status ───────────────────────────────────
curl "https://apimodels.app/api/v1/images/generations?task_id=clxxx..." \
-H "Authorization: Bearer YOUR_API_KEY"| Field | Required | Type | Description |
|---|---|---|---|
| model | Yes | string | "qwen3-image" (standard) or "qwen3-image-pro" (Pro) |
| prompt | Yes | string | Prompt or editing instructions, Chinese and English supported. When editing multiple images, reference them as "image 1", "image 2". |
| resolution | No | string | "1K" (default) or "2K". Standard is $0.04 at both; Pro is $0.05 at 1K, $0.10 at 2K. |
| aspect_ratio | No | string | Aspect ratio: 1:1 / 3:2 / 2:3 / 4:3 / 3:4 / 16:9 / 9:16 / 21:9. Omit or pass "auto" to let the model choose from the prompt. |
| image_urls | No | string[] | Reference image URLs (1-3, ≤ 10MB each, jpeg/png/webp). Providing them routes to image editing; each adds $0.004. |
| image_url | No | string | Single reference image URL — equivalent to image_urls with one item. |
| image_base64 | No | string | Base64-encoded or data-URI reference image (for local files). |
| negative_prompt | No | string | Negative prompt — content you do not want in the image. |
| prompt_extend | No | boolean | Intelligent prompt rewriting, default true. Improves results for short prompts. |
| seed | No | integer | Random seed [0, 2147483647]. A fixed seed reproduces results. |
| callback_url | No | string | Webhook URL called on completion; server POSTs the same JSON as the poll response. |
| Field | Required | Type | Description |
|---|---|---|---|
| code | — | integer | 200 si tiene éxito; de lo contrario, consulta la tabla de códigos de error. |
| msg | — | string | "success" o un mensaje de error. |
| data.taskId | — | string | ID de la tarea usado para las consultas de estado. |
| data.state | — | string | pending / processing / completed / failed. |
| data.resultUrls | — | string[] | Present only when state=completed; R2-hosted image URLs. Auto-deleted after 7 days — download or re-host promptly. |
| data.failMsg | — | string | Presente solo cuando state=failed; motivo del fallo del proveedor upstream. |
Try it in the Playground, or the Pro tier at Qwen Image 3.0 Pro
Standard (qwen3-image) is $0.04 per image at 1K or 2K. Pro (qwen3-image-pro) is $0.05 at 1K and $0.10 at 2K. Image editing adds $0.004 per reference image. Failures are never charged.
Yes. Send only a prompt for text-to-image; add image_urls (1-3 references) and the same model edits instead. No endpoint or model-name switch.