@reactor-models/sana-streaming SDK: a <SanaStreamingProvider>
and hooks for React, a SanaStreamingModel class for plain JavaScript, with every command, message,
and track checked at compile time. It wraps the same base wire protocol every Reactor model speaks,
so you can also drive it from the base Reactor client by command
name (the path for Python). SANA-Streaming’s surface adds commands for setting the source video and
applying edit prompts.
At a glance
| Spec | Value |
|---|---|
| Model name | sana-streaming |
| Pricing | |
| Resolution | 1280 × 704 |
sana-streaming. The typed SDK bakes it in (new SanaStreamingModel(),
<SanaStreamingProvider>); with the base class you pass it yourself
(new Reactor({ modelName: "sana-streaming" })). See Pricing & Billing for how
billing works.
Key features
Surgical edits
Change the one thing you name and nothing else.
Real-time responsiveness
Send a new edit mid-stream and watch it land about a second later, not after a re-render.
Live webcam input
Restyle yourself, your room, or your product demo as it streams.
Quick start
The fastest path to a working SANA-Streaming app is thecreate-reactor-app CLI, which scaffolds a
runnable project for you. You can also clone the
open-source reference frontend
directly, or follow the tutorial for a guided
walkthrough.
- npm
- pnpm
<SanaStreamingProvider> and drives the
edit from a child component with useSanaStreaming():
- Live webcam
- Uploaded video
publish and uploadFile come from the base SDK and work the same on every model; useSanaStreaming()
exposes them next to the typed commands (see Tracks and
File Uploads). To change the edit mid-stream, call setPrompt again: the
new edit lands at the next chunk boundary, about a second later. Prefer plain JavaScript?
new SanaStreamingModel() carries the same typed methods; see the
schema’s complete example.
How it works
On connect the model is live but idle. Give it a source (your camera or an uploaded clip) and callstart; the edited stream begins on main_video. A prompt is optional: with none the model streams
a near-reconstruction of the source, and setting one steers the edit. From there you direct it in
real time: send a new prompt and the change lands at the next chunk boundary, so successive edits
feel like adjustments to a live feed rather than separate render jobs.
The architecture comes from the paper SANA-Streaming: Real-time Streaming Video Editing with Hybrid
Diffusion Transformer (Zhao et al., 2026), research led by NVIDIA with collaborators at MIT, THU,
NUS, and HKU.
See the schema for every command and message, and the
prompt guide for how to write edit prompts that
land where you aim them.