π¬ VdoFlash
A 'type a script, get a video' node that's really a one-node storyboard pipeline
- reference_image
- job_status
VdoFlashDirector (it shows up in your node list as "π¬ VdoFlash") sells a big promise: paste a text script, set a duration and a style, and a single node builds and runs your entire image-to-video pipeline for you. In the ComfyUI way of doing things - where you wire every KSampler and VAE decode by hand - that's genuinely novel. The catch, and it's a big one, is that the "video" part isn't really there yet. Right now this node is best understood as a script-to-storyboard machine: it turns your text into a sequence of scene images, then stitches those frames into an mp4. It's early, it's tiny (this pack has one node and basically zero community footprint), and the honest way to use it is with your expectations set accordingly.
How it actually works
Under the hood this is an output node with one async execute that orchestrates a whole ComfyUI graph from inside itself. When you run it:
- It unloads every loaded model and empties the CUDA cache - it assumes it's the only thing running, and it wants a clean slate.
- It plans your script into scenes: one scene per 5 seconds of
duration_seconds, minimum one. - For each scene it builds a mini-pipeline -
CheckpointLoaderSimpleβEmptyLatentImageβCLIPTextEncodeβKSampler(euler/normal, cfg 7.0) βVAEDecode- then joins every scene's output withImageBatchnodes and hands the whole batch toVHS_VideoCombinefor encoding. - It injects that entire graph straight into ComfyUI's native prompt queue (it fakes a client id of "VdoFlash_Internal") so it doesn't deadlock against the API, and returns a
job_statusstring.
That prompt prefix it injects - score_9, score_8_up, cinematic - tells you which family of checkpoints it's aimed at (the Pony/SDXL-style quality-tag set). The actual generated video lands in ComfyUI's output folder and history, not on this node's output wire.
The inputs that matter
- topic_script - the whole point. A multiline text block; each scene's prompt becomes
{your text} scene {i}plus the style tags. This is where all your creativity goes. - style_type - cinematic / anime / photorealistic / 3d_render. Just folded into the prompt text, plus the optional lighting and camera_motion strings.
- video_resolution (512β1280, default 1024) and aspect_ratio (16:9 / 9:16 / 1:1) - used to compute the latent size.
- image_model - the trap. This dropdown is dynamically populated from whatever checkpoints you actually have installed (
models/checkpoints). The "sdxl.safetensors" / "realvisxl.safetensors" defaults you'll see are just fallback names the code fakes when it finds nothing - if you don't own that file, you get a "Model not found" error. Pick one of yours. - video_model (svd / none / ltx-2 / wan2.2) - here's the honest part: this input doesn't drive anything yet. Grep the shipped graph code and none of these models get loaded; whatever you choose, you get frame repetition. Treat it as a roadmap, not a setting.
- duration_seconds (default 10) and fps (default 24) - shape how long and how many frames.
The output is a single job_status string (output node), e.g. "Orchestrated script into N character blocks. Rendering job β¦ sent to history." That's it - the video shows up in your output folder.
Install
Either search "ComfyUI-VdoFlash" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes/
git clone https://github.com/inboxabhishek/ComfyUI-VdoFlash
then restart ComfyUI. There's no requirements.txt - the pack depends only on ComfyUI's own nodes, so no pip install dance. The one real dependency is Video Helper Suite (VHS): the graph uses VHS_VideoCombine when it's installed to encode an actual mp4, and silently falls back to SaveImage (a folder of PNGs) when it isn't. Install VHS through Manager first if you want files that look like videos.
Where people get burned
- No video file, just images. You're missing Video Helper Suite. That's the fallback path, and it's easy to miss because the node doesn't warn you.
- "Model not found." You picked an
image_modelthat isn't on disk - most likely one of the fake default names. Check the dropdown againstmodels/checkpoints. - Expecting motion. You won't get it, yet. The README talks about "fail-safe video orchestration" that falls back to "image frame-repetition" on failure - but that frame-repetition is the current implementation for every video model choice. SVD/LTX/Wan support is promised, not shipped.
- The README oversells validation. It describes a VRAM-checking engine that auto-downgrades your resolution on low-memory cards. That machinery exists in the repo's
core/modules, but the VdoFlashDirector's live path bypasses it and goes straight to the queue - so don't count on it watching your back (and don't expectbypass_validationto visibly change anything).
Set expectations, point it at a checkpoint you own, install VHS, and it does something genuinely neat: script in, storyboard video out from one node. Just know that for real SVD/Wan motion you'd still wire those pipelines by hand today.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| topic_script | STRING | β | |
| duration_seconds | INT | 10 | β |
| style_type | COMBO | 4 options: cinematic, anime, photorealistic, 3d_render | |
| video_resolution | COMBO | 1024 | 4 options: 512, 768, 1024, 1280 |
| aspect_ratio | COMBO | 16:9 | 3 options: 16:9, 9:16, 1:1 |
| fps | INT | 24 | β |
| image_model | COMBO | sdxl.safetensors | 2 options: sdxl.safetensors, realvisxl.safetensors |
| video_model | COMBO | svd | 4 options: svd, none, ltx-2, wan2.2 |
| seed | INT | 0 | β |
| bypass_validation | BOOLEAN | false | β |
| lightingopt | COMBO | soft | 4 options: soft, dramatic, neon, daylight |
| camera_motionopt | COMBO | dynamic | 4 options: dynamic, pan, zoom, static |
| continuity_modeopt | COMBO | last_frame | 3 options: last_frame, none, blend |
| continuity_strengthopt | FLOAT | 0.400β1 | β |
| output_formatopt | COMBO | mp4 | 3 options: mp4, gif, webm |
| reference_imageopt | IMAGE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| job_status | STRING | β |