# Flux Kontext | Pro | Multi Image An experimental model with FLUX Kontext Pro that can combine two input images ## API Information - **Model Slug:** multi-image-kontext-pro - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-kontext/multi-image-kontext-pro - **Provider:** Black Forest Labs - **Category:** Image to Image - **Output Type:** image - **Status:** active - **Base Cost:** $0.04 per execution - **Estimated Processing Time:** 15 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/multi-image-kontext-pro ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.04 per execution - **Pricing Details:** default: $0.04 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of how to combine or transform the two input images | | input_image_1 | string | Yes | - | - | First input image. Must be jpeg, png, gif, or webp. | | input_image_2 | string | Yes | - | - | Second input image. Must be jpeg, png, gif, or webp. | | aspect_ratio | string | No | match_input_image | match_input_image, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9, 9:21, 2:1, 1:2 | An enumeration. | | seed | integer | No | - | 1–0 | Random seed. Set for reproducible generation | | output_format | string | No | png | jpg, png | An enumeration. | | safety_tolerance | integer | No | 2 | 0–2 | Safety tolerance, 0 is most strict and 2 is most permissive. 2 is currently the maximum allowed. | ## 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": "multi-image-kontext-pro", "input": { "input_image_1": "https://cdn-us.eachlabs.ai/defaults/c76b3180de8673dc6133319e194337127cde573241a5dbcd0b5e43da034b89b4.webp", "input_image_2": "https://cdn-us.eachlabs.ai/defaults/2cbd12d915642d7797a648af283c5b25cbc1b42bd0c35748ead1434b34de1b44.webp", "prompt": "Put the woman just to the left of the house" } }' ``` ## 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 "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 **multi-image-kontext-pro — Image-to-Image AI Model** Developed by Black Forest Labs as part of the FLUX Kontext family, multi-image-kontext-pro is a professional-grade image-to-image AI model designed for precise, context-aware image editing. Unlike standard image editors, this model combines multiple reference images with natural language instructions to produce photorealistic edits that maintain consistency across complex transformations. Whether you're refining product photography, iterating on character designs, or compositing scenes, multi-image-kontext-pro delivers the control and quality that creators and developers expect from an advanced image-to-image AI model. The core strength of multi-image-kontext-pro lies in its ability to understand both visual context and textual intent simultaneously. You provide reference images, describe your desired edit in plain language, and the model interprets both inputs to execute precise, localized changes—eliminating the trial-and-error cycles common with generic image editing tools. ## 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.