# Flux Kontext Dev Flux.1 Kontext [dev] is an open-weight model for text-based image editing. With text prompts, it enables powerful edits such as style transfer, object and background changes, text editing, and character consistency. ## API Information - **Model Slug:** flux-kontext-dev - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux/flux-kontext-dev - **Provider:** Black Forest Labs - **Category:** Image to Image - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** $0.00000000 - **Estimated Processing Time:** 15 seconds - **Last Updated:** 2026-05-25 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-kontext-dev ## Pricing - **Charge Type:** dynamic ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | ceil(image_pixel_count / 1048576) * num_images * 0.025 | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to edit the image. | | image_url | string | Yes | - | - | The URL of the image to edit. | | num_inference_steps | integer | No | 28 | 10–50 | The number of inference steps to perform. | | seed | string | No | - | - | The same seed and the same prompt given to the same version of the model will output the same image every time. | | guidance_scale | number | No | 2.5 | 1–20 | The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you. | | num_images | integer | No | 1 | 1–4 | The number of images to generate. | | enable_safety_checker | boolean | No | true | - | If set to true, the safety checker will be enabled. | | output_format | string | No | jpeg | jpeg,png | Output format | | acceleration | string | No | none | none,regular,high | The speed of the generation. The higher the speed, the faster the generation. | | enhance_prompt | boolean | No | false | - | Whether to enhance the prompt for better results. | | resolution_mode | string | No | match_input | auto,match_input,1:1,16:9,21:9,3:2,2:3,4:5,5:4,3:4,4:3,9:16,9:21 | Determines how the output resolution is set for image editing. auto: The model selects an optimal resolution from a predefined set that best matches the input image's aspect ratio. This is the recommended setting for most use cases as it's what the model was trained on. match_input: The model will attempt to use the same resolution as the input image. The resolution will be adjusted to be compatible with the model's requirements (e.g. dimensions must be multiples of 16 and within supported limits). Apart from these, a few aspect ratios are also supported. Default value: "match_input" | ## 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-kontext-dev", "input": { "prompt": "Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture", "image_url": "https://storage.googleapis.com/magicpoint/inputs/flux-kontext-dev-input.jpg" } }' ``` ## 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 **flux-kontext-dev — Image Editing AI Model** flux-kontext-dev, the open-weight developer version of Black Forest Labs' FLUX.1 Kontext, revolutionizes **image-to-image AI model** workflows by enabling precise text-based edits that preserve character identity and visual details across iterations. Developers and creators using this **Black Forest Labs image-to-image** tool can perform style transfers, object replacements, background changes, and text edits with unmatched consistency, solving common pain points in iterative image editing. Built on a 12-billion parameter Diffusion Transformer (DiT) architecture with Latent Adversarial Diffusion Distillation (LADD), flux-kontext-dev delivers 8-10x faster inference than models like GPT-4o, making it ideal for research and local deployment in AI image editor API applications. ## 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.