
MAI-Image 2.6 Text-to-Image API by MICROSOFT
Microsoft AI's flagship text-to-image model, generating photorealistic, design-ready images from natural language with markedly improved in-image text rendering, model-directed aspect ratio selection, and optional web-grounded context.
MAI-Image 2.6 Text-to-Image è sviluppato da Microsoft. Atlas Cloud (gestita da Atlas Cloud AI LLC) ne fornisce l’accesso ma non ne è proprietaria. Tutti i marchi appartengono ai rispettivi titolari.
MAI-Image-2.6 Text-to-Image
Overview
MAI-Image-2.6 is Microsoft AI's flagship image model, built for high-quality generation and precise, controllable editing. This endpoint exposes its text-to-image path: you send a natural language prompt and receive a finished, design-ready image.
MAI-Image-2.6 is a diffusion-based generative model that progressively refines an image from the prompt, which gives it strong text–image alignment even on long, densely specified instructions. Compared with the previous MAI-Image-2.5 generation, version 2.6 delivers noticeably stronger in-image text rendering, better portraits and 3D imagery, and more polished commercial and photorealistic output. It also adds two capabilities that were not available in the 2.5 series: model-directed aspect ratio selection and web-grounded generation.
microsoft/mai-image-2.6/text-to-image and microsoft/mai-image-2.6/edit are two entry points into the same underlying model, split by input type. Use this text-to-image endpoint when you have only a prompt; use the edit endpoint when you also have one or more reference images to work from.
Key Capabilities
- Accurate text rendering — The headline improvement of this generation. Posters, packaging, signage, labels, UI mockups, and slide-style compositions come back with legible, correctly spelled, correctly kerned text. Microsoft measured a +91 Elo gain on text rendering over MAI-Image-2.5.
- Photorealistic synthesis — Realistic imagery with consistent lighting, materials, and scene structure, suitable for concept visualization and finished content.
- High-fidelity portraits — Expressive, natural-looking people with accurate facial structure, skin texture, and lighting.
- Product, branding, and commercial design — Tuned for product shots, marketing visuals, brand assets, and cinematic compositions rather than only artistic renders.
- Visual reasoning — Reasons across objects, scale, spatial positioning, lighting, and scene structure, so ambiguous prompts still resolve into coherent images.
- Web-grounded generation — Optionally retrieves current information from the web and uses it as extra context when interpreting the prompt. Useful for real-world entities, places, events, and anything that changes over time.
- Model-directed aspect ratio — Instead of forcing a fixed canvas, the model can evaluate the prompt and pick the aspect ratio best suited to the requested content, composition, and framing.
- High-resolution output — Up to 1.5K-class resolution, with a total budget of 2,359,296 pixels per image.
- Long prompts — Up to 32,000 tokens of prompt context, enough for detailed art direction, brand guidelines, and exact copy to render.
Benchmark Performance
- No. 2 on the Arena text-to-image leaderboard, ahead of leading models from Google, Meta, and xAI.
- +79 Elo overall over MAI-Image-2.5, with gains across every Arena text-to-image category and the largest jumps in text rendering, portraits, and 3D imagery.
- No. 2 for text-to-image and No. 1 for image editing on Artificial Analysis' image leaderboards.
- Microsoft positions the model on the best price-per-Elo point in the world — near-frontier quality without frontier pricing.
- In head-to-head category scoring by Artificial Analysis, MAI-Image-2.6 sits within a few Elo points of GPT Image 2 on categories such as Lighting and UI/UX Design.
API Parameters
The request body is JSON. Parameters follow the model's OpenAPI schema exactly.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | microsoft/mai-image-2.6/text-to-image | Model name. |
prompt | string | Yes | — | Text prompt describing the image to generate. Maximum context length: 32,000 tokens. |
size | string | No | default | Image dimensions in width*height format (e.g. 1024*1024, 1536*1536, 2048*1152). Both width and height must be at least 768. The product of width × height must not exceed 2,359,296. Two special values are also supported: default uses the model's own default dimensions, and auto lets the model evaluate the prompt and select the output aspect ratio it determines is best suited to the requested content, composition, and framing. |
enable_web_search | boolean | No | false | If enabled, the model will use web search to ground the generation with real-time information. This can improve accuracy for prompts involving real-world entities, places, or events. |
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. |
Notes on size
- Individual dimensions are bounded: the minimum for either side is 768, and the maximum for either side is 2346.
- The total pixel count must fall between 589,824 (768×768) and 2,359,296 pixels.
- Practical picks inside the budget:
1536*1536(1:1),2048*1152(16:9),1152*2048(9:16),1728*1296(4:3),1024*1024(1:1, lighter). - Set
sizetoautowhen you would rather have the model choose the framing — it is often the better choice for posters, hero art, and anything where composition matters more than a fixed canvas.
Response Format
Requests return a prediction envelope. Poll the returned urls.get endpoint (or set enable_sync_mode to wait inline) until data.status is completed, then read the image URLs from data.outputs.
| Field | Type | Description |
|---|---|---|
code | integer | HTTP status code of the response. |
message | string | Human-readable message; non-empty on failure. |
data.id | string | Unique identifier for the prediction. |
data.model | string | Model ID used for the prediction. |
data.outputs | string[] | Array of URLs to the generated content. Null when status is not completed. |
data.urls.get | string | URL to poll for the prediction result. |
data.has_nsfw_contents | boolean[] | NSFW detection flag per output. Null if not applicable. |
data.status | string | created, processing, completed, timeout, or failed. |
data.created_at | string | ISO timestamp of when the request was created. |
data.error | string | Error message if the task failed, empty string otherwise. |
data.error_code | integer | Error code if the task failed. |
data.executionTime | number | Total execution time in milliseconds. |
data.timings.inference | number | Inference time in milliseconds. |
Pricing
This model uses a hold-then-settle billing mode. When the request is accepted, an estimated price is held against your balance; when the request finishes, the hold is released and you are charged the final settlement price computed from the upstream token usage actually consumed.
Estimated Price (Hold)
SKUs
| SKU | Description | Unit Price |
|---|---|---|
sku_output_image | Price for the output image (per image) | $0.088 |
sku_input_1m_token | Price per 1M input tokens | $5.00 |
sku_web_search | Web search | $0.035 |
Parameters Used
| Parameter | Source | Type | Default |
|---|---|---|---|
prompt | request body prompt | string | "" |
enable_web_search | request body enable_web_search | boolean | false |
Formula
estimate = countTokens(prompt) / 1,000,000 × sku_input_1m_token + sku_output_image + (enable_web_search ? sku_web_search : 0)
Substituting the unit prices:
estimate = countTokens(prompt) / 1,000,000 × $5.00 + $0.088 + (enable_web_search ? $0.035 : 0)
Worked Estimates
| Prompt tokens | Web search | Token cost | Output image | Web search | Estimate |
|---|---|---|---|---|---|
| 50 | off | $0.000250 | $0.088 | $0 | $0.088250 |
| 500 | off | $0.002500 | $0.088 | $0 | $0.090500 |
| 2,000 | off | $0.010000 | $0.088 | $0 | $0.098000 |
| 500 | on | $0.002500 | $0.088 | $0.035 | $0.125500 |
| 32,000 (max) | off | $0.160000 | $0.088 | $0 | $0.248000 |
For typical prompts of a few hundred tokens with web search off, the estimated price is approximately $0.09 per image.
Final Settlement Price
Settlement is token-based across three meters, priced per 1M tokens:
| Meter | Rate per 1M tokens |
|---|---|
input_price — text input tokens | $5.00 |
input_image_price — image input tokens | $8.00 |
output_image_price — image output tokens | $38.00 |
settled = (input_price × input + input_image_price × input_image + output_image_price × output_image) / 1,000,000
Substituting the rates:
settled = ($5.00 × input + $8.00 × input_image + $38.00 × output_image) / 1,000,000
Where input is the number of text input tokens, input_image the number of image input tokens (0 for this text-to-image endpoint under normal use), and output_image the number of tokens in the generated image, as reported by the upstream usage record. Because output image tokens scale with the resolution you request, a 1024*1024 image settles materially cheaper than a 1536*1536 one — the size parameter is the main lever you have over the final bill.
Illustrative settlement: a 200-token prompt producing an image billed at 1,000 output image tokens settles at ($5.00 × 200 + $38.00 × 1,000) / 1,000,000 = $0.039. Actual token counts come from the upstream usage report, not from this document.
Best Use Cases
- Marketing and advertising creative — Campaign key visuals, social assets, and display banners where legible headline text matters.
- Packaging and print design — Labels, boxes, posters, and menus with real copy rendered in place.
- Product and brand imagery — Studio-style product shots and brand-consistent hero art.
- Concept art and pre-visualization — Cinematic frames, environment concepts, and storyboards.
- Portraits and character art — Expressive, photorealistic people for editorial and campaign use.
- UI/UX and app mockups — Screen designs and interface illustrations with readable labels.
- Timely, real-world visuals — Turn on web search for imagery involving current events, real places, public landmarks, or facts that shift over time.
Prompting Tips
- Quote text you want rendered. Put the exact string in quotation marks and name where it goes:
a poster with the headline "Summer Sessions" centered at the top. - Specify the medium and lens. Words like studio product photograph, 85mm, soft key light steer realism far more reliably than adjectives like beautiful.
- Describe composition explicitly — foreground, background, camera angle, negative space for copy.
- Let the model frame it. When you do not have a hard canvas requirement,
size: "auto"usually produces better-composed results than an arbitrary fixed ratio. - Reach for web search selectively. It improves factual grounding for real entities and events, but it adds latency and cost, so leave it off for purely imaginative prompts.
- Iterate on one axis at a time. Change lighting, or layout, or palette — not all three — so you can tell what actually moved the result.
Technical Specifications
| Spec | Value |
|---|---|
| Model Developer | Microsoft AI |
| Model Family | MAI-Image-2.6 |
| Model Version | 2026-07-31 |
| Architecture | Diffusion-based generative model |
| Task | Text-to-image generation |
| Input | Text prompt (up to 32,000 tokens) |
| Output | Image URL, or BASE64 when enable_base64_output is set |
| Min Dimension | 768 px per side |
| Max Dimension | 2346 px per side |
| Max Total Pixels | 2,359,296 (≈1.5K class, e.g. 1536×1536) |
| Aspect Ratio | Fixed via size, or model-selected via size: "auto" |
| Web Grounding | Optional, via enable_web_search |
| Images per Request | 1 |
| Billing Mode | Hold-then-settle |
Responsible Use
MAI image models apply data filtering and system-level content classifiers, and outputs are flagged through has_nsfw_contents. No generative model is immune to adversarial prompts, so add mitigations appropriate to your use case, avoid generating misleading or privacy-violating content or depictions of public figures and protected material, and disclose that images are AI-generated when you publish them.
Related Models
- MAI-Image-2.6 Edit — The same model, driven by 1–5 reference images for controllable editing and multi-reference composition.
- MAI-Image-2.6-Flash Text-to-Image — Comparable quality at roughly half the price, tuned for latency-sensitive, high-throughput generation.
- MAI-Image-2.6-Flash Edit — The faster, lower-cost editing variant.



















