ComfyUI Node
kubakub region video sampler (ltx)
Animate chosen regions of a still: only regions with animate = on move, the rest of the facade stays still (LTX 2.x distilled). Regions sharing video_prompt, t_start / t_end and motion form one clip; each clip runs on its crop (LTX grid), the rest of the crop is held by the noise mask, the first frame is the still, and the result is pasted back into the untouched still frame by frame, so the facade stays pixel exact. Plan keys: animate, video_prompt, t_start, t_end, motion.
kubakub region video sampler (ltx)
- model
- clip
- vae
- audio_vae
- plan
- image
- upscale_model
- enhance_clip
- background
- audio
- frames
- report
- fps
- audio
- mask
◄frames121►
◄fps25.00►
◄seed42►
◄stage1_mp0.20►
◄context_px64►
◄feather_px6►
◄output_scale0.50►
◄negativecamera movement, zoom, pan, shaky, morphing facade, blurry, low quality, text, watermark►
◄only►
◄save_folder►
◄filename_prefixregion_video►
◄stage2_max_mp0.60►
◄enhance_promptfalse►
◄loopfalse►
Categorykubakub/2d/motion
Inputs (24)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | LTX 2.5 22B distilled (UNETLoader). | |
| clip | CLIP | Gemma text encoder for LTX (CLIPLoader, type ltxv). | |
| vae | VAE | LTX video VAE. | |
| audio_vae | VAE | LTX audio VAE (the model is audio-video; without the audio input the audio stays silent). | |
| plan | KUBA_PLAN | From kubakub region plan: animate = on, video_prompt, t_start, t_end and motion say which regions move and how. | |
| frames | INT | 1219–1025 | Video length in frames; rounded up to 8k + 1. Ignored when background is connected (the video is as long as the background). |
| fps | FLOAT | 25.001–120 | Frame rate of the video (the plan's t_start / t_end are in seconds). |
| seed | INT | 420–18446744073709550000 | Noise seed; each clip adds its number, so clips differ. Change it for another take. |
| stage1_mp | FLOAT | 0.200.05–4 | Megapixels of each clip in the first stage (x2 per side with the upscaler). |
| context_px | INT | 640–2048 | Still around the regions each clip sees. |
| feather_px | INT | 60–256 | Soft edge when pasting back; beyond it the still is untouched. |
| output_scale | FLOAT | 0.500.05–1 | Size of the IMAGE output (a 4K batch of 121 frames needs 12 GB RAM); use save_folder for the full-size frames. Ignored when background is connected (the frames keep the background's size). |
| imageopt | IMAGE | The still (matrix size), e.g. frame in frame + region sampler result. Not needed (and not used) when background is connected. | |
| upscale_modelopt | LATENT_UPSCALE_MODEL | LTX latent spatial upscaler x2: adds a sharper second stage. | |
| negativeopt | STRING | camera movement, zoom, pan, shaky, morphing facade, blurry, low quality, text, watermark | What the clips should avoid (one negative prompt for all clips). |
| onlyopt | STRING | Only these animated regions, in plan syntax: names with wildcards ('W_F1_*'), 'group:Windows', 'tag:front', comma = or; empty = all. | |
| save_folderopt | STRING | Write every frame at matrix size as PNG (an image sequence for After Effects). | |
| filename_prefixopt | STRING | region_video | Start of the PNG names in save_folder (<prefix>_00000.png ...). |
| stage2_max_mpopt | FLOAT | 0.600.1–8 | Cap for the second stage (4x the stage-1 pixels): stage 1 shrinks to fit. 0.6 MP x 121 frames is safe on a 12 GB card; 1.8 MP crashed it. |
| enhance_promptopt | BOOLEAN | false | Expand each clip's video prompt with a writing text encoder (enhance_clip) and core's LTX prompt instructions, looking at the clip's first frame. |
| enhance_clipopt | CLIP | A text encoder that can write, e.g. qwen3.5_9b ... pe_i2i (CLIPLoader type qwen_image). The Gemma 4 LTX int8 encoder cannot generate text. | |
| backgroundopt | IMAGE | A video to animate into instead of the still (e.g. the director's frames): clips start at their region's t_start and continue its frames; everything else of the background plays as it is. | |
| loopopt | BOOLEAN | false | Each clip comes back to the still and its last frame is its first frame, so the video can repeat. The motion has to return within the clip, so it is calmer near the end. On a still only, not into a background video. |
| audioopt | AUDIO | A sound the clips are sampled with (held as it is). With an audio-reactive LoRA on the model and its trigger words in video_prompt the regions move with the sound. The frames carry no sound: add the same audio in Create Video. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | The video at output_scale. |
| report | STRING | Clips, frames, stages and time, one line per clip (size, time range, cache, prompt). |
| fps | FLOAT | The frame rate (frames per second), passed through for Create Video. |
| audio | AUDIO | The connected audio cut or padded with silence to the length of the frames; silence of that length when no audio is connected. |
| mask | MASK | The regions that were animated, as one mask at the size of the frames (white = moves at some time in the video). |