# Flux 2 | Turbo | Text to Image FLUX.2 [dev] from Black Forest Labs delivers turbo-speed text-to-image generation with enhanced realism, sharper text rendering, and built-in native editing tools. ## API Information - **Model Slug:** flux-2-turbo-text-to-image - **Branded URL:** https://www.eachlabs.ai/black-forest-labs/flux-2/flux-2-turbo-text-to-image - **Provider:** Black Forest Labs - **Category:** Text to Image - **Output Type:** array - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Per-megapixel pricing (round rounding) - **Estimated Processing Time:** 1 seconds - **Last Updated:** 2026-07-13 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/flux-2-turbo-text-to-image ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Per-megapixel pricing (round rounding) ### Pricing Rules | Condition | Pricing | | --- | --- | | output.width < "708" AND output.height < "708" | Minimum 1 MP for small images (< 708x708, round rounding) | | Rule 2 | Per-megapixel pricing (round rounding) | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The prompt to generate an image from. | | guidance_scale | number | No | 2.5 | 0–20 | 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. | | 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 image to generate. The width and height must be between 512 and 2048 pixels. | | num_images | integer | No | 1 | 1–4 | The number of images to generate. | | enable_prompt_expansion | boolean | No | false | - | If set to true, the prompt will be expanded for better results. | | 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 "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "flux-2-turbo-text-to-image", "input": { "prompt": "A realistic vintage scene of an old record player spinning a black vinyl in a softly lit living room from the 1960s. The needle gently rests on the record as warm golden light filters through lace curtains, illuminating floating dust particles. A stack of worn vinyl sleeves leans against a wooden cabinet, with retro typography and faded colors. The room feels quiet and intimate, filled with nostalgia. Shallow depth of field, warm tones, rich textures, cinematic composition, ultra detailed, classic film photography aesthetic." } }' ``` ## 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 "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 **flux-2-turbo-text-to-image — Text to Image AI Model** Developed by Black Forest Labs as part of the flux-2 family, **flux-2-turbo-text-to-image** is a speed-optimized text-to-image generation model built for real-time creative workflows where latency matters. It solves the core problem facing designers, marketers, and developers: generating high-quality photorealistic images in seconds rather than minutes, without sacrificing prompt adherence or visual coherence. The model is engineered specifically for ultra-fast generation, making it ideal for rapid iteration, high-volume production pipelines, and interactive applications where users expect near-instant results. Unlike general-purpose text-to-image AI models that prioritize maximum quality at the cost of speed, flux-2-turbo-text-to-image maintains the visual fidelity and prompt understanding of larger models while delivering sub-second inference on modern hardware. This makes it the fastest option in the flux-2 family for developers building an AI image generator API or creators needing to generate multiple variations quickly. ## 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.