Flux 2 Pro Text To Image
Playground
Try it on WavespeedAI!FLUX.2 [pro] from Black Forest Labs delivers production-grade text-to-image generation with enhanced realism, sharper text rendering, and native editing for reliable, repeatable results. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
FLUX.2 [pro] — Text-to-Image
Production-ready text-to-image with studio-grade quality and zero parameter hassle. FLUX.2 [pro] is the flagship model in the FLUX.2 family, tuned so that a good prompt is all you need—no guessing guidance scales, no step-count experiments—just reliable, campaign-ready images.
Where FLUX.2 [pro] shines
-
Always-on production pipelines
-
High-volume generation with strict brand rules
-
API and backend integrations
-
Teams that want predictable quality, not parameter juggling
-
Hero shots, key art, and other detail-critical deliverables
Key benefits
- Ready-to-use studio quality
Produces professional-grade images without configuring steps, schedulers, or guidance values—the model’s internal optimisation makes those calls for you.
- Stable across large batches
Delivers predictable results across many prompts and jobs, making it well suited for automated workflows, API usage, and brand-safe pipelines.
- Frictionless iteration
A streamlined setup lets teams move quickly from prompt idea to usable creative, shortening review cycles and experiment loops.
- Format-ready outputs
Supports JPEG for lightweight web assets, fitting both digital campaigns and print preparation.
- Consistent reruns
Seed control allows you to recreate a previous result or explore controlled variations without touching low-level inference parameters.
- Prompt-smart generation
Built-in prompt handling helps the model interpret complex instructions more clearly, improving coherence on multi-object, multi-character, or layout-heavy prompts.
Pricing
- $0.03 per generated image
FLUX.2 family on WaveSpeedAI
Use FLUX.2 [pro] Text-to-Image together with the rest of the FLUX.2 lineup for a complete generate-and-edit stack:
- FLUX.2 [dev] Text-to-Image – lightweight base model optimised for speed and LoRA training.
- FLUX.2 [dev] Edit – fast, style-consistent edits on existing images with a lean architecture.
- FLUX.2 [flex] Text-to-Image – versatile, style-rich generation with broader aesthetics at high speed.
- FLUX.2 [flex] Edit – precise, controllable, and colour-accurate edits on existing images.
- FLUX.2 [pro] Edit – premium editing for detailed, high-fidelity transformations on critical assets.
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-pro/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 |