Video Generation
FLUX 3 Video
Black Forest Labs FLUX 3 Video: text, keyframes, video continuation and draft-to-final with synced audio, billed by resolution tier × seconds
POST
FLUX 3 Video
FLUX 3 Video is Black Forest Labs’ video model. It generates 5–20 second clips with synchronized audio from text, from 1–10 ordered keyframes, or from a continuation video. This page covers the standard tier
A successful submission returns a
See Submit Task for
You are only billed for a successfully generated video. Failed and cancelled tasks, and tasks that return no usable video, are refunded in full. The final charge is the
Generated videos are returned in
flux-3-video and the draft tier flux-3-video-draft: the two take the same generation parameters, and the draft tier is hd only, lower quality and cheaper. A finished draft can be turned into the final video with finalize on flux-3-video.
Quick start
task_id. Poll GET /v1/tasks/{task_id} for the result, wait inside the call with Prefer: wait, or configure a webhook.
Chaining a final render: submit action: "generate" on flux-3-video-draft and keep the task_id; once it is completed, pass that task_id as ref_task_id on an action: "finalize" request to flux-3-video. Prompt, duration, aspect ratio and assets come from the draft; only resolution can change.
Request parameters
string
required
One of two:
flux-3-video or flux-3-video-draft.string
default:"generate"
generate— generate a video, on both tiers. Text, keyframe and continuation modes follow the assets you send.finalize— turn a draft into the final video,flux-3-videoonly;ref_task_idis required.
string
Description of the video; required under
action: "generate"; cannot be sent under action: "finalize".string[]
Keyframe images, 1–10, where order carries meaning: one image is the start frame, two are start and end frames, and with 3–10 the first and last are start and end while the middle frames are spaced evenly in time. Cannot be combined with
video_urls. Cannot be sent under action: "finalize".string[]
Continuation video, at most one clip, up to 20 seconds. With it set, the model continues from that clip. Cannot be sent under
action: "finalize".string
default:"hd"
Output resolution.
flux-3-video supports hd and fhd (also under finalize); flux-3-video-draft supports hd only.integer
default:"5"
Output length in seconds, any integer
5–20. Cannot be sent under action: "finalize", which keeps the draft’s length.string
default:"auto"
Aspect ratio:
21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16, or auto (the model chooses from the prompt and assets).boolean
default:"true"
Whether to generate synchronized audio. Set
false for a silent video; the price is the same.integer
default:"2"
Safety tolerance
0–4; higher is more permissive. action: "generate" only.string
The draft to turn into the final video; required under
action: "finalize". Use the task_id of a completed flux-3-video-draft task in your account.callback_url, callback_events, Prefer: wait, Idempotency-Key, and the maximum-cost header.
Neither tier supports n, seed, quality, negative_prompt, first_frame_image or audio_urls. Any other parameter returns 400 and is not billed. Under action: "finalize", aspect_ratio and generate_audio have no effect.
Limits
Pricing
Both tiers are billed by resolution tier × output seconds. Withvideo_urls (continuation), the same resolution’s continuation tier applies instead, which is above the plain tier; the continuation video’s own seconds are not billed.
finalize is charged as its own final render; the draft fee is not credited. generate_audio, aspect_ratio, keyframe count and prompt length do not affect the price.
Per-model rates are in
price_config on GET /v1/models, and in the console’s Model Market.What a single call actually cost is the cost field on the task response — an integer quota at 500,000 quota = 1 USD.cost field on the task response — an integer quota, not dollars.
Response
Completed task
result.videos; url is an array and expires_at is when the video link expires. See Query Task Status for the full field reference.