Frame Select Latent Raw
Pull one frame out as a latent
- frames
- latent
A plumbing node for RES4LYF's video and temporal workflows. Frame Select Latent Raw takes a batch of image frames, picks one by index, and hands it downstream as a LATENT. The "raw" in the name is the giveaway: it wraps the frame's tensor directly into the latent slot rather than doing anything clever, so it slots into the pack's latent-space machinery - guides, unsampling, frame-by-frame conditioning.
You'll see this in Wan and video-to-video setups where you need to grab a specific frame - the first one to seed a continuation, a keyframe to use as a guide, a particular frame to inspect or reprocess - and feed it into a node that expects a latent.
How it works
You give it a stack of frames (an IMAGE batch) and an index. It selects that one frame and outputs it as a LATENT. It's a picker plus a wrapper: no VAE encode, no resizing, just "take frame N and pass it along in latent form." Because it's raw, whatever's downstream is responsible for making sense of the tensor - which in RES4LYF workflows is exactly the point.
The inputs and outputs that matter
Just two inputs, and only one you'll think about:
frames(IMAGE) - the batch to pick from, typically the frames of a video or a multi-image batch.select(default0) - the index of the frame you want. Zero-based:0is the first frame,1the second, and so on. This is the knob.latent(LATENT, output) - the chosen frame, wired into whatever latent input needs it.
How to install it
ComfyUI Manager: search RES4LYF, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF
cd RES4LYF
pip install -r requirements.txt
Portable ComfyUI: use the embedded pip. Restart, hard-refresh with F5. No downloads.
Common issues & troubleshooting
Off-by-one on the frame. The index is zero-based. If you wanted the 10th frame, set select to 9. Getting the last frame means knowing your batch length and subtracting one.
Index past the end. Ask for a frame that doesn't exist (a select higher than the number of frames) and you'll get an error or the wrong result. Check how many frames are actually in your batch first.
The output looks wrong when I decode it. This is a raw latent wrapper aimed at the pack's internal latent flow, not a general "image → latent" converter. If you're trying to turn a picture into a proper latent for normal sampling, you want a VAE Encode, not this. Use this node when a RES4LYF workflow specifically calls for a raw frame latent.
It's niche. If you're not doing video, temporal conditioning, or a guide workflow that needs a single frame in latent form, you probably don't need this node at all. It's a connector for a specific job, not a general utility.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| frames | IMAGE | — | |
| select | INT | 00–10000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |