# Flux Kontext Lora | Text to Image A lightning-fast text-to-image endpoint for the FLUX.1 Kontext [dev] model with LoRA support, delivering high-quality personalized outputs for styles, brands, and products. ## API Information - **Model Slug:** flux-kontext-lora-text-to-image - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-kontext/flux-kontext-lora-text-to-image - **Provider:** Black Forest Labs - **Category:** Text to Image - **Output Type:** image - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Per-megapixel pricing: $0.035/MP (ceil rounding) - **Estimated Processing Time:** 45 seconds - **Last Updated:** 2026-04-27 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-kontext-lora-text-to-image ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Per-megapixel pricing: $0.035/MP (ceil rounding) ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Per-megapixel pricing: $0.035/MP (ceil rounding) | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to generate the image with | | 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. | | num_inference_steps | integer | No | 30 | 10–50 | The number of inference steps to perform. | | seed | integer | 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 | 0–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 | png | jpeg,png | The format of the generated image. | | loras | array | No | - | 0–1 | The LoRAs to use for the image generation. You can use any number of LoRAs and they will be merged together to generate the final image. | | acceleration | string | No | none | none,regular,high | The speed of the generation. The higher the speed, the faster 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-kontext-lora-text-to-image", "input": { "prompt": "A realistic daytime scene of a coastal city with a majestic volcano in the background. The foreground shows seaside buildings and shoreline details, with the blue ocean meeting the city. Clear sky, natural daylight, sharp textures, and a bright realistic atmosphere." } }' ``` ## 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-kontext-lora-text-to-image — Text to Image AI Model** Developed by Black Forest Labs as part of the flux-kontext family, flux-kontext-lora-text-to-image is a text-to-image generation model that transforms natural language descriptions into high-quality photorealistic images with exceptional speed and precision. This model solves a critical problem for creators and developers: generating professional-grade visuals on-demand without requiring manual design work, photography sessions, or expensive asset libraries. What sets flux-kontext-lora-text-to-image apart is its unified architecture that handles both generation and editing in a single model, combined with native LoRA adapter support for style personalization. Unlike traditional text-to-image AI models that require separate checkpoints for different tasks, this model delivers consistent, high-fidelity results whether you're generating from scratch or refining existing images through natural language instructions. The architecture uses a rectified flow transformer design that preserves the complete training signal, enabling maximum flexibility for custom adaptations. The model pairs sophisticated prompt understanding with multi-reference editing capabilities, making it ideal for applications requiring both creative generation and precise control. Whether you're building an AI image editor API, developing personalized visual content systems, or creating brand-consistent product mockups, flux-kontext-lora-text-to-image delivers the speed and quality needed for production environments. ## 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.