# Flux 2 | Klein | 4B | Base | Edit Flux 2 [klein] 4B from Black Forest Labs enables precise image-to-image editing using natural-language instructions and hex color control. ## API Information - **Model Slug:** flux-2-klein-4b-base-edit - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-2/flux-2-klein-4b-base-edit - **Provider:** Black Forest Labs - **Category:** AI Models - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Per-megapixel pricing: $0.014 base + $0.001/extra MP (ceil rounding) - **Estimated Processing Time:** 10 seconds - **Last Updated:** 2026-04-27 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-2-klein-4b-base-edit ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.0130 - **Pricing Details:** Per-megapixel pricing: $0.014 base + $0.001/extra MP (ceil rounding) ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Per-megapixel pricing: $0.014 base + $0.001/extra MP (ceil rounding) | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to edit the image. | | image_urls | array | Yes | - | 1–4 | The URLs of the images for editing. A maximum of 4 images are allowed. | | num_inference_steps | integer | No | 4 | 4–8 | The number of inference steps to perform. | | image_size | string | No | landscape_4_3 | square_hd,square,portrait_4_3,portrait_16_9,landscape_4_3,landscape_16_9 | The size of the generated image. If not provided, uses the input image size. | | 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 | png | jpeg,png,webp | The format of the generated image. | | seed | integer | No | - | - | The seed to use for the generation. If not provided, a random seed will be used. | ## 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-klein-4b-base-edit", "input": { "prompt": "Turn this into a realistic image", "image_urls": [ "https://storage.googleapis.com/magicpoint/inputs/flux-2-klein-4b-distilled-edit-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-2-klein-4b-base-edit — Image Editing AI Model** Developed by Black Forest Labs as part of the Flux 2 family, **flux-2-klein-4b-base-edit** is a compact image editing model that transforms how creators refine and modify visual content. Unlike generic image editors, this model accepts natural-language instructions paired with reference images, enabling precise semantic edits—from object replacement to style transformation—without requiring manual selection tools or complex workflows. The 4B base variant prioritizes output quality and customization flexibility, making it ideal for creators who need professional-grade results without sacrificing control over the editing process. What makes flux-2-klein-4b-base-edit distinct is its unified architecture: it handles both image generation and image-to-image editing within a single model, eliminating the need to switch between tools. Built on a rectified flow transformer with a Qwen3-based text encoder, it delivers sub-second inference on consumer GPUs while maintaining the complete training signal—meaning you can fine-tune it for domain-specific applications or train custom LoRA adapters for specialized editing tasks. ## 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.