# 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 - **Base Cost:** $0.05 per image - **Estimated Processing Time:** 130 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/microsoft-mai-image-2-5-text-to-image ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.05 per image - **Pricing Details:** default: $0.05 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt to generate an image from. | | aspect_ratio | string | No | auto | auto, 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 | Aspect ratio of the generated image. Use auto to let the model decide based on the prompt. | | num_images | integer | No | 1 | 1–4 | Number of images to generate. Range: 1-4. | | output_format | string | No | png | jpeg, png, webp | Output image format. Default: png. | | sync_mode | boolean | No | false | - | When true, Fal returns media as a data URI and output data will not be available in request history. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "microsoft-mai-image-2-5-text-to-image", "input": { "prompt": "cinematic scene of a young woman gently collecting wildflowers in a sunlit meadow during golden hour, flowing dress moving softly in the wind, warm orange sunlight, tall grass and colorful flowers surrounding her, realistic countryside atmosphere, emotional and peaceful mood, ultra realistic photography, shallow depth of field, soft film grain, dreamy cinematic composition, natural earthy tones, elegant arthouse film aesthetic" } }' ``` ## 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 "Authorization: Bearer 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 `Authorization` bearer token | | `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 `Authorization: Bearer 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.