Browse ModelsMicrosoftMicrosoft Mai Image 2.5 Edit

Microsoft Mai Image 2.5 Edit

Microsoft Mai Image 2.5 Edit

Playground

Try it on WavespeedAI!

Microsoft MAI Image 2.5 Edit is a fast AI image editing model that transforms input images with natural-language instructions while preserving strong realism, typography, and visual detail. Ready-to-use REST inference API for photo editing, product image updates, marketing assets, brand visuals, typography-aware edits, creative retouching, and professional image editing workflows with simple integration, no coldstarts, and affordable pricing.

Features

Microsoft MAI Image 2.5 Edit

Microsoft MAI Image 2.5 Edit edits an input image using natural-language instructions, with support for optional aspect-ratio control and multiple output formats. It is suitable for image refinement, style changes, composition adjustments, product visuals, and other prompt-driven image editing workflows.


Why Choose This?

  • Prompt-based image editing
    Edit an existing image by describing the changes you want in natural language.

  • Simple editing workflow
    Upload one image, write an instruction, choose the output ratio, and generate the result.

  • Flexible output framing
    Use size to keep the original image ratio or switch to a different preset aspect ratio.

  • Multiple output formats
    Export results as jpeg, png, or webp.

  • Production-ready API
    Suitable for product image refinement, visual cleanup, style changes, and creative variations.


Parameters

ParameterRequiredDescription
promptYesThe instruction describing how to edit the input image. Supports 3–5000 characters.
imageYesThe image to edit. Provide an uploaded image or a public image URL.
sizeNoOutput aspect ratio. Supported values: auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3. Default: auto.
output_formatNoThe format of the edited image. Supported values: jpeg, png, webp. Default: png.

How to Use

  1. Upload your image — provide the source image you want to edit.
  2. Write your prompt — describe what should change and what should stay consistent.
  3. Choose size (optional) — keep auto to preserve the original framing, or select a preset ratio.
  4. Choose output format (optional) — select jpeg, png, or webp.
  5. Submit — run the model and download the edited image.

Example Prompt

Turn this product photo into a premium studio advertisement with soft cinematic lighting, a clean neutral background, realistic reflections, and polished commercial styling.


Pricing

Pricing includes a fixed base edit charge plus a small additional processing fee based on prompt length and internal image-token processing.

Billing Rules

  • Every request starts with a base price of $0.05 per image
  • There is an additional processing charge that increases with prompt length
  • The processing charge is billed in small $0.0001 increments
  • size and output_format do not affect pricing

Example Costs

Prompt LengthTotal Cost
10 chars$0.0583
100 chars$0.0592
500 chars$0.0632
1000 chars$0.0682
5000 chars$0.1082

Best Use Cases

  • Product photo refinement — Upgrade product shots for ads, listings, and brand materials.
  • Style changes — Rework an image into a new visual style or mood.
  • Composition adjustments — Use aspect-ratio controls to adapt the edit for different formats.
  • Marketing creatives — Produce polished visuals for campaigns, social media, and presentations.
  • Creative variations — Generate multiple prompt-driven directions from the same source image.

Pro Tips

  • Be specific about what should change and what should stay the same.
  • Use auto size when you want to preserve the original image framing.
  • Keep prompts concise when you want lower cost and tighter control.
  • Use png when image quality matters more than file size.
  • Longer prompts may improve direction, but they also increase cost.

Notes

  • Both prompt and image are required.
  • size defaults to auto.
  • output_format defaults to png.
  • Pricing includes a fixed base edit charge and an additional prompt-sensitive processing fee.
  • Better prompts usually improve both edit quality and consistency.

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/microsoft/mai-image-2.5/edit" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "size": "auto",
    "output_format": "png"
}'

# 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

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-The instruction describing how to edit the input image.
imagestringYes-The image to edit. Provide an uploaded image or a public image URL.
sizestringNoautoauto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3The aspect ratio of the edited image.
output_formatstringNopngjpeg, png, webpThe format of the edited image.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.