Flux 2 Dev Text To Image
Playground
Try it on WavespeedAI!FLUX.2 [dev] from Black Forest Labs delivers fast, studio-quality text-to-image generation with enhanced realism, crisper text rendering, and native editing for rapid iteration. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Features
FLUX.2 [dev] — Text-to-Image
FLUX.2 [dev] is the lean base model of the FLUX.2 family: an open-source text-to-image engine tuned for speed, stability, and training friendliness. It delivers solid visual quality while staying small enough for rapid iteration, LoRA experiments, and large-scale batch jobs.
Built for
- Rapid prototyping and prompt exploration
- High-volume generation under tight cost constraints
- Research and custom training workflows (LoRA, adapters, etc.)
- Teams that need a dependable “default” model in their stack
What This Means for You
• Strong speed–quality ratio
Produces coherent, sharp images much faster than heavyweight models, keeping experimentation loops short and interactive.
• Transparent, open foundation
Built on open FLUX.2 tooling and community work, so you can inspect behaviour, plug it into your own code, and extend it without a black box.
• Resource-light generation
The compact dev configuration keeps GPU memory and runtime requirements modest, which is perfect for large batches, schedulers, and internal tools.
• Pipeline-friendly outputs
Generates standard JPEG or PNG images that slot directly into design workflows, web delivery, or later editing stages.
• Stable, repeatable behaviour
Seed control and predictable sampling make it easy to reproduce results or generate controlled variations for A/B testing, prompt tuning, and dataset creation.
Pricing
Simple per-image billing:
- $0.012 per generated image
FLUX.2 family on WaveSpeedAI
Combine FLUX.2 [dev] with the rest of the FLUX.2 lineup for a complete creation and editing workflow:
-
FLUX.2 [dev] Edit – edit and refine existing images while staying in the same lightweight, fine-tuning-friendly family:
-
FLUX.2 Flex Text-to-Image – more flexible, style-rich generation for creative exploration:
-
FLUX.2 Flex Edit – powerful image editing with broader stylistic range:
-
FLUX.2 Pro Text-to-Image – higher-capacity model for maximum quality hero shots and demanding production use:
-
FLUX.2 Pro Edit - remium editing for detailed, high-fidelity transformations:
More Image Tools on WaveSpeedAI
- Nano Banana Pro – Google’s Gemini-based text-to-image model for sharp, coherent, prompt-faithful visuals that work great for ads, keyframes, and product shots.
- Seedream V4 – ByteDance’s style-consistent, multi-image generator ideal for posters, campaigns, and large batches of on-brand illustrations.
- Qwen Edit Plus – an enhanced Qwen-based image editor for precise inpainting, cleanup, and local style changes while preserving overall composition.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/flux-2-dev/text-to-image" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"size": "1024*1024",
"seed": -1,
"enable_sync_mode": false,
"enable_base64_output": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| size | string | No | 1024*1024 | 256 ~ 1536 per dimension | The size of the generated media in pixels (width*height). |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |