# Flux 2 | Max | Edit FLUX.2 [max] provides state-of-the-art image generation and advanced editing with outstanding realism, precision, and visual consistency. ## API Information - **Model Slug:** flux-2-max-edit - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-2/flux-2-max-edit - **Provider:** Black Forest Labs - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Per-megapixel pricing: $0.07 base + $0.03/extra MP (ceil rounding) - **Estimated Processing Time:** 50 seconds - **Last Updated:** 2026-04-27 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-2-max-edit ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0400 - **Pricing Details:** Per-megapixel pricing: $0.07 base + $0.03/extra MP (ceil rounding) ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Per-megapixel pricing: $0.07 base + $0.03/extra MP (ceil rounding) | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to generate an image from. | | image_urls | array | Yes | - | 1–3 | List of URLs of input images for editing | | image_size | string | No | square_hd | square_hd,square,portrait_4_3,portrait_16_9,landscape_4_3,landscape_16_9 | The size of the generated image. If `auto`, the size will be determined by the model. | | safety_tolerance | string | No | 2 | 1,2,3,4,5 | The safety tolerance level for the generated image. 1 being the most strict and 5 being the most permissive. | | enable_safety_checker | boolean | No | true | - | Whether to enable the safety checker. | | output_format | string | No | jpeg | jpeg,png | The format of the generated image. | | seed | integer | No | - | - | The seed to use for the generation. | ## 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": "flux-2-max-edit", "input": { "prompt": "Transform the uploaded Eachlabs logo into a realistic sci fi planet floating in deep space.\nThe planet must be perfectly spherical, but its surface geography and structure are shaped by the exact Eachlabs logo form.\nThe logo remains clearly recognizable from a distance, embedded into the planet as massive landmasses, ridges, and carved structures.\n\nThe logo shape appears as raised continents and deep engraved valleys wrapping naturally around the planet’s curvature.\nSurface materials feel futuristic and cinematic, a mix of smooth stone, subtle metallic textures, and alien terrain details.\n\nThe planet is surrounded by deep black space with distant stars, soft cosmic dust, and faint nebula light.\nA gentle rim light from a nearby star highlights the planet’s edges, creating a dramatic sci fi glow.\nAtmospheric haze softly surrounds the planet, enhancing scale and realism.\n\nLighting is cinematic and high contrast, emphasizing depth, shadows, and the logo shaped terrain.\nUltra realistic, high detail, epic science fiction aesthetic, clean composition, no text, no extra symbols.", "image_urls": [ "https://storage.googleapis.com/magicpoint/inputs/flux-2-max-edit-input.png" ] } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated image)", "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 **flux-2-max-edit — Image Editing AI Model** Developed by Black Forest Labs as part of the flux-2 family, **flux-2-max-edit** is a state-of-the-art image-to-image editing model that transforms existing images through natural language instructions with photorealistic precision. Rather than starting from scratch, flux-2-max-edit accepts an input image and a text prompt describing your desired edits—whether adding elements, removing objects, changing backgrounds, or modifying styles—and delivers production-ready results with exceptional detail and accuracy. This approach solves a critical problem for creators and developers: the need for an AI image editor that understands complex editing requests while maintaining the integrity and photorealism of the original composition. What distinguishes flux-2-max-edit from other image-to-image AI models is its foundation in Black Forest Labs' 32-billion parameter architecture, optimized specifically for rendering intricate details like skin texture, fabric weaves, and architectural elements with unprecedented fidelity. The model excels at intelligent image editing tasks, enabling seamless composite edits with natural language control—a capability essential for developers building AI image editor platforms and creative professionals requiring pixel-perfect results. ## 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.