Model API
FLUX.3 Video
FLUX.3 is Black Forest Labs' frontier audio/video model. Generate fast, low-cost draft previews pinned to your keyframe images, with a reusable draft cache for full-quality enhancement.
Model id
blackforestlabs/flux-3/keyframes-to-video/draftThis model has other modes with their own ids: blackforestlabs/flux-3/edit-video, blackforestlabs/flux-3/extend-video, blackforestlabs/flux-3/extend-video/draft, blackforestlabs/flux-3/first-last-frame-to-video, blackforestlabs/flux-3/first-last-frame-to-video/draft, blackforestlabs/flux-3/image-to-video/draft, blackforestlabs/flux-3/keyframes-to-video, blackforestlabs/flux-3/text-to-video, blackforestlabs/flux-3/text-to-video/draft.
Run it
Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.
# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "blackforestlabs/flux-3/keyframes-to-video/draft",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light",
"keyframes": [
{
"image_url": "https://example.com/input.png",
"frame_index": 0
}
]
}
}'
# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model": "blackforestlabs/flux-3/keyframes-to-video/draft", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light","keyframes":[{"image_url":"https://example.com/input.png","frame_index":0}]}}'
# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer $RAYWAKE_API_KEY"Input
| Name | Type | Description |
|---|---|---|
promptrequired | string | The text prompt describing the draft video. |
aspect_ratio | string (enum) | Aspect ratio of the generated draft. `auto` lets the model choose. |
duration | number (enum) | Draft duration in whole seconds from 5 through 20. An explicit duration is required to validate keyframe positions. |
generate_audio | boolean | Whether to generate audio for the draft video. |
safety_tolerance | integer | The safety tolerance level for the generated video. 0 is the strictest and 4 is the most permissive. |
keyframesrequired | array of objects | Keyframe images pinned to frame positions in the generated draft. Up to 10 keyframes with unique `frame_index` values. |
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"outputs": [
{ "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]Pricing
- per second$0.0951/ second
The exact charge for your input comes from a quote. How charges settle