PromptSync (genkai)
Did the model actually hit your 2.5-second beat?
- filenames
- video
- images
- audio
The 2026 video models take structured, timed prompts - MiniMax H3 handles 4–15 second clips with audio welded in, and its prompt format is built around beats ("0.0–2.5 sec: she turns; 2.5–6.0 sec: camera pushes in"). Which is great until review time, when you're watching a six-second clip and trying to remember which clause was supposed to land at 4.5 seconds.
PromptSync puts them on the same screen. Video left, your original prompt right, and the current timed section highlighted as playback advances.
How it works
The parser is rule-based, not a model, and it's more permissive than you'd expect. It recognises decimal-second ranges (0.0–2.5 sec), MM:SS and HH:MM:SS timestamps, Markdown headings and tables, numbered shot lists, inline At / From cues, H3's [Shot N] blocks, and JSON segments using start/end, start_time/end_time, timestamp, time_range or an explicit duration.
Global sections - Camera, Lighting, Style, Effects, Audio, overall_soundscape, non_diegetic_music - are split out from actions using the text's structure and get a different colour treatment, so your "slow cinematic dolly" direction doesn't light up like a story beat. The README's own advice for predictable parsing: put a global section after a blank line, at the same indentation as the shot headings; indented directions inside a shot stay part of that shot.
Because it's rule-based, ambiguous text without clear boundaries can be misclassified, and a model name alone doesn't guarantee the parser knows that model's prompt dialect. Untimed prompts are displayed in full, with no invented scene durations - a small decision I appreciate, because the alternative would be actively misleading.
Around that: clickable time markers under the seek bar at their real positions, four reading styles (Spotlight/Serif is the default; Cards, Script and Classic are the others - purely presentation, your text and timing are untouched), optional auto-scroll, and an audio waveform decoded locally from the file itself. Silent and empty audio are labelled separately. The last result is restored from node properties, so reopening a workflow doesn't blank the panel.
The inputs that matter
prompt is the timed prompt, and here's the first gotcha: it's forceInput, so you cannot type into it. Wire a text node or a primitive into it or the node will refuse to be set up the way you expect.
fps (default 24) applies only to images - saved videos keep their original timing and audio.
Then connect exactly one source:
filenames- from VHS Video Combine →Filenames. Reuses the saved video including its audio, no re-encode. Best option when you're already saving through VHS.video- a coreVIDEOoutput. A temporary MP4 preview is built.images- anIMAGEbatch, assembled into a temporary MP4 at yourfps. Connectaudioif you want sound.
More than one source and you get GENKAI: connect exactly one source: filenames, video or images. That's the "Video source error" message people hit. There are no outputs - this is a terminal, review node.
How to install it
cd ComfyUI/custom_nodes
git clone https://github.com/GENKAIx/Genkai-ComfyUI-Nodes
Manager search Genkai-ComfyUI-Nodes is the same thing. Restart and Ctrl+F5 - the viewer is a JS frontend and a soft refresh will leave you with a broken panel. Category: GENKAI → Video. No models, no extra packages for this node; VideoHelperSuite is only needed for the filenames path (and it's a hard requirement for the + Save sibling, not this one).
This pack is new and has essentially no community track record yet - no thread corpus to lean on when something misbehaves. Check the pack's own README before trusting any tutorial, including this one.
Common issues
"GENKAI: video must be inside ComfyUI input, output or temp." The viewer only serves files through ComfyUI's /view endpoint, so the path has to live inside those three directories. Drop the file in ComfyUI/input and it plays.
"GENKAI: connect a saved video, not an image or a folder." You pointed it at something that isn't a video - or at an extension outside the supported set (.mp4, .webm, .mov, .mkv, .m4v, .ogv).
The preview is gone after a restart. Temporary previews are written to temp, and ComfyUI's temp directory gets cleared. The filenames path avoids this entirely by referencing the file you actually saved.
No waveform. The file has no audio track. That's a file problem, not a node problem.
Markers drifting from what you see. If you're building from images, the fps you set here is what the temporary MP4 is written at. Set it wrong next to a 16fps batch and the preview plays at the wrong speed while the timestamps still read real seconds.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Timed generation prompt: timestamps, time ranges or JSON segments. | |
| fps | FLOAT | 24.001–240 | Frame rate for IMAGE input only. Saved videos keep their original timing and audio. |
| filenamesopt | VHS_FILENAMES | Connect VHS Video Combine → Filenames. Reuses the saved video including audio. | |
| videoopt | VIDEO | — | |
| imagesopt | IMAGE | — | |
| audioopt | AUDIO | — |
Outputs (0)
No outputs