Qwen-Image-3.0

Qwen-Image-3.0 is a unified image model from Alibaba for both text-to-image generation and prompt-guided image editing. It supports one to three reference images for editing, automatic prompt expansion, negative prompts, reproducible seeded generation, and adaptive or user-specified output sizes. It supports text-to-image resolutions from 512x512 up to 2048x2048 and image editing resolutions up to 1440x1440, making it a strong fit for high-quality visual creation, controlled edits, and multi-image reference workflows.

Complete technical specification for integration
Ready-to-use code snippets for common workflows
Step-by-step tutorials for advanced use cases
← All GuidesText and typography with Qwen Image 3.0
How to render exact copy with Qwen Image 3.0: quoting the strings you need, building a type hierarchy, setting Chinese and bilingual layouts, and sizing for print.
Most image models treat lettering as texture. They learn the shapes of characters without learning spelling or word boundaries, so the copy comes back approximate and a poster that needs to say one specific thing says something adjacent to it instead. Qwen Image 3.0 renders the strings you actually write, across twelve languages, at the size and position you put them.

A museum exhibition poster printed on heavy warm off-white stock. The title "NORTHERN LIGHT" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: "Scandinavian Design 1930-1970". A wide horizontal band of muted mustard sits across the middle of the poster carrying a single geometric line drawing of a pendant lamp in black. At the bottom left in medium capitals: "12 MAR - 28 JUN". At the bottom right in the same size: "HALL TWO". A thin black rule spans the full width just above the bottom line. Swiss editorial poster design, flat print look, generous margins, no other text.
Five separate strings, each at its own weight and place on the sheet, all correct. The rest of this guide is how to ask for that reliably.
Set promptExtend to false for any image with copy on it. The rewrite runs before generation and edits your prompt, including the strings in it, and it adds signage and lettering of its own. Exact copy and prompt extension do not mix.
Request shape
Rendering text needs no special parameters. The copy sits inside positivePrompt alongside the scene description, the canvas comes from width and height, and promptExtend goes to false so the strings reach the model as written:
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'alibaba:qwen-image@3.0',
positivePrompt: 'A museum exhibition poster printed on heavy warm off-white stock. The title "NORTHERN LIGHT" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: "Scandinavian Design 1930-1970". At the bottom left in medium capitals: "12 MAR - 28 JUN". At the bottom right in the same size: "HALL TWO". Swiss editorial poster design, flat print look, no other text.',
width: 2048,
height: 2816,
providerSettings: {
alibaba: {
promptExtend: false
}
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "alibaba:qwen-image@3.0",
"positivePrompt": "A museum exhibition poster printed on heavy warm off-white stock. The title \"NORTHERN LIGHT\" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: \"Scandinavian Design 1930-1970\". At the bottom left in medium capitals: \"12 MAR - 28 JUN\". At the bottom right in the same size: \"HALL TWO\". Swiss editorial poster design, flat print look, no other text.",
"width": 2048,
"height": 2816,
"providerSettings": {
"alibaba": {
"promptExtend": False
}
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "imageInference",
"taskUUID": "a1b2c3d4-5e6f-4708-9a1b-2c3d4e5f6071",
"model": "alibaba:qwen-image@3.0",
"positivePrompt": "A museum exhibition poster printed on heavy warm off-white stock. The title \"NORTHERN LIGHT\" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: \"Scandinavian Design 1930-1970\". At the bottom left in medium capitals: \"12 MAR - 28 JUN\". At the bottom right in the same size: \"HALL TWO\". Swiss editorial poster design, flat print look, no other text.",
"width": 2048,
"height": 2816,
"providerSettings": {
"alibaba": {
"promptExtend": false
}
}
}
]'runware run alibaba:qwen-image@3.0 \
positivePrompt="A museum exhibition poster printed on heavy warm off-white stock. The title \"NORTHERN LIGHT\" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: \"Scandinavian Design 1930-1970\". At the bottom left in medium capitals: \"12 MAR - 28 JUN\". At the bottom right in the same size: \"HALL TWO\". Swiss editorial poster design, flat print look, no other text." \
width=2048 \
height=2816 \
providerSettings.alibaba.promptExtend=false{
"taskType": "imageInference",
"taskUUID": "a1b2c3d4-5e6f-4708-9a1b-2c3d4e5f6071",
"model": "alibaba:qwen-image@3.0",
"positivePrompt": "A museum exhibition poster printed on heavy warm off-white stock. The title \"NORTHERN LIGHT\" runs across the upper third in very large bold black condensed capitals, tightly set on two lines. Directly beneath it in a small regular weight: \"Scandinavian Design 1930-1970\". At the bottom left in medium capitals: \"12 MAR - 28 JUN\". At the bottom right in the same size: \"HALL TWO\". Swiss editorial poster design, flat print look, no other text.",
"width": 2048,
"height": 2816,
"providerSettings": {
"alibaba": {
"promptExtend": false
}
}
}[
{
"taskType": "imageInference",
"taskUUID": "a1b2c3d4-5e6f-4708-9a1b-2c3d4e5f6071",
"imageUUID": "6e0b2d94-7f18-4a35-b0c9-3d5e7f1a2b68",
"imageURL": "https://im.runware.ai/image/os/a14d18/ws/2/ii/6e0b2d94-7f18-4a35-b0c9-3d5e7f1a2b68.jpg"
}
]Quoting the copy
Put the literal words in quotation marks and state where they go. Describing the copy instead of writing it hands the wording to the model:

A black A-frame chalkboard sign standing on the pavement outside a bakery in morning light, advertising the daily special in white chalk lettering with a small chalk drawing beneath. Warm brick wall behind, soft directional daylight. Photoreal street photography, shallow depth of field.

A black A-frame chalkboard sign standing on the pavement outside a bakery in morning light. The chalkboard reads, in white chalk hand lettering: "TODAY'S BAKE" as a large heading at the top, then "Sourdough - $6" on the next line, then "Cardamom Bun - $4" below it, and "Until we sell out" in small italic script at the bottom. A small chalk wheat sprig sits to the right of the heading. Warm brick wall behind, soft directional daylight. Photoreal street photography, shallow depth of field.
"Advertising the daily special" produced a board reading SPECIAL and nothing else. The quoted version returned all four lines, kept the apostrophe in TODAY'S, held both prices, and set the closing line in the italic script it was asked for. Anything you do not quote, the model writes for you.
Building a hierarchy
Copy on packaging or a poster is not one string but several at different weights. Name each line, its relative size, and its order down the sheet:

A matte kraft paper coffee bag standing upright on a pale concrete surface, photographed straight on in soft studio light. The printed label area on the front carries a clear text hierarchy: "HALLOWED GROUND" in large bold black capitals across the top, "SINGLE ORIGIN" in small widely-spaced capitals directly beneath, then a thin rule, then "Ethiopia - Yirgacheffe" in a medium serif, then "Washed / Medium Roast" in a smaller weight, and at the bottom edge "250g / NET WT 8.8oz" in small capitals. A small black circular seal in the lower right reads "EST 2019". Photoreal packaging photography, flat even lighting, no other text.
Six strings landed in the right order at the right weights, including the tracked small caps under the brand name and the seal in the lower corner. The pattern that makes this work is relative sizing plus vertical order: "large bold capitals across the top", "small widely-spaced capitals directly beneath", "at the bottom edge". Absolute point sizes mean nothing to the model, but "larger than", "beneath", and "at the bottom" all land.
Structural marks are worth naming too. The thin rule between the brand block and the origin line was requested and drawn, and rules are what stop a dense label reading as a list.
Non-Latin scripts
Qwen Image 3.0 renders twelve languages natively, and the rule for all of them is the one Latin copy already follows: write the characters, never describe them. Asking for "a Chinese headline meaning spring tea has arrived" invites the model to invent something that looks like Chinese and says nothing.

A tea house poster printed on textured cream paper. Large bold black Chinese characters centred in the upper half read "春茶上市". Directly beneath in a smaller elegant weight: "限量發售 每日現泡". A soft ink-wash illustration of a single tea branch with three leaves sits in the middle of the poster in muted green. At the bottom in small characters: "台北市中山北路二段 88 號". A thin ink rule spans the width above the bottom line. Minimal East Asian editorial poster design, flat print look, generous margins, no other text.
The headline, the two-phrase subhead, and a full street address with a number all came back correct. If you cannot type the characters, paste them. The prompt field takes them as they are.
The same prompt structure carries across writing systems. These three came from one template with only the strings and the illustration swapped:

An izakaya seasonal poster printed on textured warm paper. Large bold Japanese characters across the upper third read "秋の味覚". Directly beneath in a smaller weight: "季節限定メニュー". A simple ink illustration of a grilled fish on a plate sits in the middle of the sheet. At the bottom in small characters: "東京都渋谷区 3-12-5". A thin ink rule spans the width above the bottom line. Minimal Japanese editorial poster design, flat print look, generous margins, no other text.

A bookshop event poster printed on soft cream stock. Large bold Korean characters across the upper third read "가을 독서 주간". Directly beneath in a smaller weight: "신간 20% 할인". A simple line illustration of a stack of three books sits in the middle of the sheet. At the bottom in small characters: "서울시 마포구 연남동". A thin rule spans the width above the bottom line. Minimal Korean editorial poster design, flat print look, generous margins, no other text.

A farmers market poster printed on warm recycled paper. Large bold capitals across the upper third read "MERCADO DE OTOÑO". Directly beneath in a smaller weight: "Productos locales cada sábado". A simple line illustration of a basket of vegetables sits in the middle of the sheet. At the bottom in small capitals: "PLAZA MAYOR / 9:00 - 14:00". A thin rule spans the width above the bottom line. Minimal editorial poster design, flat print look, generous margins, no other text.
Accented Latin is worth checking as carefully as a different script. Diacritics are where Latin copy usually fails, and the Spanish poster puts the tilde in "OTOÑO" and the accent in "sábado" in the same request.
Mixed-script layouts
Signage and menus usually carry two scripts at once. Quote both, and say how the pair should sit together:

A modern transit station wayfinding sign mounted on a brushed steel wall, photographed straight on. The sign is deep navy with white type. The top row reads "Departures 出發" in large bold letters with the English first and the Chinese directly after it at the same size. Below a thin white rule, three smaller rows each pair English and Chinese: "Platforms 1-4 月台 1-4" with a right arrow, "Ticket Hall 售票大廳" with a left arrow, and "Lifts 電梯" with a down arrow. Clean transport signage typography, even ambient lighting, photoreal, no other text.
Every pair is correct and every arrow points where it was told to. The model did make one layout decision on its own: the header sets its two scripts side by side as asked, while the three rows below stack the Chinese under the English. Pairing is reliable, arrangement is not, so if the two scripts must sit on one line, say "on the same line" for each row rather than describing the pattern once at the top.
Sizing for print
Small type needs pixels. Qwen Image 3.0 allows up to 6,553,600 pixels for text-to-image, and any width and height are valid as long as their product fits, so a poster shape like 2176 × 3008 is available at nearly the full budget:

A film festival poster printed on smooth matte stock. A deep teal background fills the sheet. Across the top in very large bold cream capitals, set on three tight lines: "HARBOUR FILM FESTIVAL". Beneath it a wide letterpress-style illustration of a ferry crossing calm water, rendered in flat cream and burnt orange. Under the illustration in medium cream capitals: "SEVENTH EDITION". At the bottom of the sheet, two aligned columns of small cream text: the left column reads "04 - 11 OCTOBER" above "QUAYSIDE CINEMA", the right column reads "45 FILMS" above "22 COUNTRIES". A thin cream rule separates the columns from the illustration. Flat print poster design, crisp type edges, generous margins, no other text.
The four-line credit block at the foot of the poster is the part that needs the resolution. Qwen documents legible rendering down to roughly 10px type, and that floor is what the canvas has to satisfy: at 1024 × 1024 the credit block falls under it and the lettering turns to texture. Draft at a small size and render the deliverable at the ceiling, since the composition holds while the type sharpens.
The budget applies to the pixel count, not the shape. 2176 × 3008 portrait, 3200 × 2048 landscape, and 2560 × 2560 square all sit under the same 6,553,600 ceiling, so choosing a poster aspect costs you nothing in resolution.
Tips
-
Quote every string that matters. Copy inside quotation marks is rendered as written. Copy you describe is rewritten.
-
Turn off prompt extension. The rewrite edits your strings and invents new ones, which undoes the whole technique.
-
Position by relation, not by measurement. "Across the upper third", "directly beneath", and "at the bottom edge" work. Point sizes and pixel coordinates do not.
-
End the prompt with "no other text". It stops the model filling empty margins with plausible extra lettering.
-
Render the final asset near the pixel ceiling. Small type is the first thing to break at low resolution and the main reason to spend the budget.
-
Paste non-Latin copy directly. Characters written in the prompt come through correctly, while paraphrased script comes back as convincing nonsense.