First frame + last frame is enough. You don't need a timeline.

javascript dev.to

I keep seeing the same product mistake in image-to-video tools: they ship a timeline.

Tracks. Keyframes. Easing. Export presets. A “studio” that looks like a junior After Effects. That is a real product if the user already has footage. It is the wrong surface if the user only has two stills and wants the three seconds in between.

The job is smaller than “make a video”

Most of the requests I hear are not open-ended generation. They sound like this:

  • I have a wide shot and a close-up of the same object.
  • I have the room before paint and the room after.
  • I have daylight and night from the same doorway.

The user already did the hard part: they chose two frames that belong together. What they lack is motion that starts on A and arrives on B. A cross-dissolve is not that motion. A Ken Burns crop on one JPEG is not that motion either. Both are opacity or scale. Neither invents an in-between.

A full editor does not fix this. It just gives you more ways to fake the middle.

Why two bookends beat an empty prompt

Text-to-video is a bad default for this job. An empty prompt asks the model to invent a scene. Two stills ask the model to respect a scene that already exists.

That constraint is also a product constraint:

  1. Inputs stay obvious. First frame. Last frame. Optional short prompt. Duration in a small set (a few seconds, not a film).
  2. Failure is readable. If the pair does not share a camera height, a subject, or a backdrop, the clip looks like melting furniture. You throw it away. You do not add another effect layer.
  3. The UI can live in a browser. Nobody needs a project file to test whether two JPEGs have a usable middle.

The last point matters if you are building on the web. A guest can upload two frames and see if the idea is worth a generate. Auth and credits only show up when they want the file. That is a cleaner funnel than “sign in to open the editor.”

What I refused to build

I refused a multi-track timeline. I refused “10 transition styles.” I refused treating a warp mesh as the product.

Those features help when you already have video. They hide a bad pair when you only have stills. The honest version of the tool is: bookends in, short MP4 out, keep or delete. If the clip does not survive a single playback at the size it will actually run, it should not ship to the timeline.

Export stays simple: one video file from the model. The stills remain the source of truth. The clip is only a bridge.

The loop I actually use

Pick two frames that already agree. Generate once. Watch it once. Keep it only if the subject is still the subject in every frame.

If you want to see that constraint in a UI instead of a slide deck, you can run a first-and-last-frame generation in the browser and decide whether the middle is usable before you open an editor.

That is the whole product argument: do not ask people to learn a timeline for a job that starts and ends on two photographs.

Source: dev.to

arrow_back Back to Tutorials