Skip to main content
API Reference for qwen/qwen-image-3.0-pro, served by Comfy Router from Qwen.

Quick start

Create a key at platform.comfy.org/profile/api-keys and export it as COMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: qwen/qwen-image-3.0-pro Endpoint: POST https://api.comfy.org/v2/models/qwen/qwen-image-3.0-pro

Schema

Input

object
required
The input parameter object containing the request messages
object[]
required
The request content array. Only single-round conversations are supported, so the array must contain exactly one object
object[]
required
The message content array. Text-to-image contains one text object; image editing contains 1-3 image objects and one text object
string
The URL or Base64 encoded data of an input image. 1-3 images are supported for image editing
string
The positive prompt that describes the image content, style, and composition to generate or edit
string
required
The role of the message sender. Must be set to userPossible values: user
string
The ID of the model to call for multimodal image generation and editing. Available values are qwen-image-3.0-pro and qwen-image-3.0. It is NOT in this schema’s required list because Comfy Router fills it from the {model} path segment of /v2/models/qwen/{model}, so a Router caller omits it; a direct v1 call to the /proxy/ route must supply it.
object
Additional parameters to control image generation
integer
default:"1"
The number of output images. Range 1-6, default is 1Range: 1 to 6
string
The negative prompt that describes content you do not want to appear in the image
boolean
default:"true"
Whether to enable intelligent prompt rewriting. Default is true
string
default:"\"direct\""
The prompt rewriting method, direct (default, supported for T2I and I2I) or agent (T2I only)Possible values: direct, agent
integer
Random number seed to control randomness. Range [0, 2147483647]Range: 0 to 2147483647
string
The output image resolution in the format widthheight, for example 10241024. The API accepts a pixel area between 262144 (512512) and 6553600 (25602560) with an aspect ratio between 1:8 and 8:1. If not specified, the model automatically recommends a resolution based on the prompt
boolean
default:"false"
Whether to add a watermark. Default is false
Generated from the schema Router serves at GET /v2/models/qwen/qwen-image-3.0-pro/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

string
The error code for the failed request (not returned if request is successful)
string
Detailed information about the failed request (not returned if request is successful)
object
Contains the model generation results
object[]
The list of result options
string
The reason why the task stopped. The value is stop when the task completes normally
object
The message returned by the model
object[]
The message content containing the generated image information
string
The URL of the generated image in PNG format. The link is valid for 24 hours
string
A textual element returned in place of an image. An element carrying only this field produced NO asset, so a caller keys completion off image rather than off the presence of a content element
string
The role of the message. Fixed as assistant
string
Unique request identifier
object
The resource usage of this call. Only returned on success
integer
The number of input images in the request. Returns 0 for text-to-image
string
The input image billing tier, qima_input_1k or qima_input_2k, determined by the output resolution pixel area
integer
The height of the final output image in pixels
integer
The actual number of output images returned
string
The output image billing tier, qima_output_1k or qima_output_2k, determined by the output resolution pixel area
integer
The width of the final output image in pixels

Examples

Input

Output

Before you ship

The snippets above are the shortest working call. Three things are the same for every model and are documented once on the Comfy Router headers page: send an Idempotency-Key on every paid call and reuse it when you retry, expect the connection to be held up to Router’s 10 minute deadline, and keep X-Comfy-Request-Id from every response. The SDKs do all three for you; the cURL tab does none of them. On failure, X-Comfy-Error-Type names the bucket, and a 422 means the body failed the model’s schema and was never billed.

Headers

Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.

Quick Start

Typed error handling in Python and TypeScript, reading the 422, walking the catalog.

Limitations

What Router does not do today, and what to use instead.