FLUX 3 API
Black Forest Labs FLUX 3 API is live on WaveSpeedAI with text-to-video, image-to-video, start-end-frame video, video extension, Draft, and video-upscale endpoints. Generate 5-to-20-second clips at 720P or 1080P with optional synchronized audio through one production-ready API.
This FLUX 3 API guide covers the live WaveSpeedAI endpoints, pricing, examples, integration flow, Draft variants, and production video workflows. The playground, endpoint cards, pricing, examples, and API samples below all use the live black-forest-labs/flux-3 family.
About the FLUX 3 API
What FLUX 3 does, how it fits in the Black Forest Labs model lineup, and why teams reach for it.
FLUX 3 is a video generation model from Black Forest Labs, available through the WaveSpeedAI REST API. Black Forest Labs FLUX 3 API is live on WaveSpeedAI with text-to-video, image-to-video, start-end-frame video, video extension, Draft, and video-upscale endpoints. Generate 5-to-20-second clips at 720P or 1080P with optional synchronized audio through one production-ready API.
This FLUX 3 API guide covers the live WaveSpeedAI endpoints, pricing, examples, integration flow, Draft variants, and production video workflows. The playground, endpoint cards, pricing, examples, and API samples below all use the live black-forest-labs/flux-3 family.
The FLUX 3 family on WaveSpeedAI ships 9 REST endpoints covering Upscaler, Video-Extend, Text-To-Video, Image-To-Video workflows. Each variant carries its own pricing, parameter knobs, and example outputs — pick the one that matches your input modality and production constraints, or call several from the same API key to compose multi-step pipelines.
Run FLUX 3 through the same API key, billing account, and rate-limit envelope you use for the other 1,000+ AI models on WaveSpeedAI. No separate vendor setup, no per-provider SDKs, no per-vendor rate-limit envelopes — one integration covers everything from text-to-image and text-to-video through audio synthesis, 3D generation, upscaling, and editing.
FLUX 3 API capabilities and release status
The model-specific details developers search for before choosing an API: availability, expected output length, reference support, and the current live fallback.
Availability
Live now
Nine FLUX 3 endpoints are live in the WaveSpeedAI catalog for generation, extension, Draft iteration, and video upscaling through the standard REST prediction flow.
Video duration
5-20 seconds
Generate 5-to-20-second clips from text, one source image, start and end images, or extend an existing video with a new continuation.
Output
720P / 1080P
Standard generation endpoints support 720P and 1080P output with optional synchronized audio. Video upscale supports configurable 1.5x-to-3x scaling.
Iteration
Draft endpoints
Draft variants for text-to-video, image-to-video, start-end-to-video, and video extension provide a lower-cost path for prompt and motion iteration.
All FLUX 3 API endpoints
9 FLUX 3 endpoints available now on WaveSpeedAI — pick the variant that matches your workflow.

Flux 3 Video Upscale
FLUX Video Upscale enhances MP4 videos with source-faithful or creative detail reconstruction, configurable 1.5x to 3x scaling, and improved visual clarity for video restoration, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Flux 3 Video Extend Draft
FLUX 3 Video Extend Draft quickly continues a required input video into a draft clip with prompt-guided next-scene motion, optional synchronized audio, and flexible 5-20 second duration for rapid iteration.

Flux 3 Text To Video Draft
FLUX 3 Text-to-Video Draft generates short draft videos from text prompts with coherent motion, prompt-guided camera direction, optional synchronized audio, and pricing optimized for rapid iteration.

Flux 3 Image To Video Draft
FLUX 3 Image-to-Video Draft quickly animates a required reference image into a draft clip with prompt-guided motion, optional synchronized audio, and flexible 5-20 second duration for rapid visual iteration.

Flux 3 Start End To Video Draft
FLUX 3 Start-End-to-Video Draft quickly generates a transition between required start and end images, with prompt-guided motion, optional synchronized audio, and flexible 5-20 second duration for rapid keyframe iteration.

Flux 3 Text To Video
FLUX 3 Text-to-Video generates cinematic 5-20 second videos from text prompts, with coherent motion, cinematic composition, optional synchronized audio, and 720P / 1080P output for creative videos, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Flux 3 Video Extend
FLUX 3 Video Extend continues input videos into new 5-20 second clips, using prompt guidance to control the next action, camera movement, visual style, motion continuity, and optional synchronized audio at 720P / 1080P output. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Flux 3 Start End To Video
FLUX 3 Start-End-to-Video generates 5-20 second transition videos between required start and end images, using prompt guidance to control action, camera movement, visual style, motion continuity, and optional synchronized audio at 720P / 1080P output. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Flux 3 Image To Video
FLUX 3 Image-to-Video animates a required reference image into a 5-20 second video, preserving subject appearance while using prompt control to guide motion, camera movement, visual style, and optional synchronized audio at 720P / 1080P output. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
See FLUX 3 in action
Real outputs generated by the FLUX 3 API. Hover any video to preview, click to open the full-size viewer.
How to use the FLUX 3 API
Four steps from signup to a finished generation. Full Python, Node.js, and cURL examples are in the API section below.
- 1
Get an API key
Sign up for a WaveSpeedAI account and copy your API key from the dashboard. New accounts come with free starter credits — enough to run the playground a few dozen times before billing kicks in.
- 2
Submit a prediction
POST your input as JSON to https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/text-to-video. The endpoint returns a prediction id immediately — generations are async so you don't hold an open connection during inference.
- 3
Poll for completion
GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result. Return outputs on completed; stop with an error on failed, cancelled, timeout, or deleted; continue polling for every other status.
- 4
Read the output URL
Once status is"completed", read the URL from data.outputs[0]. The URL points to your generated media on the WaveSpeedAI CDN — image, video, audio, or 3D file depending on the FLUX 3 variant you called.
What you can build with FLUX 3
Common workflows developers and creators use the FLUX 3 API for.
Text-to-video with optional synchronized audio
Generate cinematic 5-to-20-second clips directly from prompts with controlled action, camera direction, composition, 720P or 1080P output, and optional synchronized audio.
Image-to-video with subject continuity
Animate a required source image while using the prompt to guide motion, camera movement, and visual style without rebuilding the starting composition from text.
Start-end-frame transitions
Provide required start and end images to generate a controlled transition between approved keyframes, with prompt guidance for the action, camera path, style, and motion continuity.
Extend an existing video
Continue an input video into a new 5-to-20-second clip. Describe the next action, camera movement, and visual direction while FLUX 3 carries motion into the continuation.
Draft-first production workflow
Use a Draft endpoint to test prompt direction, source frames, and motion at lower cost, then move the approved input to the corresponding standard endpoint for 720P or 1080P delivery.
Video upscaling and detail reconstruction
Enhance an MP4 with source-faithful or creative detail reconstruction and configurable 1.5x-to-3x scaling for restoration, social delivery, and production exports.
Tips for prompting FLUX 3
Practical advice for getting better outputs from FLUX 3 — drawn from the patterns that work across video models in production pipelines.
Choose the endpoint from the source material
Use text-to-video for a prompt-only shot, image-to-video when the first frame is approved, start-end-to-video when both boundary frames are fixed, and video-extend when the new clip must continue existing footage.
Prototype with Draft before the delivery render
Draft variants are available for text-to-video, image-to-video, start-end-to-video, and video extension. Validate prompt direction, source frames, and motion first, then move the approved input to the corresponding standard endpoint.
Describe motion and camera direction separately
State what the subject does, then describe the camera movement, shot scale, and pacing. Keeping action and cinematography explicit gives the model a clearer temporal plan for a 5-to-20-second clip.
Use start and end frames for controlled transitions
When the opening and closing compositions are already approved, provide both images and focus the prompt on the transition: subject movement, camera path, environmental change, and how the final frame should be reached.
Upscale after the creative direction is locked
Use video-upscale after timing, motion, and composition are approved. Choose source-faithful reconstruction when preserving the input matters, or creative detail reconstruction when the source needs additional texture.
FLUX 3 API pricing
Pricing is per-output. The final charge scales with the parameters you set in each variant's playground (resolution, duration, output count, references).
| Endpoint | Type | Starting price |
|---|---|---|
| black-forest-labs/flux-3/video-upscale | upscaler | $1.40 |
| black-forest-labs/flux-3/video-extend-draft | video-extend | $0.60 |
| black-forest-labs/flux-3/text-to-video-draft | text-to-video | $0.30 |
| black-forest-labs/flux-3/image-to-video-draft | image-to-video | $0.30 |
| black-forest-labs/flux-3/start-end-to-video-draft | image-to-video | $0.30 |
| black-forest-labs/flux-3/text-to-video | text-to-video | $0.85 |
| black-forest-labs/flux-3/video-extend | video-extend | $2.05 |
| black-forest-labs/flux-3/start-end-to-video | image-to-video | $0.85 |
| black-forest-labs/flux-3/image-to-video | image-to-video | $0.85 |
Call the FLUX 3 API
Sign up for an API key at wavespeed.ai/accesskey, then submit a prediction via REST. The playground generates ready-to-paste samples for any combination of inputs.
HTTP example
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/text-to-video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 5,
"generate_audio": true
}')
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneNode.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/text-to-video";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 5,
"generate_audio": true
}),
});
const task = body.data ?? body;
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}Python example
import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 5,
"generate_audio": True
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)FLUX 3 vs alternatives
When to pick FLUX 3 over similar models on WaveSpeedAI.
FLUX 3 vs Seedance 2.5
FLUX 3 provides 5-to-20-second text, image, start-end-frame, and extension workflows plus Draft and upscale endpoints. Seedance 2.5 supports clips up to 30 seconds, larger reference packs, and dedicated video editing. Choose by source material and workflow rather than treating the APIs as interchangeable.
FLUX 3 vs Veo 3.1
Both families support prompt-driven video with audio-capable variants. FLUX 3 also exposes start-end-frame transitions, Draft iteration, video extension, and video upscaling in one live endpoint family.
FLUX 3 vs Sora 2
FLUX 3 offers explicit 5-to-20-second text-to-video, image-to-video, start-end-frame, extension, Draft, and upscale endpoints. Compare the required source format, duration, and delivery resolution before choosing a family.
FLUX 3 API — Frequently asked questions
Pricing, license, integration — common questions about running FLUX 3 on WaveSpeedAI.
Is the FLUX 3 API available on WaveSpeedAI?
Yes. Nine black-forest-labs/flux-3 endpoints are live in the WaveSpeedAI catalog for text-to-video, image-to-video, start-end-frame video, video extension, Draft iteration, and video upscaling.
Which FLUX 3 API endpoint should I use?
Use text-to-video for a prompt-only workflow, image-to-video to animate one source image, start-end-to-video to connect two approved keyframes, video-extend to continue a clip, a Draft variant for lower-cost iteration, or video-upscale for 1.5x-to-3x enhancement.
What duration and resolution does FLUX 3 support?
The live standard generation and extension endpoints support 5-to-20-second clips at 720P or 1080P with optional synchronized audio. Input requirements vary by endpoint: image-to-video requires a source image, start-end-to-video requires both endpoint frames, and video-extend requires an input video.
How do I integrate the FLUX 3 API?
Use the standard WaveSpeedAI prediction flow: authenticate with your API key, POST the endpoint-specific input to a black-forest-labs/flux-3 model path, then poll the returned prediction id until the output is ready. The live playground and code samples on this page show the current request schema.
What is the FLUX 3 API?
FLUX 3 is a Black Forest Labs video generation model exposed as a REST API on WaveSpeedAI. Black Forest Labs FLUX 3 API is live on WaveSpeedAI with text-to-video, image-to-video, start-end-frame video, video extension, Draft, and video-upscale endpoints. Generate 5-to-20-second clips at 720P or 1080P with optional synchronized audio through one production-ready API. You can call it programmatically or try it from the playground linked above.
How do I call the FLUX 3 API?
Sign up for a WaveSpeedAI account, copy your API key from /accesskey, then POST to https://api.wavespeed.ai/api/v3/black-forest-labs/flux-3/text-to-video with your input as JSON. The endpoint returns a prediction id. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. Production-oriented Python / Node.js / cURL examples are above.
How much does the FLUX 3 API cost?
FLUX 3 starts at $0.30 per run. The exact cost scales with the parameters you set (resolution, duration, output count, references). The live cost preview next to the Generate button in the playground shows the exact price for your current input.
Which FLUX 3 variants are available?
WaveSpeedAI hosts 9 live FLUX 3 endpoints: black-forest-labs/flux-3/video-upscale, black-forest-labs/flux-3/video-extend-draft, black-forest-labs/flux-3/text-to-video-draft, black-forest-labs/flux-3/image-to-video-draft, black-forest-labs/flux-3/start-end-to-video-draft, black-forest-labs/flux-3/text-to-video, black-forest-labs/flux-3/video-extend, black-forest-labs/flux-3/start-end-to-video, and more. Each variant has its own playground page and pricing.
Can I use FLUX 3 outputs commercially?
Commercial usage rights follow the Black Forest Labs model license. Most Black Forest Labs models permit commercial output use; see each model's playground page for the specific license summary, and WaveSpeedAI's Terms of Service for platform-level conditions.
Why use FLUX 3 on WaveSpeedAI instead of going direct?
One API key + one billing account across FLUX 3 AND 1,000+ other AI models from other providers. No per-vendor SDK setup, no separate rate-limit envelopes, no rewrite-per-vendor integration code. Pricing is typically at parity with or below Black Forest Labs's direct API.
About Black Forest Labs
The team behind FLUX 3 and the broader Black Forest Labs model lineup on WaveSpeedAI.
Black Forest Labs created the FLUX family of open-weight image models. FLUX.2 [klein] ships 4B and 9B text-to-image and edit endpoints with enhanced realism, crisper text rendering, and native LoRA support — a cost-efficient alternative to larger FLUX variants for high-volume image pipelines.
Start building with FLUX 3 on WaveSpeedAI
Free starter credits on signup. One API key across 1,000+ AI models from Black Forest Labs and every other provider.