Qwen Image Edit 2511
Playground
Try it on WavespeedAI!Qwen Image Edit 2511 is a major upgrade over 2509 for real-world image editing and design. It delivers stronger edit consistency, robust multi-person identity/pose consistency, built-in LoRA styles, enhanced industrial/product design, and improved geometric reasoning for structure-preserving edits. Built for stable production use with a ready-to-use REST API, no cold starts, and predictable pricing.
Features
Qwen-Image-Edit-2511 (20B, MMDiT)
Qwen-Image-Edit-2511 is a high-consistency, production-grade image editing model built on the Qwen-Image 20B (MMDiT) architecture, delivering stronger real-world edits, better identity preservation, and more reliable multi-subject control than earlier releases. It’s designed for fast, prompt-driven edits with stable composition, clean details, and commercial-ready output quality.
What’s new in 2511
-
Stronger multi-person consistency Handles group photos and multi-subject scenes with better stability and fewer identity swaps.
-
Integrated popular community LoRA styles Built-in style options for common community aesthetics without extra setup (availability depends on the endpoint).
-
Better industrial & product editing Cleaner structure, surfaces, and product geometry for design mockups and marketing visuals.
-
Reduced drift across edits Improved identity and subject consistency when making iterative or larger edits.
-
Improved geometric reasoning More reliable structural transformations and shape-aware editing.
Core capabilities
-
Dual-mode editing
- Appearance editing: add/remove/modify elements while keeping other regions visually consistent.
- Semantic editing: global style/pose/scene transformations that preserve intent while allowing broader pixel changes.
-
Precise text editing (when applicable) Add, delete, or replace on-image text while keeping natural typography behavior (spacing, alignment, style).
-
Style preservation Maintains lighting, palette, and overall look while applying targeted changes.
Best for
- Multi-person projects — group photos, team portraits, event shots
- Industrial & product design — product mockups, packaging tweaks, commercial comps
- Identity-preserving edits — portraits, characters, avatar refinement
- Design & marketing teams — fast iterations, brand-safe edits, localization visuals
- E-commerce & social — product cleanup, background updates, quick visual variations
Example prompts
- Multi-person: Add a third person matching the existing lighting and camera angle.
- Industrial: Convert this product into a clean technical blueprint view with construction lines.
- Identity: Keep the person’s facial features unchanged and replace the background with a modern office.
- Appearance: Add a latte cup in the top-right corner without changing anything else.
- Semantic: Restyle the scene as cyberpunk while keeping the brand logo and layout consistent.
Parameters
| Parameter | Description |
|---|---|
| prompt* | The edit instruction describing what to change and what to keep. |
| images* | Input images to edit or reference. Up to 3 images maximum (the first image is typically treated as the main base image). |
How to use
- Add your base image as the first item in images (you should see a preview in the UI).
- Optionally add 1–2 more reference images (maximum 3 total) to guide style, subject details, or composition.
- Write a clear prompt describing the edit and constraints (examples: “keep face unchanged”, “keep pose”, “keep background”).
- Run the model and review the result.
- Iterate by tightening constraints and making one major edit per run for best consistency.
Supported output formats typically include JPG / PNG / WEBP (as exposed by the endpoint).
Pricing
- $0.03 per edited image
Note
If you’re using image URLs (instead of uploading locally), make sure they’re publicly accessible. If the URL is valid, the interface will display a preview before you run the job.
Related Models
-
Qwen Image Edit — AI Image Editing & Inpainting — Prompt-driven image editing for object removal, background replacement, and inpainting with fast iterations and strong instruction following.
-
Qwen Image Edit Plus — High-Fidelity Image Editing — Higher-quality image edits with cleaner edges, improved detail retention, and more stable results on complex scenes and textures.
-
Google Nano Banana Pro (Edit) — Photoreal Image Editor — High-fidelity image editing optimized for photoreal results, accurate text rendering, and composition-preserving transformations for professional creatives.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen-image/edit-2511" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"seed": -1,
"output_format": "jpeg",
"enable_base64_output": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| images | array | Yes | [] | 1 ~ 3 items | The images to edit. A maximum of 3 reference images can be uploaded. |
| size | string | No | - | 256 ~ 1536 per dimension | The size of the generated media in pixels (width*height). |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
| output_format | string | No | jpeg | jpeg, png, webp | The format of the output image. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |