Nodes/ComfyUI-VdoFlash/🎬 VdoFlash
ComfyUI Node

🎬 VdoFlash

A 'type a script, get a video' node that's really a one-node storyboard pipeline

By inboxabhishekΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 0
🎬 VdoFlash
  • reference_image
  • job_status
β—„topic_scriptβ€”β–Ί
β—„duration_seconds10β–Ί
β—„style_typeβ–Ύβ–Ί
β—„video_resolution1024β–Ί
β—„aspect_ratio16:9β–Ί
β—„fps24β–Ί
β—„image_modelsdxl.safetensorsβ–Ί
β—„video_modelsvdβ–Ί
β—„seed0β–Ί
β—„bypass_validationfalseβ–Ί
β—„lightingsoftβ–Ί
β—„camera_motiondynamicβ–Ί
β—„continuity_modelast_frameβ–Ί
β—„continuity_strength0.40β–Ί
β—„output_formatmp4β–Ί

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:

  1. It unloads every loaded model and empties the CUDA cache - it assumes it's the only thing running, and it wants a clean slate.
  2. It plans your script into scenes: one scene per 5 seconds of duration_seconds, minimum one.
  3. For each scene it builds a mini-pipeline - CheckpointLoaderSimple β†’ EmptyLatentImage β†’ CLIPTextEncode β†’ KSampler (euler/normal, cfg 7.0) β†’ VAEDecode - then joins every scene's output with ImageBatch nodes and hands the whole batch to VHS_VideoCombine for encoding.
  4. 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_status string.

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_model that isn't on disk - most likely one of the fake default names. Check the dropdown against models/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 expect bypass_validation to 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.

Category🎬 VdoFlash

Inputs (16)

NameTypeDefaultDescription
topic_scriptSTRINGβ€”
duration_secondsINT10β€”
style_typeCOMBO4 options: cinematic, anime, photorealistic, 3d_render
video_resolutionCOMBO10244 options: 512, 768, 1024, 1280
aspect_ratioCOMBO16:93 options: 16:9, 9:16, 1:1
fpsINT24β€”
image_modelCOMBOsdxl.safetensors2 options: sdxl.safetensors, realvisxl.safetensors
video_modelCOMBOsvd4 options: svd, none, ltx-2, wan2.2
seedINT0β€”
bypass_validationBOOLEANfalseβ€”
lightingoptCOMBOsoft4 options: soft, dramatic, neon, daylight
camera_motionoptCOMBOdynamic4 options: dynamic, pan, zoom, static
continuity_modeoptCOMBOlast_frame3 options: last_frame, none, blend
continuity_strengthoptFLOAT0.400–1β€”
output_formatoptCOMBOmp43 options: mp4, gif, webm
reference_imageoptIMAGEβ€”

Outputs (1)

NameTypeDescription
job_statusSTRINGβ€”