Load + Resize Segment From Dir ??
Load a frame segment already sized for the sampler
- images
- width
- height
- batch_size
- report
If Load Images From Dir (Lite) is the "read frames from disk" node, Load + Resize Segment From Dir is the "read frames from disk and already have them at the right size" node. It's the two-step pipeline compressed into one: pull a segment of frames out of a directory, resize them all to your target resolution, and hand them to the sampler ready to go. For a long LTX-2 extension workflow where source frames arrive at arbitrary resolutions but the model wants a specific one, this removes a whole resize stage from the graph.
The default directory is iamccs_source_frames/source_video - the naming tells you this is the front door for source video frames you've pre-extracted, before they become latents.
How it works
It's a merger of the two patterns you've already seen in this pack. The selection half uses the same mode (all/from_start/from_end/range) with count, start_index, end_index, plus the linked overrides count_in/start_index_in/end_index_in. The resize half is exactly the KJ-style API from IAMCCS Image Resize Batch Safe:
width/height- target size.upscale_method- nearest-exact, bilinear, area, bicubic, lanczos (defaults to lanczos, the sharpest of the five).keep_proportion- stretch/resize/pad/pad_edge/pad_edge_pixel/crop/pillarbox_blur/total_pixels (defaultcrop).pad_color,crop_position,divisible_by- the usual finishing knobs.
And device (cpu/gpu, default cpu) lets you keep the resize off the GPU when you're tight on VRAM.
Outputs: images, plus width/height (the actual output size, post-divisible_by rounding) and batch_size - so downstream nodes can see exactly what they're getting without inspecting the tensor. There's also a report string summarizing the load and resize.
Why the combined node wins
Two reasons. First, fewer nodes and fewer wires - this pack is visibly designed for big graphs where every hop is noise. Second, and more subtly: doing the resize right after load means you resize once, not resize-then-reload. For a 500-frame source video, that's the difference between one pass and two.
Install
Same pack, same drill:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
or ComfyUI Manager → search IAMCCS, restart. No extra deps.
Gotchas
As with the loader, an empty directory errors out loudly - confirm the frames exist before blaming the node. And watch the resize modes: if your source is a mix of aspect ratios, stretch will distort some frames; crop (the default) is the safer pick for video, even if it does chop edges.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| directory | STRING | iamccs_source_frames/source_video | — |
| mode | COMBO | range | 4 options: all, from_start, from_end, range |
| count | INT | 91–100000 | — |
| start_index | INT | 00–100000 | — |
| end_index | INT | 90–100000 | — |
| width | INT | 5120–16384 | — |
| height | INT | 5120–16384 | — |
| upscale_method | COMBO | lanczos | 5 options: nearest-exact, bilinear, area, bicubic, lanczos |
| keep_proportion | COMBO | crop | 8 options: stretch, resize, pad, pad_edge, pad_edge_pixel, crop, +2 |
| pad_color | STRING | 0, 0, 0 | — |
| crop_position | COMBO | center | 5 options: center, top, bottom, left, right |
| divisible_by | INT | 20–512 | — |
| count_inopt | INT | 00–100000 | — |
| start_index_inopt | INT | 00–100000 | — |
| end_index_inopt | INT | 00–100000 | — |
| deviceopt | COMBO | cpu | 2 options: cpu, gpu |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| width | INT | — |
| height | INT | — |
| batch_size | INT | — |
| report | STRING | — |