GuidesHow to Use Qwen3 Pro Image in Claude Code and Cursor?
Makernice Team · ·
Prices as of November 12, 2026 (price list v15).
Key takeaways
- Qwen3 Pro Image, Alibaba's image model, works in Claude Code and Cursor through the Makernice MCP server.
- A Qwen3 Pro Image edit combines 1 to 3 reference images and is billed per output image, whatever the number of references.
- Text-to-image and edits on Qwen3 Pro Image have separate per-image rates at 1k and at 2k.
- list_models with the model id returns the accepted aspect ratios, options and image size rules, so the agent can check a request before quoting it.
Qwen3 Pro Image runs in Claude Code and Cursor once the Makernice MCP server is connected, for new pictures and for edits that merge several photos. The agent quotes each request with estimate_cost, you approve, and generate does the work under that cap. A 1k edit costs $0.0425 per image at price list v15 (November 12, 2026).
First-time setup for the two coding agents
Qwen3 Pro Image needs the Makernice MCP server added once in each editor, in two steps per editor.
| Editor | Add the server | Sign in |
|---|---|---|
| Claude Code | Run the claude mcp add --transport http --scope user makernice command from the Claude Code connection guide | Type /mcp in Claude Code and pick makernice |
| Cursor | Use Add to Cursor or the ~/.cursor/mcp.json entry from the Cursor connection guide | Click sign in next to makernice in MCP settings |
Each sign-in opens a browser page where you approve access. Afterwards, get_balance tells the agent how much it may spend on one job (per_job_limit_usd) and what is left of any daily cap on the connection.
Can I make Qwen3 Pro Image images in Claude or ChatGPT instead?
Yes, and only the connection differs. Once Makernice is added, the chat app calls estimate_cost, waits for your go-ahead, sends generate with that figure as max_cost_usd and reads the result from check_job, the same three calls Claude Code and Cursor make for Qwen3 Pro Image. The estimate is not a reserved price: generate quotes again and stops if the new quote is over your limit.
- Claude: Customize → Connectors → + Add → Add custom connector, paste the MCP URL, then Connect and sign in. On Team and Enterprise plans an owner adds it in Organization settings first. Claude steps.
- ChatGPT on the web: Plugins → + → Add custom MCP server, Authentication set to OAuth and the ChatGPT-only URL, then type @ in a new chat and pick Makernice. Your plan or workspace must allow custom MCP servers, and that version has no
get_topup_linktool, so top up on the site. ChatGPT steps.
Asking for a Qwen3 Pro Image edit with 3 references
You: I have photos of an olive armchair, a brass lamp and our empty living room. Show me both pieces in the room by the window. Quote it first.
Claude Code maps the three photos to reference_images and asks:
{
"name": "estimate_cost",
"arguments": {
"input": {
"model": "qwen3-pro-image",
"mode": "i2i",
"prompt": "Put the armchair from image 1 and the floor lamp from image 2 into the living room from image 3, by the window, keeping the room's daylight",
"reference_images": [
"https://example.com/furniture/armchair-olive.jpg",
"https://example.com/furniture/lamp-brass.jpg",
"https://example.com/rooms/living-room-empty.jpg"
],
"resolution": "1k",
"aspect_ratio": "3:2"
}
}
}Claude Code: This edit is $0.0425 for one 1k image on Qwen3 Pro Image (price list v15). The quote creates no job. Shall I make it?
You: Sure.
{
"name": "generate",
"arguments": {
"input": {
"model": "qwen3-pro-image",
"mode": "i2i",
"prompt": "Put the armchair from image 1 and the floor lamp from image 2 into the living room from image 3, by the window, keeping the room's daylight",
"reference_images": [
"https://example.com/furniture/armchair-olive.jpg",
"https://example.com/furniture/lamp-brass.jpg",
"https://example.com/rooms/living-room-empty.jpg"
],
"resolution": "1k",
"aspect_ratio": "3:2"
},
"max_cost_usd": "0.042514",
"request_id": "olive-chair-room-mockup-1"
}
}Makernice quotes the same input again when generate lands. The job only exists if that quote is within max_cost_usd and the connection's per-job limit, and you pay that quote. The reply returns a job_id. Because the request_id is tied to this exact input, a retry after a network hiccup returns the original job, and a changed request under the same id is refused.
Claude Code then waits with check_job and wait_s (55 seconds at most per call). The finished image is at outputs[0].url, a signed link that works for 24 hours, renewable with another check_job call; console_url opens the run in your console. MCP jobs also notify an account webhook if you set one.
Resolution tiers and per-image prices for Qwen3 Pro Image
Qwen3 Pro Image has four per-image rates, one for each mode at each resolution.
| Mode | 1k | 2k |
|---|---|---|
Text-to-image (mode t2i) | $0.0328 | $0.0657 |
Edit (mode i2i) | $0.0425 | $0.0768 |
Prices are per output image at price list v15, and 1k is used when resolution is omitted. The number of reference images doesn't change an edit's price. Here is a 2k text-to-image request for comparison with the edit above:
{
"name": "estimate_cost",
"arguments": {
"input": {
"model": "qwen3-pro-image",
"mode": "t2i",
"prompt": "Isometric illustration of a cozy reading nook with an olive armchair, brass lamp and a wall of books, soft pastel palette",
"resolution": "2k",
"aspect_ratio": "4:3",
"negative_prompt": "text, logo, people"
}
}
}Prompt controls and options Qwen3 Pro Image exposes
Besides prompt, Qwen3 Pro Image takes negative_prompt for things to keep out of the result and prompt_expansion (off sends your text as written, balanced lets the model expand it). Aspect ratios are 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, for both modes. To see the exact list the agent may use, including image_size limits for references, it can ask list_models about this model:
{
"name": "list_models",
"arguments": {
"model": "qwen3-pro-image"
}
}References must be public https links to JPEG, PNG or WebP files no bigger than 10 MB; a path on your machine is not reachable. The Qwen3 Pro Image model page has the full specification and the related Qwen model.
What does a Qwen3 Pro Image refusal mean, and what should the agent do?
A refused Qwen3 Pro Image call means Makernice found a problem before creating the job, so the agent gets explanatory text and no job or charge is created. The first column holds the refusal name used in the server code; the second, the text the tool starts its answer with.
| Refusal | What the tool returns | What to do |
|---|---|---|
unknown_model | "Unknown model" | The id passed to list_models is misspelled; ask for the full list and copy the id from it |
invalid_request | "Invalid parameters" | The text names the problem field, for example more reference images than the limit of 3 |
price_exceeds_max_cost | "which exceeds max_cost_usd" | The approved figure was for 1k or for text-to-image; quote the request you actually want |
concurrency_limit_reached | "Too many jobs are running for this account right now." | Wait for a running job to finish, then send the next one |
A job can still fail once it has started, for example when moderation rejects one of the references. check_job then reports status failed with an error object and billing released, and the amount on hold returns to your balance. Output blocked by moderation after it is made is charged; see failed generations.
