Skip to main content
FastH3 is a real-time video generation model that renders prompt-driven clips with synchronized audio in the same pass. The two things that set it apart are that sound is native to the generation and that the model is built to be scheduled: it never decides what plays next, you do. Everything runs through one ordered row of clips. New prompts land at the back; builds march down the row turning each into a finished clip; and the currently playing clip is highlighted at the front as it moves left to right. When a play (or autoplay) reaches a built clip, its frames run on the track. Each clip normally opens from text alone; you can also pass starting_frame (an uploaded still) or continue_from_clip_id (the last frame of another clip) so the two chain into a continuing scene. The FastH3 reference is split across four pages: this overview, the complete command and event schema, the prompt guide for writing clips the model renders best, and a tutorial that drives a session end to end. The base wire protocol is the same as every other Reactor model: open a session with the Reactor class, send named commands, and receive events. The model name is reactor/fast-h3. The @reactor-models/fast-h3 typed package adds named methods and React hooks for this protocol.

At a glance

Pass reactor/fast-h3 to the SDK. Pass fast-h3 to create-reactor-app as the template name. “FastH3” is the display name. Usage is billed per second of session time; see Billing for how billing maps to rates.

Key features

Native audio in the same pass

Pictures and sound generate together, so speech, ambience, and effects are born synchronized with the frame.

Your scheduler, not the model's

enqueue, move, pop, play, stop, set_autoplay give a client full order control.

Image opens and scene chains

starting_frame opens a clip from an uploaded still; continue_from_clip_id chains any clip off another’s last frame into a continuing scene.

Quick start

The fastest path to a working FastH3 app is the create-reactor-app CLI.
Working in Python instead? The CLI is JavaScript-only, so install the SDK with pip install reactor-sdk and follow the Python example below (see the quickstart for the full walkthrough):
The examples above use the base SDK so the wire surface is fully visible end-to-end. The typed package @reactor-models/fast-h3 is on npm with named methods and React hooks; the tutorial uses it throughout against the open-source episodes example. See Typed Model SDKs for what the typed layer adds.

How it works

On connect FastH3 is idle with a black output; nothing plays until a built clip exists and a play asks for it. To get your first stream:
  1. Connect to the model. The connection moves disconnected → connecting → waiting → ready, and the first state_update / queue_update land on connect.
  2. Optionally set session defaults with set_clip_seconds, set_seed, and set_canvas. Every enqueue snapshots these, so set them before the clips they should apply to.
  3. enqueue one or more clips. Each gets a UUID and joins the back of the row; builds run down the row behind the scenes, turning each into a finished clip and announcing every one with clip_generated and queue_update.
  4. play a built clip. Playback is explicit: play with no argument plays the next built clip in the row, or name a clip_id. Frames stream until the clip ends, then the row highlights the next built clip and waits for the next play. set_autoplay starts the next built clip on its own as each one finishes, so a steadily fed row plays through hands-free.