Nodes/S42 CutFlow/✂ S42 CutFlow Crop & Pad
ComfyUI Node

✂ S42 CutFlow Crop & Pad

16 Hustle: Reformatting AI Video for Every Platform

By GeekyGhost·Created 6 months ago·Updated 4 months ago· 3
✂ S42 CutFlow Crop & Pad
  • clip
  • clip
  • frame_count
  • info
modeaspect_ratio
target_width0
target_height0
ratio_preset16:9
pad_color#000000

Every AI video model generates at whatever resolution it was trained on - 768×512, 1024×576 - and almost none of those match where you're actually going to post. TikTok wants 9:16, Instagram wants 1:1, YouTube wants 16:9, and your favorite film has that cinematic 2.35:1 thing going on. S42CF_CropPad is the S42 CutFlow node that performs that conversion inside the graph, no external NLE required.

The modes

The mode dropdown is where the whole node lives, and it defaults to the smart one:

  • aspect_ratio (default) - pick a ratio_preset (16:9, 9:16, 4:3, 1:1, 21:9, 2.35:1, or keep) and it figures out the best fit automatically.
  • crop - cut to exact target_width / target_height pixels. Cropping loses edges, so frame your subject with headroom.
  • pad_letterbox - add bars top and bottom to hit a target, keeping all your pixels.
  • pad_pillarbox - same idea but bars on the sides (this is your 16:9 → 9:16 vertical move, or the "this is a wide video displayed on a phone" look).

When you specify target_width and target_height, leaving one at 0 means "derive it from the ratio preset." pad_color is the bar color in hex - black by default, and honestly that's usually what you want.

What actually matters to a beginner

Two things. First, know whether you're cropping or padding before you click. Cropping a 16:9 clip to 9:16 by slicing the sides kills the composition - the safe path is usually pad to vertical, or regenerate at a vertical resolution if it's a hero shot. Second, this node sits perfectly in the "prepare for delivery" position: load video → trim → grade → CropPad → export. It works on standard IMAGE batches, so it plays with any VHS/GGF loader on the front and any video saver on the back.

You get clip (the reformatted frames), frame_count, and info out the back. That info string tells you what dimensions it actually produced, which is a small but genuine sanity check - wire it into a Show Text node if you're ever unsure the preset did what you expected.

Install

S42 CutFlow is one pack, one install. ComfyUI Manager → search "S42 CutFlow" → Install → restart ComfyUI. The manual route:

cd ComfyUI/custom_nodes/
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt

Then restart completely and confirm the console prints [S42 CutFlow] Loaded 53 total nodes. CropPad is pure PIL/numpy - no models, no VRAM, nothing to download. The one real dependency for the whole pack is OpenCV (opencv-python-headless in the requirements file), and the README's own troubleshooting section just tells you to pip install opencv-python if you ever see "No module named 'cv2'."

One small warning from the author's own notes: this pack is a work in progress being groomed for LTX Desktop, so while the core composition nodes are stable, don't be surprised if an expanded node's widget set shifts in an update. CropPad itself is about as static as they come.

CategoryS42 CutFlow/Composition

Inputs (6)

NameTypeDefaultDescription
clipIMAGEVideo clip to crop or pad.
modeCOMBOaspect_ratio'crop' = cut to exact dimensions. 'pad_letterbox' = add black bars top/bottom. 'pad_pillarbox' = add black bars left/right. 'aspect_ratio' = auto-detect best fit for target ratio.
target_widthINT00–8192Target width in pixels. 0 = derive from ratio.
target_heightINT00–8192Target height in pixels. 0 = derive from ratio.
ratio_presetCOMBO16:9Aspect ratio preset. 'keep' = don't change ratio. Used when target_width or target_height is 0.
pad_colorSTRING#000000Padding/letterbox color (hex). Click swatch to pick.

Outputs (3)

NameTypeDescription
clipIMAGE
frame_countINT
infoSTRING