Flex Image Horizontal To Vertical β‘π ‘π π £π
Turning landscape footage into Shorts/Reels format
- images
- opt_feature
- IMAGE
Every platform wants vertical video now, and most of your footage isn't shot that way. This node does the standard fix - scale the original clip down, center it in a vertical frame, and fill the empty space above and below with a stylized background instead of ugly black bars - and, being a Flex node, lets that fill or the scaling react to audio or motion instead of sitting static.
How it works
background_type is the main creative decision: blur (a blown-up, blurred copy of the same frame - the most common look, basically invisible as a technique), border (a flat color fill, controlled by border_color, black or white), mirror (reflects the edges of the frame outward), gradient, pixelate, or waves. blur_amount controls the blur background specifically. scale_factor (0.1β2, default 1) resizes the main foreground clip within the new vertical canvas - below 1 shrinks it (more background visible), above 1 crops in. effect_strength is a general intensity dial across the background effects, separate from blur_amount.
feature_param lets a connected feature drive blur_amount, scale_factor, or effect_strength (or None for no modulation) - a reasonable use is having the background blur intensity or the foreground scale pulse gently with audio, so the conversion doesn't feel completely static even though the source footage is. feature_mode, feature_threshold, and strength work as usual across the Flex family.
Inputs and outputs that matter
images- required, your horizontal source.background_type- pick this first; it determines what the rest of the settings actually control.scale_factor- how much of your original frame stays visible as the "main" content versus how much canvas goes to background.opt_feature(optional) - for animating the background subtly rather than leaving it frozen.
Output is a single IMAGE, at whatever vertical canvas size results from the conversion.
How to install it
Via ComfyUI Manager, search "RyanOnTheInside." Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
then restart. Pure image processing, no external model needed.
Common issues & troubleshooting
Output resolution isn't what you expected for TikTok/Shorts/Reels. This node reformats the frame's aspect ratio and layout, but it doesn't force a specific target resolution like 1080Γ1920 - check what canvas size it actually produces and resize afterward with a standard image-resize node if you need an exact platform spec.
Background looks obviously fake or distracting. blur is the safest default precisely because it's the technique your eye is most used to ignoring (every phone-shot vertical repost uses it). mirror, gradient, pixelate, and waves are more stylized and can pull attention away from the main content if effect_strength is too high - dial it back if the background is competing with your subject.
Main subject gets cropped awkwardly. scale_factor above 1 crops in on the frame rather than adding more background - if your subject sits near the edge of the original horizontal frame, cropping in can push it partially out of view. Keep scale_factor at or below 1 if your subject isn't centered in the source footage, or reframe the source before conversion.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| strength | FLOAT | 1.000β1 | Overall strength of the effect (0.0 to 1.0) Higher values create more dramatic changes, while lower values are more subtle. |
| feature_threshold | FLOAT | 0.000β1 | Minimum feature value to trigger the effect (0.0 to 1.0) Only applies the effect when the feature value exceeds this threshold. Lower values make the effect more sensitive, higher values make it more selective. |
| feature_param | COMBO | Choose which parameter to modulate: - blur_amount: Dynamically adjust background blur - scale_factor: Dynamically adjust image scaling - effect_strength: Dynamically adjust effect intensity - None: No parameter modulation | |
| feature_mode | COMBO | relative | How to apply the feature modulation: - relative: Changes are centered around the original value - absolute: Changes scale directly from zero to the maximum |
| images | IMAGE | Input image sequence to be processed (IMAGE type) | |
| blur_amount | FLOAT | 30.00.1β100 | Amount of blur for background when using blur effect (0.1 to 100.0) |
| background_type | COMBO | blur | Type of background effect ('blur', 'border', 'mirror', 'gradient', 'pixelate', 'waves') |
| border_color | COMBO | black | Color of the border when using border background type ('black', 'white') |
| scale_factor | FLOAT | 1.000.1β2 | Scale factor for the main image (0.1 to 2.0) |
| effect_strength | FLOAT | 1.000β2 | Intensity of the background effect (0.0 to 2.0) |
| opt_featureopt | FEATURE | Optional feature input for modulation Connect any feature node here to control the effect. Features can come from audio, motion, color, or other sources. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |