Skip to main content
POST
Use this endpoint to create a Flux 3 video task. The API returns a task ID, so store the returned id for status and content requests. POST /v1/videos uses multipart/form-data. Send scalar controls as form fields. Send one reference image as an HTTPS URL or an uploaded file. Choose only one image input method. Do not send images and input_reference in the same request.

Choose an input mode

Use a reference image

For an HTTPS reference image, send one publicly accessible image URL in the images multipart field. For an uploaded reference image, send one PNG or JPEG file in the input_reference multipart field. The file can be up to 20 MB. Describe the motion, camera behavior, and visual details that the generated video should preserve from the reference image.

Set duration and size

Set seconds to an integer from 5 through 20. The default is 10 seconds. Set size to one of these exact WxH preset values: The size value selects the output resolution tier. Encoded text-to-video dimensions can be codec-aligned rather than literal. For image-to-video, the reference image can also determine the final framing and aspect ratio.

Task flow

1

Create the task

Send the multipart form request and store the returned id.
2

Poll the task

Call Retrieve a Flux 3 video until status is completed or failed.
3

Download the result

When the task is completed, call Download Flux 3 video content to save the MP4 file.

Authorizations

Authorization
string
header
required

Bearer authentication. Use your CometAPI API key.

Body

multipart/form-data

Flux 3 multipart request. Use one input mode; do not send images and input_reference together.

model
string
default:flux-3
required

Model ID for this route. Use flux-3.

Allowed value: "flux-3"
prompt
string
default:A paper boat glides across a still pond while the camera moves forward.
required

Text that describes the scene, motion, camera behavior, and visual details that the video should preserve.

Minimum string length: 1
seconds
integer
default:10

Requested clip duration in whole seconds. Use an integer from 5 through 20. The default is 10.

Required range: 5 <= x <= 20
size
enum<string>
default:1280x720

Resolution preset in exact WxH form. Use 1280x720 for the 720p tier or 1920x1080 for the 1080p tier. Encoded dimensions can be codec-aligned; image-to-video framing can follow the reference image.

Available options:
1280x720,
1920x1080
images
string<uri>[]

One publicly accessible HTTPS reference image URL. Send one images multipart field for HTTPS image-to-video.

Required array length: 1 element
Pattern: ^https://
input_reference
file

One PNG or JPEG reference image file for image-to-video. The file can be up to 20 MB.

Response

Task created. Store the returned id and poll GET /v1/videos/{task_id}.

id
string
required

Task ID. Use this value as task_id in retrieve and content requests.

Example:

"<task_id>"

object
string
required

Object type for the asynchronous video task.

Allowed value: "video"
model
string
required

Model ID that the task uses.

Allowed value: "flux-3"
status
enum<string>
required

Task lifecycle status. Poll until the value is completed or failed.

Available options:
queued,
in_progress,
completed,
failed
progress
integer
required

Task progress as a coarse percentage.

Required range: 0 <= x <= 100
created_at
integer<int64>
required

Task creation time as a Unix timestamp in seconds.

task_id
string

Compatibility alias for id. This field can be omitted from retrieve responses.

Example:

"<task_id>"

completed_at
integer<int64>

Task completion time as a Unix timestamp in seconds when the task provides one.

expires_at
integer<int64>

Result expiration time as a Unix timestamp in seconds when the task provides one.

video_url
string<uri>

Video delivery URL. This field appears on completed tasks.

Example:

"https://media.example.com/flux-3-result.mp4"

error
object

Failure details. This field appears when the task fails.

Last modified on August 14, 2026