Add the inverse of the node's select behaviour. When the new optional keyframe_batch IMAGE input is connected, the node scatters a packed sequence back onto the source_frames positions (i-th frame -> i-th listed number, ascending), placeholder fill in between, at total_frames length. This closes the select -> process -> reconstruct loop: feed a processed selected_image_batch plus the same selected_frames list back in to rebuild the original spacing. The switch is wire-driven (source_batch and image1-4 are ignored while keyframe_batch is connected, with a console note); count mismatches and outside-cut positions are reported in the end-of-run summary. Placement logic is a pure, torch-free planner (plan_offset_placements) so it is unit-tested in CI, where torch is unavailable. Fully backward-compatible: unconnected keyframe_batch preserves the existing select path exactly. Tests: 10 new torch-free tests; full suite 630 passed, 1 skipped; preflight_release green. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
User Guide
End-user documentation for nodes shipped by ComfyUI-Koolook. Pages
mirror the ComfyUI category each node lives under, so the structure here
matches what you see when you type "koolook" in the node-add menu.
Each per-node page includes a Source block at the top that records whether the node is Koolook-native or imported from a fork — so fork attribution is visible without needing a fork-shaped directory tree.
Browse by category
| ComfyUI menu | Status | Nodes |
|---|---|---|
Koolook/Pipeline |
✅ EasyAIPipeline |
EasyAIPipeline |
Koolook/Image |
✅ EasyResize_Koolook · ✅ easy_ImageBatch |
EasyResize_Koolook, easy_ImageBatch |
Koolook/Wan_Video |
✅ EasyWan22Prompt |
EasyWan22Prompt |
Koolook/VAE |
✅ nodes/radiance_koolook_v2_3_3/ |
Easy_hdr_VAE_encode, Easy_hdr_VAE_decode |
Koolook/Video |
✅ Easy_LoadVideo · ✅ Easy_VideoCombine |
Easy_LoadVideo, Easy_VideoCombine |
Koolook/Utility |
✅ Easy_Utility |
Easy_Utility |
Koolook/Loop |
✅ Koolook_LoopStatus |
Koolook_LoopStatus |
Koolook/Testing |
✅ Easy_Pattern |
Easy_Pattern |
Koolook/PromptRelay |
✅ LTXDirector__koolook |
LTXDirector__koolook |
KoolookLoadCameraPosesAbsolute is intentionally omitted from the user guide
for now. It is a narrow CameraCtrl helper rather than a general public workflow
node.
Cross-cutting concepts
Pages here cover ideas that span more than one node:
- Kforge Labs sidebar guide — visual onboarding for Snapshots, favorite nodes, saved workflows, reusable modules, tags, and recovery.
- VAE encode/decode pairing — which encoder fields must match the decoder for a clean roundtrip, with worked examples for SDR / HDR / cinema-log / video workflows.
- HDR modes deep dive — what
Clip (SDR),Soft Clip,Compress (Log), andPassthroughactually do to your pixels before they hit the VAE, with per-pixel worked examples.
When to add a guide
A node deserves a page if it has any of:
- Non-obvious input semantics (e.g. aspect-ratio strings, frame indexing conventions).
- A workflow recipe more useful than the per-input tooltips.
- A known limitation or compatibility caveat.
- An encode/decode or input/output pairing relationship with other nodes.
Convention:
- One markdown file per canonical node ID, named after the ID
(
easy_hdr_vae_encode.md,easy_image_batch.md). - Place it in the folder that matches the node's ComfyUI category.
- Screenshots and helper images go in
img/, named to match the page they're embedded in (e.g.easy_hdr_vae_encode_pairing.png).
Where to find the canonical node ID list
The repo README.md lists the canonical public node IDs
and display names. Some compatibility aliases remain registered so older saved
workflows load, but new workflows should pick the canonical IDs documented
here. The historical inventory (including removed nodes) is in the
CHANGELOG.md.