Skip to main content
Two request fields take a video, and they answer two different questions about it:
  • reference_video: keep the cast, build a new shot. A brand-new clip carrying over the subjects - and as much of the staging as you re-describe - from yours.
  • start_video: keep going. Continues your clip from its final frames.
reference_video is the more flexible of the two: re-stage the same scene on different gear, or send the same cast somewhere new entirely, depending on how much of the source your prompt re-describes. This notebook generates one source clip with text-to-video, then runs both against it, so it stands alone with just a BFL_API_KEY. Video inputs are mp4, up to 50 MB and 15 seconds; the limit is on the file you send, not the output you request.

1. Setup

The same client as the previous recipes. Our 5-second source is comfortably inside the input caps; for longer sources, trim to under 15 seconds before sending.

2. A source clip

A source clip you plan to reference later has one job: give the next prompts something concrete to name. Three or four fixed visual anchors (here: the brass body, the red wind-up key, the single amber eye) plus one unmistakable motion (marching in a straight line), described the same way every time. One clause in this prompt earns its place: “it moves like a wound-up machine, not a person”. Mechanical subjects default to fluid, human-smooth movement unless you write the imperfection in: stiff even steps, a tremor on each footfall, and a sound locked to the motion.

3. reference_video, take one: same scene, different medium

The source becomes a reference: its subjects carry over, and whatever staging you re-describe carries with them. So to recast the look of a shot, restate the shot (the blocking, the camera move, the path) and change only the recording medium. The medium includes the sound, and this recast makes that concrete: a 1928 silent print has no sync sound at all. The honest recast deletes the scene’s own ticking and replaces it with what the medium would actually carry, a piano accompaniment and projector clatter. Name that swap explicitly or the model keeps the modern soundtrack under an old-looking picture. One constraint to know: at the default 720p, reference_video output caps at 15 seconds. Ask for 16-20 and you get a 422 telling you to shorten it or drop to 480p.
Play the source and the recast back to back. Same robot, same march; the century of the recording changes, picture and soundtrack together.

4. reference_video, take two: same cast, new shot

Don’t restate the staging and the reference works the other way: the model carries the subjects into a scene you write from scratch. New action, new location, new camera. Like reference_images in the previous recipe, but the identity comes from footage. The single lever that decides between “recast this shot” and “new shot, same character” is how much of the source your prompt repeats. Note the duration: 8: the endpoint accepts any integer from 5 to 20, so size the clip to the beat instead of rounding to 5 or 10.

5. start_video: continue the shot

Picks up from the source’s final frames, so the prompt’s first job is to name what those frames show (“reaches the very edge of the workbench”) before saying where the shot goes. duration here is the length of the new segment, not source plus new, and aspect_ratio: "auto" inherits the source’s frame so the join is clean. Carry the established sounds forward before you evolve them: the ticking continues unbroken through the seam, then each new event gets its own sound. Audio continuity is what sells a continuation as one shot rather than two clips glued together.
The two clips cut together back to back; the seam is the source’s last frame:

The decision, one more time

  • One video input per request; both fields take mp4 as a public URL or base64, ≤ 50 MB, ≤ 15s.
  • reference_video at 720p caps output duration at 15 seconds (16-20 need 480p).
  • start_video has no such restriction, and aspect_ratio: "auto" follows the source clip.

Where to next

start_video chaining is one way to build length. The other is cuts: real ones, written into the prompt, plus a shot pipeline that generates scenes in parallel and stitches them. That’s Multi-shot films.