Skip to content

Flux 3 Image to Video · Keyframes to Video

Integrate

Model id blackforestlabs/flux-3/keyframes-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/blackforestlabs/flux-3/keyframes-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "keyframes": [
      {
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
        "frame_index": 0
      }
    ]
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.85 850 API credits Run it on this page

Get API key
Black Forest Labs Image to Video Native audio4K outputLipsync5–20 sup to 2160p #stylized#transform

Video from up to 10 keyframes at set frame positions, with fixed durations of 5 to 20 seconds

Made on Doitong

Public works made with Flux 3 New by the Doitong community. Reuse a prompt in one click.

Public works shown: 9
Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lemb...

Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...

Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lemb...

Close-up portrait seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...

Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut ...

Prompt Details Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi...

Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikel...

Seorang wanita berkulit pucat berdiri setengah tubuh di dalam air berwarna lembut kebiruan, dikelilingi bunga teratai berkelopak penuh yang bermekaran indah di permukaan air. Rambutnya pirang pucat tersanggul longgar dengan beberapa helaian tipis jatuh alami membingkai sisi wajahnya. Ia memeluk...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat men...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat men...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat men...

​"Potret sinematik ultra-realistis close-up seorang anak laki-laki kecil (balita) yang sangat menggemaskan dengan mata cokelat besar yang ekspresif, rambut hitam berantakan yang tebal, mengenakan kaus putih kerah henley. Dia berpose dengan kedua tangan terkatup di depan dada, menunjukkan senyum...

Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tub...

Foto sinematik hiper-realistis resolusi tinggi menampilkan seorang pria muda Indonesia dengan tubuh ramping dan proporsional, rambut hitam pendek agak acak, mengenakan jaket kulit hitam, celana riding fit, dan sepatu motor. Ia sedang melakukan aksi freestyle ekstrem dengan motor sport 500cc...

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Text description of the desired video.

duration 5 s

Supply the video length explicitly, in seconds, so keyframe positions can be validated.

aspect_ratio default auto

Output video's aspect ratio; `auto` delegates the choice to the model.

resolution default 720p

Output resolution, with pixel dimensions determined by aspect ratio. Finishing uses the video upsampler for `1080p`, `1440p` (2K), and `2160p` (4K).

•required

Keyframe images placed in the output video according to `frame_index`; provide no more than 10, without repeating an index.

Advanced safety_tolerance
default 2

Video safety tolerance uses a scale whose most permissive setting is 4 and whose strictest setting is 0.

POST /run/blackforestlabs/flux-3/keyframes-to-video?wait=20 quote → $0.85
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/blackforestlabs/flux-3/keyframes-to-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "keyframes": [
      {
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
        "frame_index": 0
      }
    ]
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Flux 3 Image to Video · Keyframes to Video

Creates a video by generating motion between 1 to 10 keyframe images, each pinned to a unique `frame_index`, guided by a `prompt`. An explicit `duration` of 5 to 20 seconds is needed to validate the keyframe positions. `resolution` ranges from 720p to 2160p, and audio generation is optional.

Parameters

NameType DefaultAllowed Description
promptrequired
Typestring
Text description of the desired video.
aspect_ratiooptional
Typeenum
Defaultauto
auto21:92:116:94:31:13:49:16
Output video's aspect ratio; `auto` delegates the choice to the model.
resolutionoptional
Typeenum
Default720p
720p1080p1440p2160p
Output resolution, with pixel dimensions determined by aspect ratio. Finishing uses the video upsampler for `1080p`, `1440p` (2K), and `2160p` (4K).
durationoptional
Typeenum
Default5
567891011121314151617181920
Supply the video length explicitly, in seconds, so keyframe positions can be validated.
generate_audiooptional
Typeboolean
Defaulttrue
Controls whether the video includes generated audio.
safety_toleranceoptional
Typeinteger
Default2
0 – 4
Video safety tolerance uses a scale whose most permissive setting is 4 and whose strictest setting is 0.
keyframesrequired
Typeobject[]
≤ 10 items
Keyframe images placed in the output video according to `frame_index`; provide no more than 10, without repeating an index.
keyframes[].image_urlrequired
Typeurl · image
Keyframe image URL; accepts PNG, JPEG, or WebP.
keyframes[].frame_indexrequired
Typeinteger
≥ 0
Keyframe placement uses a distinct frame index for each keyframe, bounded above by `duration * 24`; the output runs at 24 fps.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "blackforestlabs/flux-3/keyframes-to-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 850,
    "usd": "0.85",
    "charged": 850,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "keyframes": [
      {
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
        "frame_index": 0
      }
    ]
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "seed": 42
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video produced by the model.
seed
integerSeed value used during generation.

More models: Image to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/blackforestlabs/flux-3/keyframes-to-video.md. All models and guides: https://doitong.com/developers/llms.txt