Alibaba Wan 2.7 Image Edit
Playground
Try it on WavespeedAI!WAN 2.7 Image Edit performs prompt-driven image editing with support for multiple-image references. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Wan 2.7 Image Edit
Wan 2.7 Image Edit is a prompt-driven image editing model that makes targeted changes to existing images while preserving their original structure, subject identity, and composition. Upload one or more reference images, describe the edit in plain language, and get an updated image back — no masking, no manual selections required.
It’s built for fast creative iteration: changing clothing, colors, materials, background mood, adding or removing objects, and applying style adjustments without rebuilding the entire scene from scratch.
Why Choose This?
-
Natural-language editing Describe what to change and what to keep — the model follows your intent accurately for common creative workflows.
-
Multi-image reference support Upload 1 to 3 input images for style, subject, or background guidance and fusion edits.
-
Composition preservation Designed to preserve subject identity, pose, and overall structure while applying localized changes.
-
Seed control Fix a seed for repeatable outputs and more consistent iteration across prompt variations.
Parameters
| Parameter | Required | Description |
|---|---|---|
| images | Yes | One or more input images to edit (1–3 images, uploaded files or public URLs). |
| prompt | Yes | Edit instruction describing what to change and what to keep. |
| size | No | Output dimensions. Defaults to the original image size if not specified. |
| seed | No | Integer for reproducibility. Use a fixed seed to iterate with smaller prompt changes. -1 for random. |
How to Use
- Upload your image(s) — provide the main image to edit. Add up to 3 images for style or background reference.
- Write your prompt — describe both what to change and what must stay the same. For example: “Replace the background with a rainy Tokyo street at night, keep the person’s face and pose unchanged.”
- Set size (optional) — specify output dimensions, or leave empty to match the original image size.
- Set seed (optional) — fix a seed to make iterations more comparable and reproducible.
- Submit — preview the output and iterate step by step if needed.
Pricing
Just $0.03 per run.
Best Use Cases
- Fashion & Apparel — Swap clothing styles, colors, or materials while preserving pose and identity.
- Background Replacement — Change scene environment or mood without affecting the subject.
- Product Editing — Adjust product colors, materials, or settings for variant photography.
- Style Transfer — Apply artistic or visual style shifts to an existing image.
- Creative Iteration — Rapidly explore visual variations from a single source image.
Pro Tips
- Structure your prompt in two parts: what to change, and what to keep. Example: “Change the jacket to leather, keep the face and pose unchanged.”
- If edits spill into areas you want to preserve, strengthen constraints: “keep the face unchanged”, “keep the background intact”, “do not alter the text.”
- Use a fixed seed to make iterative prompt refinements more comparable across runs.
- If outputs look inconsistent, simplify your prompt and iterate with smaller changes.
- Use multiple reference images when you need the model to draw from different sources for style, subject, or background.
Notes
- Both images and prompt are required fields.
- Output size defaults to the original image dimensions if size is not specified.
- Output size range is 512–4096 pixels per dimension, with total pixels between 768×768 and 2048×2048 and aspect ratio between 1:8 and 8:1.
Related Models
- Wan 2.7 Image Edit Pro — Pro version with 4K support for higher-resolution editing.
- Wan 2.6 Image Edit — Previous generation Wan image-edit model with a similar prompt-driven workflow.
- Qwen Image Edit — General-purpose AI image editing with strong prompt adherence for everyday creative and product workflows.
- Google Nano Banana Pro Edit — High-fidelity image editing with strong composition preservation and reliable text handling.
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/alibaba/wan-2.7/image-edit" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"seed": -1
}'
# 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 |
|---|---|---|---|---|---|
| images | array | Yes | [] | 1 ~ 9 items | List of URLs of input images for editing (1-9 images). |
| prompt | string | Yes | - | The positive prompt for the generation. | |
| size | string | No | - | 512 ~ 4096 per dimension | The size of the generated image in pixels (width*height). Range: 512-4096 per dimension. Total pixels must be between 768*768 and 2048*2048. Aspect ratio must be between 1:8 and 8:1. |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
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 | object | Array of URLs to the generated content. |
| 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 |