Alibaba
Qwen Image 3.0
qwen-image-3.0/text-to-image
Alibaba's third-generation image generation and editing model, skilled at dense layout and multilingual text rendering under long prompts, and supports reference-image editing
Try qwen-image-3.0/text-to-image
Input
Showcases
View all showcasesOutput
imagePricing
qwen-image-3.0/text-to-image per image
| Unit Price | $0.0358 |
|---|
Positioning overview
The qwen-image-3.0 text-to-image pipeline is the third-generation image generation model in Alibaba's Qwen series, built for development scenarios that need images to carry real information. It accepts prompts up to 18,000 characters long and excels at generating information-dense, text-bearing compositions such as infographics, newspaper layouts, UI concept drafts, and product grids. It supports 1K and 2K resolutions, eight aspect ratios, PNG/JPEG output, and random seeds, making it a productivity tool for design assets, interface prototypes, and marketing materials.
Key highlights
- Long prompts support complex layouts — with a prompt limit of 18,000 characters, a single description can simultaneously constrain multi-block layouts, elements, and text content.
- Typography and text for information-oriented visuals — focused optimization of dense layouts, small font sizes, and multilingual rendering brings generated layouts and interface drafts closer to directly usable assets.
- Controllable output specifications — resolution, aspect ratio, file format, and random seed can all be specified; together with negative prompts and automatic prompt optimization, this makes it easy to batch-produce images with a consistent style.
Capability description
Complex image generation driven by long text: a single prompt can be up to 18,000 characters, using lengthy descriptions to specify composition, style, and information hierarchy, reducing the cost of multiple rounds of prompt supplementation.
Text-dense layouts and interface drafts: suitable for generating images where elements and text coexist, such as infographics, newspaper and periodical layouts, posters, and UI concept images, producing results closer to actual work assets rather than purely aesthetic images.
Precisely controllable output specifications: choose 1K or 2K resolution, eight aspect ratios from 1:1 to 21:9, and PNG or JPEG format, and reproduce or fine-tune results via random seed.
Prompt enhancement and negative constraints: prompt_extend is enabled by default to automatically complete and optimize prompts, while negative_prompt is used to exclude unwanted elements, improving output controllability.
Applicable scenarios
- Layout asset generation for design and content teams — input copy and layout descriptions for infographics, newspaper layouts, or posters, and produce images that can be used directly as layout references or as accompanying visuals for publication.
- UI concept drafts for product and front-end teams — use prompts to describe the structure of web, game, or livestreaming interfaces, and generate concept images for high-fidelity prototype discussions and design reviews.
- Product and marketing images for e-commerce operations — use product information and display requirements as input to produce product grid images and marketing assets for first drafts of detail pages and campaign pages.
- Illustrations for education and documentation scenarios — generate mixed text-and-image materials or document illustrations based on explanatory content, for visual supplementation of courseware, instruction pages, and internal materials.
Limitations and selection advice
This pipeline supports only text-to-image; modifying images based on reference images requires switching to the image-to-image pipeline in the same family. Model capability information comes mainly from vendor releases and third-party showcase pages, and lacks public independent benchmark evaluations; before formal launch, it is recommended to run small-sample validation using your own business prompts. Long prompts and dense text layouts place high demands on description precision, and output quality is affected by layout density and language, so it is advisable to combine random seeds with multiple generations to screen results. If only conventional aesthetic illustrations are needed, a lighter text-to-image model can be used to control costs.
What's new
View changelog →- New model New model available: qwen-image-3.0-pro/text-to-image
- New model qwen-image-3.0-pro image-to-image model now live
- New model New model docs
Frequently asked questions
View all FAQs →-
How many references does Qwen Image 3.0 Image to Image accept?
It accepts 1 to 3 reference images. At least one is required in input.image_urls.
-
How does standard editing differ from Pro?
Standard prioritizes lower cost and rapid iteration. Pro is better for exact text replacement, complex materials, and final layouts.
-
How are 1K, 2K, and reference images billed?
1K and 2K use the same output tier, and each reference adds a fee. See the live page price for current amounts.
-
How do I reduce subject, layout, or text drift?
Separate what should change from the subject, text, position, material, camera, and lighting that must remain fixed. Put exact replacement text in quotation marks.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: qwen-image-3.0/text-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for qwen-image-3.0/text-to-image and route default — see the parameter table below.
seedintegerOptionalmin 0max 2147483647Random seed used to control the randomness of the generated result; takes an integer. With the same seed and all other parameters identical, similar results can be reproduced. If not provided, the server generates one randomly.
promptstringRequiredminLength 1maxLength 18000Positive prompt: a text description of the desired image content, style, and composition; this is the main input for text-to-image generation.
resolutionstringOptionalDefault: "1K"Output resolution tier: a string specifying the clarity level of the generated image; defaults to 1K.
1K2Kaspect_ratiostringOptionalDefault: "1:1"Aspect ratio of the output image, specified as a ratio string; defaults to 1:1.
1:13:22:34:33:416:99:1621:9output_formatstringOptionalDefault: "png"File format of the generated image, specified as a string; defaults to png.
pngjpegprompt_extendbooleanOptionalDefault: trueWhether to automatically optimize the prompt, as a boolean value; when enabled, the server expands and enhances the prompt. Defaults to true.
negative_promptstringOptionalDefault: ""maxLength 500Negative prompt: describes content that should not appear in the image; the default empty string means no exclusion constraints are applied.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-image-3.0/text-to-image",
"input": {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "1:1",
"output_format": "png",
"prompt_extend": true,
"negative_prompt": ""
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen-image-3.0/text-to-image",
input: {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "1:1",
"output_format": "png",
"prompt_extend": true,
"negative_prompt": ""
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "qwen-image-3.0/text-to-image",
"input": {
"prompt": "…",
"resolution": "1K",
"aspect_ratio": "1:1",
"output_format": "png",
"prompt_extend": True,
"negative_prompt": ""
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Recraft Crisp Upscale Recraft $0.004 /image -
Seedream 5.0 ByteDance $0.025 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
FLUX.2 Black Forest Labs $0.035 /image -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
Recraft V4.1 Recraft $0.010 /image -
Google Virtual Try-On Google $0.107 /image -
Recraft Creative Upscale Recraft $0.357 /image -
BRIA Eraser Bria $0.058 /image -
Imagen 4 Google $0.030 /image -
Nano Banana 2 Lite Google $0.033 /image
Same Provider
-
HappyHorse 1.1 Alibaba $0.160 /second -
Wan 3.0 Video Alibaba $0.040 /second -
Wan 2.7 Image Alibaba $0.035 /image -
Wan 2.6 Flash Alibaba $0.043 /second -
Qwen Image 2.0 Alibaba $0.042 /image -
HappyHorse 1.0 Alibaba $0.168 /second -
Qwen Image 3.0 Alibaba $0.036 /image -
Wan 2.7 Video Alibaba $0.100 /second -
Qwen Image 2.1 Alibaba $0.020 /image -
Z-Image Alibaba $0.008 /image -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters


