Skip to content

Video generation

Text-to-video is the slowest agentic AI primitive — minutes per request, not seconds.

That changes the shape of the abstraction. A synchronous Effect that sits on a connection for five minutes is a recipe for timeouts and abandoned fibers. Every provider’s API admits this: you submit a job, get an ID back, and either poll or subscribe to a webhook for the finished video.

This is the async job archetype, and it’s the first capability where “call the model and wait” stops being adequate. The abstraction needs a submit → track → fetch shape with cancellable polling, finalizers that release server-side resources on interrupt, and a stream of progress events for UIs that want to show “rendering 38%”.

Coming soon

@effect-uai/core will ship a VideoGenerator service tag with this async-job shape. Provider candidates:

  • Google Veoveo-3 and successors.
  • OpenAI Sora — when the API is broadly available.
  • Runway — Gen-3 / Gen-4.
  • Luma — Dream Machine.

The output reuses the existing MediaSource domain — URL or bytes — so generated video composes with downstream tooling.

Show interest

Open or +1 the video generation tracking issue.