Skip to main content
POST

Overview

POST /flux/v1/\{model\} generates an image with a native BFL-format request. Requests are asynchronous by default. Store the top-level response id, then poll GET /flux/v1/get_result with that task ID. To wait for the image in the same request, send "async": false in the JSON body. A successful synchronous response contains status: "Ready" and the image URL in result.sample. The API playground includes text-to-image request examples for FLUX.2 Pro, Flex, and Max. Check the Models page or /v1/models for model IDs and account availability.

Request fields

Start with prompt, width, height, and output_format. You can also send seed; the completed result can report the seed used, but that field alone does not establish repeatable output. The optional async field controls how the request returns. Use the JSON boolean false for synchronous generation. Use true or omit the field for asynchronous generation. Do not send a string such as "false". For reference-image editing, send a public HTTPS image URL in input_image. This field is supported for the three FLUX.2 models above. FLUX.2 Pro also accepts a second public HTTPS URL in input_image_2; include input_image whenever you send input_image_2.

Generate synchronously

Select Synchronous text to image (FLUX.2 Pro) in the request examples to send "async": false. Keep the connection open while the image is generated. The example uses a 300-second client timeout; this is a client setting, not a completion deadline. When the response has status: "Ready", read result.sample directly. No result polling is needed. If the request fails, handle the HTTP error before reading the result. Do not combine async: false with webhook_url or webhook_secret. Synchronous requests return the result directly and reject these webhook fields.

Submit asynchronously and poll

When async is true or omitted, the create response returns a task ID while generation continues. Use its top-level id with the CometAPI result endpoint; clients should not depend on a response-supplied polling_url. Poll until the result endpoint returns status: "Ready". Treat Error, Failed, Failure, Task not found, Request Moderated, and Content Moderated as failures. For other states, continue polling within your application’s retry and timeout limits.
When a task is ready, result.sample is a temporary image URL. Download or transfer it promptly; do not rely on a fixed lifetime.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Path Parameters

model
string
required

FLUX.2 model ID in the URL path. Check /v1/models or the Models page for account availability.

Body

application/json
prompt
string
required

Text prompt describing the image or reference-image edit.

Example:

"A clean editorial photograph of a red ceramic teapot on a pale blue table, soft window light, no text."

async
boolean
default:true

Controls whether generation returns asynchronously. Set false to wait for the finished image and read result.sample from the successful response. Set true or omit this field to receive a task ID for polling. Use a JSON boolean, not a string. Do not combine false with webhook_url or webhook_secret.

input_image
string

Public HTTPS URL of the first reference image. Replace the example URL with a publicly accessible image. This editing field is available for the FLUX.2 models covered by this reference.

Example:

"https://your-image-host/reference-one.jpg"

input_image_2
string

Public HTTPS URL of a second reference image for flux-2-pro. Replace the example URL and also send input_image.

Example:

"https://your-image-host/reference-two.jpg"

seed
integer

Optional seed value. A completed result can report the used seed; that field alone does not establish repeatable output.

width
integer

Requested output width in pixels. Use a dimension supported by the selected model.

Example:

1280

height
integer

Requested output height in pixels. Use a dimension supported by the selected model.

Example:

768

output_format
string

Requested output image format supported by the selected model. The examples use png.

Example:

"png"

Response

200 - application/json

With async: false, successful generation returns status: "Ready" and the image URL in result.sample. With async: true or no async field, save the top-level id and poll the CometAPI result endpoint.

id
string
required

Task ID to pass to GET /flux/v1/get_result?id=....

status
string
required

Task state. A successful synchronous response returns Ready. An asynchronous submission can return Pending while generation continues.

result
object | null

Generation result. A successful synchronous response contains the finished image. An asynchronous submission can return an empty or null result.

polling_url
string | null

Response-supplied convenience URL when returned. Clients should poll the documented CometAPI result route by the top-level id.

cost
number | null

Numeric billing coefficient when returned. This field is not documented as a currency or credit amount.

input_mp
number | null

Input image megapixels when returned.

output_mp
number | null

Output image megapixels when returned.

progress
number | null

Task progress when returned.

details
any

Additional task details when returned.

preview
any

Task preview data when returned.

Last modified on September 21, 2026