Qwen Image 3.0 is the standard tier of Alibaba's third-generation Qwen image model, released in July 2026. It accepts prompts of roughly 4.5k tokens, enough to describe a whole page: a newspaper, a storyboard, an infographic grid. Text stays legible down to 10px across 12 languages. It supports text-to-image and editing with 1-3 reference images, returns 1-4 images per request on Jantaris, and outputs at 1K or 2K for the same price in 7 aspect ratios. Negative prompts are supported.
Best for
- Mock newspaper and magazine pages
- Storyboard sheets with numbered panels and captions
- Multilingual infographics and menus
- Several layout variations in one request
Prompting tips
- Structure long prompts by region: header, columns, captions, footer, each with its exact text.
- 1K and 2K cost the same here, so use 2K for anything with small type.
- Pick one of the 7 aspect ratios; custom pixel sizes are not available in Jantaris yet.
- Reference images can be JPG, PNG, BMP, TIFF, WEBP or GIF, up to 10 MB each.
FAQ
What does Qwen Image 3.0 cost?
The price is from $0.0576 per image, the same for 1K and 2K output. Failed generations are not charged.
How long can a Qwen Image 3.0 prompt be?
About 4.5k tokens, which covers a detailed multi-section layout with all of its text.
Should I use the standard tier or Pro?
Qwen Image 3.0 Pro is tuned for very dense text such as menus and exam papers, and bills 2K at twice the 1K rate. The standard tier keeps one price for both resolutions.
How to call Qwen Image 3.0 via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-3.0",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "qwen-image-3.0",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "qwen-image-3.0",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ||
negative_prompt | string | ||
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 3:2 2:3 | 1:1 |
resolution | string | 1K 2K | 1K |
num_images | integer | 1-4 | 1 |
image_urls | array | max 3 |
The same schema is available from GET /v1/models/qwen-image-3.0.










