Skip to main content
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 flux-3-video and the draft tier flux-3-video-draft: the two take exactly the same parameters, and the draft tier is hd only, lower quality and cheaper — useful for previewing a shot before rendering it on the standard tier. Switching tiers means changing model; the two never switch automatically.

Quick start

A successful submission returns a task_id. Poll GET /v1/tasks/{task_id} for the result, wait inside the call with Prefer: wait, or configure a webhook.

Request parameters

string
required
One of two: flux-3-video or flux-3-video-draft.
string
default:"generate"
generate — the only action on both tiers. Text, keyframe and continuation modes are selected by which assets you send, not by the action.
string
required
Description of the video.
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.
string[]
Continuation video, at most one clip, up to 20 seconds. With it set, the model continues from that clip.
string
default:"hd"
Output resolution. flux-3-video supports hd and fhd; flux-3-video-draft supports hd only.
integer
default:"5"
Output length in seconds, any integer 520.
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 04; higher is more permissive.
See Submit Task for 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.

Limits

Pricing

Both tiers are billed by resolution tier × output seconds. price_config.video_prices is keyed by resolution; a resolution with no key of its own settles at the sibling default tier. Continuation tier — with video_urls present, output seconds settle at the <resolution>_video_ref rate, which is higher than the plain tier at the same resolution. The continuation video’s own seconds are not charged separately. generate_audio has no effect on price: audio and silent output cost the same. aspect_ratio, keyframe count and prompt length have no effect either — resolution tier, whether it is a continuation, and output seconds are the only three billing dimensions. 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 cost field on the task response — an integer quota at 500,000 quota = 1 USD, not dollars.
Unit prices are not listed here. They track upstream changes; this section covers billing dimensions only.Live rates: the price_config field of GET /v1/models, or the console’s Model Market. What one call cost: the cost field on the task response (integer quota, 500,000 quota = 1 USD).

Response

Completed task
Generated videos are returned in result.videos; url is an array and expires_at is when the video link expires. See Query Task Status for the full field reference.

Available models

Both tiers share one parameter set, the same keyframe semantics and the same aspect ratios; they differ only in available resolutions and price.