Microsoft Mai Image 2.5 Pro Edit
Playground
Try it on WaveSpeedAI!Microsoft MAI Image 2.5 Pro Image Edit transforms source images with natural-language instructions, applying precise edits while preserving the details that should remain unchanged for creative design, product visuals, marketing assets, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Microsoft MAI Image 2.5 Pro Edit transforms a source image with natural-language instructions. It is built for precise visual changes, layout-aware refinement, and preservation-focused editing where identity, composition, or important source details should remain unchanged.
Why Choose This?
-
Instruction-based image editing
Edit an existing image by describing the desired change in natural language. -
Preservation-focused results
Modify selected visual details while keeping important source elements unchanged. -
Layout-aware refinement
Apply edits to background, objects, lighting, style, or composition while maintaining a coherent final image. -
Flexible aspect ratios
Useautofor model-selected framing or choose a specific aspect ratio when needed. -
Standard output formats
Export edited images asjpeg,png, orwebp.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text instruction describing how to edit the source image. |
| image | Yes | Source image to edit. Public image URLs and uploaded images are supported. |
| aspect_ratio | No | Output aspect ratio. Use auto to let the model choose a suitable ratio. |
| output_format | No | Output format: jpeg, png, or webp. |
How to Use
- Upload your source image — Provide the image you want to edit.
- Write your edit prompt — Describe the requested change and clearly state what should remain unchanged.
- Choose aspect ratio — Select a fixed aspect ratio or use
autofor model-selected framing. - Choose output format — Select
jpeg,png, orwebpwhen needed. - Submit — Generate the edited image and retrieve the output URL.
Pricing
Pricing includes a base image editing cost plus a prompt length surcharge.
| Item | Price |
|---|---|
| Base image edit | $0.29 |
Example Costs
| Prompt Length | Price |
|---|---|
| 10 characters | $0.290075 |
| 100 characters | $0.29075 |
| 500 characters | $0.29375 |
| 1,000 characters | $0.2975 |
| 2,000 characters | $0.305 |
Best Use Cases
- Background editing — Change, clean up, or restyle image backgrounds.
- Object and lighting changes — Modify objects, colors, lighting, mood, or scene details.
- Product image refinement — Improve product visuals for marketing, ecommerce, and presentation.
- Portrait and scene edits — Adjust style, composition, atmosphere, or visual details while preserving key identity.
- Layout-aware image iteration — Refine existing images for campaigns, social media, and design workflows.
Pro Tips
- Describe both the requested change and the details that must stay unchanged.
- Use a clear source image with the main subject visible.
- Keep the edit instruction focused and specific.
- Use
autowhen the source composition should guide the output ratio. - Use
pngfor high-quality general output,jpegfor smaller files, andwebpfor web-friendly images.
## Authentication
For authentication details, please refer to the [Authentication Guide](/api-authentication).
## API Endpoints
### Submit Task & Query Result
<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />
## Parameters
### Task Submission Parameters
#### Request Parameters
<RequestParams params={model.params} />
#### Response Parameters
<SubmitResponse />
#### 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 |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string \| object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| 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 |