Reactor Realtime
The node that plays a video model live in a browser window
- VIDEO
Most video nodes in ComfyUI hand you a file. This one hands you a window. Press Run on Reactor Realtime and a panel opens in your browser tab; the model starts generating and keeps going while you talk to it, retype the prompt, or walk around a world with W/A/S/D. When a take is good, you press Save.
What it's for
Reactor is the hosting company behind a shelf of real-time video models - they don't train these themselves, they're the infrastructure that serves them, which is worth knowing because it explains why the pack ships no weights at all. That whole category - the node that is really an API client - is what the KB's external-api-nodes doc is about, and Reactor is the newest and least Reddit-documented branch of it. "comfyui-reactor-api" returns literally zero threads in the corpus, so anything you read online is either the vendor's docs or someone figuring it out.
You'd reach for this node when the thing you want is interactive. Drive a LingBot World 2 world with the keyboard and see what's over the ridge. Restyle yourself through a webcam and try on an outfit. Have a conversation with a photo of a person. Generate clips from a prompt and change the prompt mid-session. The scripted, reproducible version of the same models is Reactor Render plus segment nodes; this is the jam-session version.
How it actually works
The node's model picker is a dynamic combo - pick a model and the node reshapes itself to expose that model's own inputs. Choose Vidu S2-Avatar and you get an image socket, a persona, a voice, a greeting and a microphone socket. Choose X2 or Vidu S2-Editing and you get a video or a camera. Choose a LingBot and you get an image plus an editable camera-move lane. Then, on Run, the node authenticates to Reactor with your key, mints a short-lived session token, and messages your browser tab to open the Realtime window; the browser joins that session as a peer, publishing your webcam or mic and playing the model's video and audio back at you.
Takes are real files, not just pixels on screen. Each run records to reactor/realtime under ComfyUI's output folder, changing with filename_prefix, and the node also outputs the video so you can wire it into a Save node or a viewer.
Inputs and outputs
- model - the real decision. It decides which inputs appear and, crucially, whether the model generates from a prompt, edits a source, or holds a call.
- seed - a new seed starts a new session and records a new take. Leave it fixed, change nothing, and re-queueing keeps the take you already have instead of burning another session. Set the control to randomize when you're hunting takes.
- filename_prefix - where takes land under
output. Defaultreactor/realtime. - VIDEO (output) - the recorded take.
Install
Manager search comfyui-reactor-api ("Reactor API: Realtime Video"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/reactor-team/comfyui-reactor-api
pip install -r comfyui-reactor-api/requirements.txt
reactor-sdk>=1.6 is the only dependency and there are no weights to fetch - the models live on Reactor's servers. Set your key:
cp ComfyUI/custom_nodes/comfyui-reactor-api/config.ini.example ComfyUI/custom_nodes/comfyui-reactor-api/config.ini
# then put your key under [API] as REACTOR_API_KEY = ...
# or: export REACTOR_API_KEY=... (the env var wins)
Copy example_inputs/ into ComfyUI's input folder if you want the bundled templates to load, then restart. The examples are all in ComfyUI's template browser under comfyui-reactor-api.
Where people get burned
A live take needs a browser tab. Queue this from the API, a script, or anything headless and the run fails with "Open this workflow in a ComfyUI browser tab to record a live take." The window is the feature.
One session at a time. MAX_CONCURRENT under [Sessions] in config.ini defaults to 1, so a second run waits and reports "Waiting for another Reactor session to finish". Raise it and restart if you need two.
Half-hour ceiling. A live session is capped at 30 minutes by design. Saves are the checkpoint; do them as you go.
Headphones for avatars. The pack's own tip, and correct: without them the character hears its own voice and starts talking to itself.
Keep the input shape still. The browser is asked for one fixed capture size and holds it, because a live session dies if the resolution changes mid-chunk. Don't fiddle with your webcam's mode while recording.
Not ReActor. The face-swap pack people mean when they say "Reactor" in ComfyUI is a different project entirely. This is reactor-team/comfyui-reactor-api, and it is about running hosted real-time video models, not swapping faces.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | The model to run in real time, with the inputs and settings it takes. | |
| seed | INT | 420–2147483647 | A new seed starts a new session and records a new take. Fixed, with no input changed, a rerun keeps the last take. |
| filename_prefix | STRING | reactor/realtime | Where each take is saved, under ComfyUI's output folder. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |