API Free WeekHundreds of APIs are free to call this week.Browse free APIs

Flux 3 First-Last Frame to Video Draft

bfl/flux-3/first-last-frame-to-video/draft

Flux 3 First Last Frame To Video Draft by BFL - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.

Base price
$0.30USD / run
Execution
async
Model type
video
Input fields
6
Production route

Try the model

Playground

Open playground
Input
The text prompt describing the draft video.

PNG, JPEG, WebP, or GIF · 20 MiB maximum

URL or data URI of the image used as the first frame of the draft.

PNG, JPEG, WebP, or GIF · 20 MiB maximum

URL or data URI of the image used as the last frame of the draft.
Video duration in seconds (5-20). Allowed values: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.
Whether to generate audio for the draft video.
Output aspect ratio. Follows the input when omitted. Allowed values: 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16.
OutputExample

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$0.30 / run

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
BFL
Model ID
bfl/flux-3/first-last-frame-to-video/draft
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Flux 3 First-Last Frame to Video Draft

Flux 3 First Last Frame To Video Draft belongs at the economical testing between fixed endpoints stage of a visual workflow. Rather than treating the model as an isolated demonstration, teams can place it inside briefing, review, selection, and handoff practices where teams can compare possible transitions while keeping the opening and closing design decisions constant. This positioning clarifies why the model earns a place in a real creative pipeline and what kind of decision it helps people make.

A practical use of Flux 3 First Last Frame To Video Draft is storyboarding, motion-design studies, client previews, and timing experiments where the endpoints are approved but the journey remains open. Begin by agreeing on the creative objective and review criteria, prepare only the source material needed for that objective, and compare results against audience, brand, editorial, and production needs. Technical request choices remain documented below so the prose can stay focused on planning and creative value.

Highlights

Boundary-frame fidelity. Keeps the supplied opening and ending compositions recognizable at their assigned moments.

Plausible intermediate action. Invents motion and scene development that logically connect the two visual anchors.

Camera-path coherence. Coordinates viewpoint changes and subject movement across the complete transition.

Joint audio generation. Creates speech, effects, and ambience that follow the events between the boundary images. The preview configuration favors inexpensive, fast exploration while preserving the approved subjects, composition, and action for a later full render.

Pricing

OptionPrice
720p draft per second$0.06
5 seconds$0.30

Billed per requested second of video. Drafts also return draft_cache_url; pass it to Flux 3 Draft Enhance for a full-quality 1080p render.

When to Use

✅ Good fit❌ Consider alternatives
The model's named workflow matches the source material and intended outputA different input modality or model route is required
A managed asynchronous result is suitable for the production pipelineA synchronous, interactive editor is essential
The documented controls cover the required duration, framing, or formatThe project needs controls outside this endpoint's schema
Creative iteration benefits from a repeatable request structureExact deterministic pixels, frames, geometry, or samples are mandatory
A finished downloadable media asset is the desired deliverableEditable source layers or a native project file are required

Prompt Guide

For image-conditioned generation, state the intended result first, then add the subject or source treatment, progression, style, and delivery constraints. Keep one creative variable per phrase, use the documented field names for controls, and change one setting at a time when comparing results.

{
  "aspect_ratio": "21:9",
  "duration": 5,
  "image": "https://example.com/start-frame.png",
  "prompt": "A red panda walks along a mossy log in a sunlit forest, one continuous unbroken shot."
}

Technical Specs

SpecValue
Model IDbfl/flux-3/first-last-frame-to-video/draft
Inputsaspect_ratio, duration, end_image, generate_audio, image, prompt
Required inputsprompt, image
Output fieldscontent_type, url
ExecutionAsync (submit, then poll for result)
Duration5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20
Aspect Ratio21:9 / 16:9 / 3:2 / 4:3 / 5:4 / 1:1 / 4:5 / 3:4 / 2:3 / 9:16

Related Models

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
bfl/flux-3/first-last-frame-to-video/draft
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "bfl/flux-3/first-last-frame-to-video/draft",
  "image": "https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-1.jpeg",
  "prompt": "A red panda walks along a mossy log in a sunlit forest, one continuous unbroken shot.",
  "duration": 5,
  "end_image": "https://storage.googleapis.com/falserverless/example_inputs/veo31-flf2v-input-2.jpeg",
  "generate_audio": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All image & video models
ModelTypeDefault priceReleased
BFLVideo$0.30 / runAug 4, 2026
BFLVideo$0.85 / runAug 4, 2026
BFLVideo$0.85 / runAug 4, 2026
BFLVideo$0.85 / runAug 4, 2026
BFLVideo$0.85 / runAug 4, 2026
BFLVideo$2.05 / runAug 4, 2026

Questions

FAQ

How do I call BFL Flux 3 First-Last Frame to Video Draft through SandBase?

Create a SandBase API key, then send requests with the model ID "bfl/flux-3/first-last-frame-to-video/draft" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

Do I need a separate BFL account?

No. One SandBase API key and balance gives you access to BFL Flux 3 First-Last Frame to Video Draft and the other models in the catalog; you do not need to sign up with BFL separately.