Nodes/Chaosaiart-Nodes/🔶 KSampler txt2video v1
ComfyUI Node

🔶 KSampler txt2video v1

The no-start-image version of Chaosaiart's frame animator

By chaosaiart·Created 2 years ago·Updated about a year ago· 117
🔶 KSampler txt2video v1
  • activ_frame
  • model
  • positive
  • negative
  • vae
  • zoom_frame
  • Info
  • IMAGE
  • SAMPLER
◄Image_Mode▾►
◄Image_Size▾►
â—„seed_main-1â–º
◄seed_mode▾►
â—„fixedMode_Splitte_by0.50â–º
â—„fixedMode_seed_first_Img-1â–º
â—„steps25â–º
â—„denoise0.70â–º
â—„cfg8.0â–º
◄sampler_name▾►
◄scheduler▾►

Same frame-by-frame animation trick as KSampler img2video v1 - no motion model, chained img2img generating one frame from the previous one, cheap on VRAM because nothing holds more than a single frame's latent at once - but this version starts from nothing instead of a source image. There's no start_Image input on this node at all; frame one has to be generated from pure noise before the chain can begin, and the fields here reflect that extra step.

How it's different from the img2video version

The tell is in the two seed fields. seed_main (default -1) is the seed used for the ongoing chain once it's running, same role as seed_start on the img2video sampler. But there's a second, separate fixedMode_seed_first_Img (default -1) - a seed dedicated purely to generating that very first frame, before there's any previous output to img2img from. That split makes sense once you notice it: frame one has nothing to denoise partially from, so it needs a real txt2img-style generation (full denoise) with its own seed, while every frame after it needs the img2img-style low-denoise continuation the rest of the pack uses.

seed_mode here only has two options - fixed: denoise=denoise || denoise=1 and increment - simpler than the five-way fixed-offset choice on the img2video sampler. Paired with it is fixedMode_Splitte_by (default 0.5), which reads as the point where the sequence hands off from "generate frame one fully" to "continue the chain at the working denoise value" - the same kind of fixed-offset idea the img2video sampler's 0.50 - SD1.5 seed mode uses, just exposed as its own tunable number instead of baked into a named preset.

Everything else follows the same shape as the rest of the pack's animation and KSampler nodes: activ_frame (required, ACTIV_FRAME, from the restarter's output - the same frame-sync mechanism used across the pack), model, Image_Mode/Image_Size for target resolution (no Img2img_input_Size here, since there's no source image to fit), steps (default 25), denoise (default 0.7), cfg (default 8), sampler_name, scheduler, positive/negative, vae, plus the optional zoom_frame (ZOOM_FRAME) for a pan/zoom effect. Outputs: Info, IMAGE, and SAMPLER (LATENT).

Why you'd reach for it

Pick this over the img2video sampler when you don't have - or don't want - a specific starting image and are happy letting the checkpoint generate the first frame from your prompt alone. Everything downstream of frame one works the same way either version: fixed-offset, low-denoise continuation to hold the sequence together, at the cost of manually managing drift the way a real motion model wouldn't require. As with its sibling, this predates and is outpaced by proper video diffusion models on quality and coherence - it's worth using specifically for the VRAM ceiling it sidesteps, on hardware or checkpoints (SD 1.5-class) that a real video model wouldn't fit.

Installing and troubleshooting

Install through ComfyUI Manager (search "Chaosaiart-Nodes," or "Install via Git URL" with https://github.com/chaosaiart/Chaosaiart-Nodes) or manually, git clone-ing into custom_nodes and restarting. Linux needs pip install opencv-python and pip install tqdm (venv active first); Windows has a bundled Install_windows script.

If your first frame looks nothing like the rest of the sequence, that's expected - it's generated differently (full denoise, its own seed) by design, not a bug to chase. If the whole sequence drifts in color or detail over many frames, that's the same VAE-cycle degradation every chained-img2img technique in this pack fights; the Adjust Color node is your manual correction knob for it. And if this sampler and an image batch loader elsewhere in your graph seem out of step, confirm both are wired to the same restarter's ACTIV_FRAME output rather than each tracking its own count. This is a small, mostly solo-maintained pack with little recent community activity, so for anything that doesn't match this description, check the GitHub issues page before assuming it's you.

Category🔶Chaosaiart/animation

Inputs (17)

NameTypeDefaultDescription
activ_frameACTIV_FRAME—
modelMODEL—
Image_ModeCOMBO3 options: Widht = Height, Widescreen / 16:9, Portrait (Smartphone) / 9:16
Image_SizeCOMBO4 options: 360p, 480p, HD, Full HD
seed_mainINT-1-1–18446744073709550000—
seed_modeCOMBO2 options: fixed: denoise=denise || denoise=1, increment
fixedMode_Splitte_byFLOAT0.500–1—
fixedMode_seed_first_ImgINT-1-1–18446744073709550000—
stepsINT250–10000—
denoiseFLOAT0.700–1—
cfgFLOAT8.00–100—
sampler_nameCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
schedulerCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3
positiveCONDITIONING—
negativeCONDITIONING—
vaeVAE—
zoom_frameoptZOOM_FRAME—

Outputs (3)

NameTypeDescription
InfoSTRING—
IMAGEIMAGE—
SAMPLERLATENT—