Per image (1K/2K)
74
credits / image
= $0.074 USD / image
100 images ≈ $7.40 · 1,000 images ≈ $74.00
Alibaba
Available via APIImage GenerationGenerate or edit one image with Qwen Image 2.0 Pro for stronger text rendering and more refined realism, at 1K or 2K.
qwen-image-2.0-proNew accounts start with $0.20 in free credits, about 2 images at the starting price.
Qwen Image 2.0 Pro is developed by Alibaba. Wizzx provides API access to it and does not own the model. All trademarks belong to their respective owners.
Next: turn the image into a video with
Model Guide
Generate or edit one image with Qwen Image 2.0 Pro for stronger text rendering and more refined realism, at 1K or 2K.
Qwen Image 2.0 Pro is the higher-quality tier of Alibaba Qwen's Image 2.0 model. The Qwen team says Pro improves image quality, multilingual text rendering, instruction following, and consistency across styles compared with Qwen Image 2.0.
In Wizzx it uses the same request fields as Qwen Image 2.0, so you can switch between them without changing your payload.
| Wizzx control | Current behavior |
|---|---|
| Prompt | Required, up to 800 characters |
| Reference images | Optional, up to 3 public image URLs; not charged |
| Aspect ratio | 1:1 (default), 4:3, 3:4, 16:9, 9:16, 3:2, 2:3 |
| Resolution | 1K (default) or 2K, same price |
| Negative prompt | Optional, up to 500 characters |
Quote the exact text to render and specify font style and placement. Describe materials and lighting for realism, for example "brushed aluminum under soft window light". Start with Qwen Image 2.0 for drafts and move final renders to Pro.
Wizzx generates one image per request at a fixed price; 1K and 2K cost the same, and the live amount comes from the backend catalog. Reference images must be public HTTP(S) URLs; base64 is not accepted.
Backend pricing
Model identity, billing unit and every price tier below are read from the backend catalog.
74
credits / image
= $0.074 USD / image
100 images ≈ $7.40 · 1,000 images ≈ $74.00
1 credit = $0.001 USD. The final deduction returned by the API is authoritative.
Back to all modelsEvery request is asynchronous: submit the task, keep the task ID, then poll for the result. The body below uses the model's default settings.
Sign in and create a key in the dashboard. Set WIZZX_API_KEY in your server environment; never expose it in browser code.
Send a POST request to the model endpoint. A successful submission returns data.task_id; keep that ID before polling. Submission is not generation completion.
Replace YOUR_TASK_ID with the returned ID and query /api/v1/task/status. Wait for SUCCEEDED and read the output URLs. Stop on FAILED or REVIEW_REQUIRED; do not automatically resubmit an uncertain task.
curl -X POST \
https://api.wizzx.ai/api/v1/task/submit/qwen-image-2.0-pro \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"aspect_ratio": "1:1",
"resolution": "1K",
"prompt": "A minimalist poster with a bold serif headline"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/submit/qwen-image-2.0-pro", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"aspect_ratio": "1:1",
"resolution": "1K",
"prompt": "A minimalist poster with a bold serif headline"
}),
});
const payload = await response.json();
const task = payload.data ?? payload;
const taskId = task.task_id;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/submit/qwen-image-2.0-pro",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={
"aspect_ratio": "1:1",
"resolution": "1K",
"prompt": "A minimalist poster with a bold serif headline"
},
)
payload = response.json()
task = payload.get("data", payload)
task_id = task["task_id"]curl -X POST \
https://api.wizzx.ai/api/v1/task/status \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task_id": "YOUR_TASK_ID"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/status", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ task_id: "YOUR_TASK_ID" }),
});
const payload = await response.json();
const task = payload.data ?? payload;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/status",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={"task_id": "YOUR_TASK_ID"},
)
payload = response.json()
task = payload.get("data", payload)The fields this endpoint accepts on Wizzx, read from the same schema as the Playground form.
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
promptPromptrequired | string | — | ≤ 800 | Describe the image to generate or the edit to apply. |
image_urlsReference Images | url[] ≤ 3 | — | — | Optional. Add up to 3 images to edit or guide the result. Reference images are not charged. |
aspect_ratioAspect Ratio | string | 1:1 | 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 3:2 · 2:3 | Choose the output canvas. This does not change the price. |
resolutionResolution | string | 1K | 1K · 2K | 1K and 2K cost the same. |
negative_promptNegative Prompt | string | — | ≤ 500 | What to avoid in the image (max 500 characters). |
Wizzx API
New accounts get $0.20 in free credits. Pay as you go with no subscription, and failed tasks are refunded.