FLUX 3 Video API

Black Forest Labs’ FLUX 3 video model: 5–20 s with audio, FLUX-level visual quality.

Black Forest Labs·VideoAvailable

from$0.153/ second$0.1710% off

Model IDflux-3-video

text-to-videoimage-to-videoaudio

Input

Text · Image

Output

Video

Provider

4 providers

Duration (s)

5 – 20

Resolution

720p · 1080p

Aspect ratio

16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9

Last 7 days · not enough recent requests for stats yet.

FLUX 3 Video pricing

Prices are per unit; requests without a provider are routed to the cheapest provider that supports your parameters.

Option720p1080p
All options
$0.153 / second
16 Credits$0.1710% off
$0.261 / second
27 Credits$0.2910% off

Try FLUX 3 Video before you integrate

Test output quality, compare provider prices and estimate cost before writing any code.

Provider
Video
Estimated cost

Input

prompt
image_url
duration
resolution
aspect_ratio
generate_audio

Result

Idle
Your generation will appear here.

Provider prices for this request

Enter a prompt to compare provider prices.

FLUX 3 Video prompt examples

Ready-to-use prompts. Load one into the playground and tweak it.

Source
Scene

24 prompts

A young bicycle courier arrives at an apartment door during a thunderstorm, but the digital display shows a date fifty years in the future. The scene opens with a fast tracking shot following him through wet neon streets, then becomes completely still as the door opens. An elderly man with the same face stands inside and looks at him in shock. The camera slowly rotates around both characters while lightning illuminates the corridor. The food bag begins glowing, and nearby objects float into the air. Emotional science-fiction mystery, realistic acting, controlled camera movement, cinematic neon lighting.

A powerful character unleashing an overwhelming energy force, pushing an opponent across the battlefield while space and time distort around them. A massive shockwave expands through the air, bending gravity, twisting light, and creating cracks in the fabric of reality. The opponent is thrown into the distance surrounded by swirling energy fragments. Cinematic action scene, epic scale, dynamic composition, dramatic lighting, ultra realistic, Hollywood sci-fi movie style, 8K, masterpiece.

FLUX 3 Video API reference

Endpoints, request fields and runnable examples for this model.

Base URL

https://01router.com/api/v1
llms.txt

Quick start

Set API_KEY to your project key, then run a sample from your server. Replace example media URLs with your own public URLs.

Auto-routing chooses a provider that supports the request. Select a provider to see its input constraints and pinned request examples.

curl https://01router.com/api/v1/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "model": "flux-3-video",
  "input": {
    "prompt": "A cinematic shot of a red fox running through snow",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}
JSON

# Replace GENERATION_ID with the id returned above; poll until status is "succeeded" or "failed"
curl https://01router.com/api/v1/generations/GENERATION_ID -H "Authorization: Bearer $API_KEY"

Endpoints

Only endpoints relevant to this model are listed. Paths below include /api/v1. Click an endpoint to read its usage.

Authentication

Send your API key as a Bearer token. Requests are billed to the key owner's credits.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Get an API key

Input

Send JSON with Content-Type: application/json. Model parameters belong inside input; model, provider and callback_url are top-level fields.

Request body

NameTypeRequiredDescription
modelstringYes"flux-3-video"
providerstringNoPin a provider; omit to auto-route to the cheapest. One of: fal | replicate | wavespeed | atlascloud
inputobjectYesModel parameters, see the input fields below.
callback_urlstringNoOptional public HTTPS webhook URL. The final task result is signed and delivered here; polling remains available.

input · input fields

Required fields are marked explicitly. Other fields use the listed defaults when omitted.

NameTypeRequiredValuesDefault
prompt*stringYes——
image_url
Optional start image (image-to-video)
stringNo——
durationintegerNomin: 5 · max: 205
resolutionstringNo720p | 1080p720p
aspect_ratiostringNo16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 21:916:9
generate_audiobooleanNo—true
Callbacks →

Output

Creating a task does not mean generation has finished. Keep its id, poll until succeeded or failed, then read outputs or error. Amounts below are illustrative; actual charges depend on the request.

queued→processing→succeeded / failed

Task submitted

{
  "id": "gen_example",
  "object": "generation",
  "model": "flux-3-video",
  "type": "video",
  "provider": "fal",
  "status": "processing",
  "input": {
    "prompt": "A cinematic shot of a red fox running through snow",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  },
  "outputs": [],
  "error": null,
  "credits": 0,
  "price_usd": 0,
  "created_at": "2026-10-25T08:00:00.000Z",
  "completed_at": null
}

Task completed

{
  "id": "gen_example",
  "object": "generation",
  "model": "flux-3-video",
  "type": "video",
  "provider": "fal",
  "status": "succeeded",
  "input": {
    "prompt": "A cinematic shot of a red fox running through snow",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  },
  "outputs": [
    "https://example.com/output.mp4"
  ],
  "error": null,
  "credits": 0,
  "price_usd": 0,
  "created_at": "2026-10-25T08:00:00.000Z",
  "completed_at": "2026-10-25T08:01:00.000Z"
}

Response fields

NameTypeRequiredDescription
idstringYesGeneration ID. Use it to query or cancel this task.
objectstringYesgeneration
modelstringYesflux-3-video
typestringYesvideo
providerstringYesProvider
statusstringYesqueued → processing → succeeded / failed. Stop polling at either terminal state.
inputobjectYesModel parameters, see the input fields below.
outputsstring[]YesResult URLs. Empty while processing; read after succeeded and save the files promptly.
errorstring | nullYesFailure reason, or null when no failure is reported.
creditsnumberYesCredits charged for this request.
price_usdnumberYesRequest price in USD.
created_atstringYesCreation time in ISO 8601 format.
completed_atstring | nullYesCompletion time in ISO 8601 format; null before completion.

Get the result

Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly. Or pass callback_url to get the result pushed.

curl "https://01router.com/api/v1/generations/GENERATION_ID" \
  -H "Authorization: Bearer $API_KEY"

queued → processing → succeeded / failed. Stop polling at either terminal state. Result URLs. Empty while processing; read after succeeded and save the files promptly.

Cancel a task

Cancellation depends on provider support and task state. A confirmed cancellation returns status: failed and error: Canceled by user. Unsupported or completed tasks return 409 not_cancelable.

curl -X POST "https://01router.com/api/v1/generations/GENERATION_ID/cancel" \
  -H "Authorization: Bearer $API_KEY"

Quote

Same body as creating a generation. Returns every available provider sorted by price, plus the ones that cannot serve the request and why.

curl "https://01router.com/api/v1/quote" -H "Content-Type: application/json" --data-binary @- <<'JSON'
{
  "model": "flux-3-video",
  "input": {
    "prompt": "A cinematic shot of a red fox running through snow",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}
JSON

Model schema

This public endpoint returns the model parameters and each provider’s supported constraints and prices.

curl "https://01router.com/api/v1/models/flux-3-video"

Errors

Check the HTTP status and error.message. Fix the request before retrying validation or authentication errors. A failed generation is reported in status and error on the task itself.

{
  "error": {
    "message": "Invalid or missing API key",
    "code": "unauthorized"
  }
}

400Invalid body or parameter value

401Missing or invalid API key

402Not enough credits

404Unknown model or generation

409The task cannot be canceled (already finished, or the provider does not support canceling)

429Too many requests — retry after the given seconds

502Every provider rejected the task (credits refunded)

Auth, routing, billing and error codes are covered in →

Use with AI

Give your coding assistant this model reference: endpoints, input constraints, output fields and request examples in plain text.

Open llms.txt

How does FLUX 3 Video compare?

Specs and starting prices side by side. Test with the same prompt before you choose.

FLUX 3 VideoGrok Imagine Video 1.5Seedance 2.5Grok Imagine Video 1.5 Lite
VendorBlack Forest LabsxAIByteDancexAI
Starting price$0.153 / second$0.011 / second$0.086 / second$0.013 / second
InputText · ImageText · ImageText · ImageText · Image
Provider4 providers10 providers9 providers6 providers
Duration (s)5 – 201 – 154 – 301 – 15
Resolution720p · 1080p480p · 720p · 1080p480p · 720p · 1080p480p · 720p · 1080p
Aspect ratio16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:916:9 · 4:3 · 3:2 · 1:1 · 2:3 · 3:4 · 9:1616:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:916:9 · 4:3 · 3:2 · 1:1 · 2:3 · 3:4 · 9:16

FLUX 3 Video API FAQ

What is FLUX 3 Video?

Black Forest Labs' FLUX 3 is a single model across image, video and audio. Its video mode generates 5 to 20 second clips with dialogue, ambience, effects and music.

Which resolutions and ratios are supported?

720p and 1080p, in 16:9, 9:16, 1:1, 4:3, 3:4 or 21:9.

Is audio extra?

No. generate_audio is on by default; set it to false for silent clips.

Any prompting tips?

Lead with the subject and action, use motion verbs, describe timing beats and name the sounds you want to hear.

How is it billed on 01router?

Per output second, rounded up to the next whole second; 1080p costs more than 720p. See the pricing table. Failed generations are refunded.

Related models

Other models you can call with the same API key.