# Microsoft | MAI-Image-2.5 | Text to Image MAI-Image-2.5 generates photorealistic images from text and edits uploaded visuals with pixel-level control for design and marketing teams on each::labs. ## API Information - **Model Slug:** microsoft-mai-image-2-5-text-to-image - **Branded URL:** https://www.eachlabs.ai/microsoft/mai-image-2-5/microsoft-mai-image-2-5-text-to-image - **Provider:** Microsoft - **Category:** Text to Image - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.05 per generated image - **Estimated Processing Time:** 130 seconds - **Last Updated:** 2026-06-04 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/microsoft-mai-image-2-5-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0500 - **Pricing Details:** $0.05 per generated image ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | $0.05 per generated image | ## Input Schema No input parameters documented. ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "microsoft-mai-image-2-5-text-to-image", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "array", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Microsoft | MAI-Image-2.5 | Text to Image Overview** Microsoft | MAI-Image-2.5 | Text to Image is a next‑generation **microsoft text-to-image** model that converts natural language prompts into high‑fidelity, photorealistic images and can refine uploaded visuals with precise edits. Built on Microsoft’s latest image generation research and production safety stack, it delivers controllable, brand‑ready visuals for design, advertising, product, and UX teams on each::labs. Its primary differentiator is the balance of realism and structural accuracy, helping prompts produce compositions that respect objects, perspective, and lighting with fewer retries. Through the Microsoft | MAI-Image-2.5 | Text to Image API on each::labs, teams can scale image creation into their applications and workflows while keeping data and outputs governed within an enterprise‑grade environment. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.