GitHub - reactor-team/comfyui-reactor-api: ComfyUI nodes that render timelines on Reactor real-time video models. · GitHub
Skip to content

About

ComfyUI nodes that render timelines on Reactor real-time video models.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

Reactor for ComfyUI — world models in your workflow

Real-time video models in ComfyUI. Steer them live, or script every shot.

🌐 Reactor · 📚 Docs · 🛠️ Client SDKs · 📖 Cookbook


A ComfyUI custom node pack for Reactor's real-time video models. Play a model live in a window you steer as it generates, or script a sequence of segments and render it to a video, all from a normal ComfyUI workflow.

The Reactor Realtime window driving a LingBot World 2 world with the keyboard
LingBot World 2 playing in the Reactor Realtime window, steered with W/A/S/D and the arrow keys.

Getting started

1. Install. Clone this repo into ComfyUI/custom_nodes/ and install its requirements into ComfyUI's Python:

cd ComfyUI/custom_nodes
git clone https://github.com/reactor-team/comfyui-reactor-api
pip install -r comfyui-reactor-api/requirements.txt

2. Add your API key. Copy config.ini.example to config.ini and set your Reactor API key, or set REACTOR_API_KEY in ComfyUI's environment (it takes priority).

3. Copy the example inputs. Copy example_inputs/ into ComfyUI's input folder so the examples find their images and sounds.

Examples

Every example is in ComfyUI's template browser under comfyui-reactor-api, or drag a preview onto the canvas to load its workflow. Edit previews show the source on the left and the edit on the right.

Each example runs in one of two ways:

  • ⚡ Real time — the Reactor Realtime node opens a window where the model plays as it generates. Edit the prompt, drive the camera with the keyboard, feed it your webcam, or talk to an avatar.
  • 🎬 Render — chain segment nodes into a sequence and Reactor Render turns it into a video. Other nodes can write the prompts, make the images, or branch the story.

Explore worlds

Walk through a world made from a single image, steering the camera live with the keyboard or scripting every move ahead of time.

Real-time world driven with the keyboard
Real-time world driven with the keyboard
LingBot World 2 · ⚡ Real time
Scripted camera moves
Scripted camera moves
LingBot World 2 · 🎬 Render

Edit video

Restyle, re-dress or recast your camera or a video file from a single image, or edit it with a prompt. Source on the left, result on the right.

Real-time camera restyled from an image
Real-time camera restyled from an image
Vidu S2-Editing · ⚡ Real time
Real-time camera dressed in an outfit from an image
Real-time camera dressed in an outfit from an image
Vidu S2-Editing · ⚡ Real time
Real-time camera recast as a character from an image
Real-time camera recast as a character from an image
Vidu S2-Editing · ⚡ Real time
Real-time camera edited by a prompt
Real-time camera edited by a prompt
X2 · ⚡ Real time
Real-time video file edited by a prompt
Real-time video file edited by a prompt
X2 · ⚡ Real time
Restyle, re-dress and recast a video
Restyle, re-dress and recast a video
Vidu S2-Editing · 🎬 Render

Generate video

Short clips with sound from a prompt with FastH3, or from pictures of a person and a place with H3 Reference Turbo Realtime. FastH3-Omni adds audio input and first-to-last frame to reference images. Stories across shots and cuts, one continuous scene steered by prompts, or a single shot that morphs, all from text.

Real-time clips with sound from a prompt
Real-time clips with sound from a prompt
FastH3 · ⚡ Real time
Clips with sound, a shot then a cut
Clips with sound, a shot then a cut
FastH3 · 🎬 Render
Real-time clips of a person and a place from two pictures
Real-time clips of a person and a place from two pictures
H3 Reference Turbo Realtime · ⚡ Real time
A person and a place from two pictures
A person and a place from two pictures
H3 Reference Turbo Realtime · 🎬 Render
Real-time talking video with audio input
Real-time talking video with audio input
FastH3-Omni · ⚡ Real time
Nine reference images, one scene
Nine reference images, one scene
FastH3-Omni · 🎬 Render
Real-time video from a prompt
Real-time video from a prompt
LongLive-2.0 · ⚡ Real time
Nine segments of shots and cuts
Nine segments of shots and cuts
LongLive-2.0 · 🎬 Render
One scene steered by prompts
One scene steered by prompts
Helios · 🎬 Render
A storm morphing around one shot
A storm morphing around one shot
Visko Orbis Stable · 🎬 Render

Avatars

Talk with a character made from a photo: your voice goes in, video comes out. Or have a photo speak your script, one take at a time.

Real-time conversation, your voice in and video out
Real-time conversation, your voice in and video out
Vidu S2-Avatar · ⚡ Real time
Real-time takes of a photo speaking your script
Real-time takes of a photo speaking your script
LTX · ⚡ Real time
A photo speaks a script in two takes
A photo speaks a script in two takes
LTX · 🎬 Render

Models

Read the model's prompt guide before writing prompts: it applies to the prompts you write here, and each example's note links it.

Explore worlds

Model What it does Takes Prompt guide
LingBot World 2 LingBot with more camera control first image, camera moves Prompt guide
LingBot A world you walk through first image, camera moves Prompt guide

Edit video

Model What it does Takes Prompt guide
Vidu S2-Editing Restyle, re-dress or recast from an image video, image Prompt guide
X2 Edit a video or camera from a prompt video, optional image Prompt guide
Sana Streaming Edit a video file from a prompt video (Render only) Prompt guide

Generate video

Model What it does Takes Prompt guide
FastH3 Short clips with sound, one per prompt prompt, image on any segment Prompt guide
H3 Reference Turbo Realtime Clips with sound, guided by up to nine pictures, which prompts call Picture 1, Picture 2, … in socket order prompt, pictures Prompt guide
FastH3-Omni Clips with sound from up to three reference images and three audio inputs, which prompts call <Picture 1> and <Audio 1>, with an optional first-to-last frame. Render takes up to nine images, more slowly than real time prompt, pictures, sounds, first and last frame Prompt guide
Helios One continuous scene steered by prompts prompt, image on any segment Prompt guide
Visko Orbis Stable / Dynamic One unbroken shot that morphs, with sound prompt, optional first image Stable, Dynamic
LongLive-2.0 A story across shots and cuts, from text prompt Prompt guide

Avatars

Model What it does Takes Prompt guide
Vidu S2-Avatar Talk with a character made from a photo first image, persona Prompt guide
LTX A person from a photo speaks your script first image, script Prompt guide

Not yet supported: HappyOyster.

Nodes

These are the nodes this plugin adds to ComfyUI, all under Reactor in the node menu.

Node What it does
Reactor Realtime Runs a model in real time. Pick the model, queue it, and steer it in the window: edit the prompt and press Apply, drive the camera with W/A/S/D and the arrow keys, or talk to an avatar. Press Save to output the take as a video.
Reactor <model> Segment One segment of a scripted sequence, with that model's inputs. Chain segments through sequence. The first segment holds the model's settings. Since every input is a normal ComfyUI input, other nodes can write the prompts, make the images, or branch the story.
Reactor Render Renders a sequence and outputs a video.
Reactor Sequence Join Plays sequences for the same model one after another.
Reactor Sequence Visualizer Draws a sequence's segments and camera moves on a frame ruler.
Reactor Vidu S2-Avatar Reference Tags an image as an object, outfit or background for an avatar segment.
Reactor Camera Capture /
Microphone Capture
Pick this browser's camera or microphone for Reactor Realtime.

Tips

  • Getting the same take every time? In Reactor Realtime, a fixed seed with unchanged inputs reuses the last take. Set it to randomize to record a new take each time.
  • Looking for a take? Reactor Realtime saves them to reactor/realtime in ComfyUI's output folder. Change it with the node's filename_prefix.
  • Talking to an avatar? Wear headphones, so the Vidu S2-Avatar character doesn't hear itself.
  • Want to run more than one workflow at once? ComfyUI runs one Reactor session at a time. Set MAX_CONCURRENT under [Sessions] in config.ini and restart to run more.

Contributing

Pull requests are welcome. Run the tests before opening one; they need no ComfyUI install and no Reactor API key:

uv run pytest -q tests
node --test "tests/web/*.test.mjs"

Sign off every commit (git commit -s): pull requests are checked for a DCO sign-off.

Licensing

This repository is Apache-2.0 licensed - see LICENSE.

About

ComfyUI nodes that render timelines on Reactor real-time video models.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages