Extend Factor Parameters [LP]
Extending Inpaint Crop's area asymmetrically per side
- extend_factor_data
Separate from the pack's four Cropped*SizeParameters nodes - those decide how big the crop is overall; this one controls how far it's allowed to extend past the mask in each of the four directions independently. It produces its own distinct parameter bundle (EXTENDFACTORDATA, not CROPPEDSIZEDATA), which is the tell that it's a second, separate configuration input on InpaintCrop-LP, not an alternative to the sizing nodes.
Why extend asymmetrically at all
The pack's Inpaint Crop node already grabs some context beyond the mask by default - that's normal and necessary so an edit model has surrounding pixels to blend against. But a single uniform extension amount doesn't fit every situation. Outpainting a portrait to add headroom above someone's head needs more extension upward than downward. Widening a landscape for a panoramic feel needs extension left and right, not up and down. This node exists precisely so you're not stuck with one blanket multiplier in every direction - you can push the crop area further out on the sides that need it and leave the others alone.
The inputs and outputs that matter
- extend_up_factor, extend_down_factor, extend_left_factor, extend_right_factor - each a FLOAT, default
1, range 0.01–100. A factor of1means no extra extension beyond whatever the base crop area already covers in that direction; values above1push further out that way, values below pull in. - Output - extend_factor_data (
EXTENDFACTORDATA), a bundle meant for whichever input onInpaintCrop-LPaccepts per-direction extension settings, distinct from the sizing pin theCropped*SizeParametersfamily feeds.
How to install it
ComfyUI Manager: search "ComfyUI Level Pixel" or ComfyUI-LevelPixel, install, restart - updates automatically via Manager's "Update ALL." Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git
Restart ComfyUI. No models, no extra dependencies.
Common issues & troubleshooting
You wired this in and nothing about the crop changed. Confirm the output is actually connected to InpaintCrop-LP's extend-factor input, not accidentally left dangling or plugged into the wrong pin - this node and the Cropped*SizeParameters nodes produce different bundle types (EXTENDFACTORDATA vs CROPPEDSIZEDATA) and are not interchangeable, so they need to go into their own separate, correctly-typed slots.
The crop is extending more on one side than you set. Double-check you didn't mix up which factor controls which direction - extend_up_factor and extend_down_factor are independent of each other, and it's an easy mistake to raise the wrong one when you're aiming for "more room above the subject" and actually adjust the bottom factor instead.
You want one uniform extension in all directions, not per-side control. If a single blanket amount is all you need, you likely don't need this node at all - check whether InpaintCrop-LP already exposes a simpler uniform extend setting for that case, and save this one for when the four directions genuinely need to differ.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| extend_up_factor | FLOAT | 1.000.01–100 | — |
| extend_down_factor | FLOAT | 1.000.01–100 | — |
| extend_left_factor | FLOAT | 1.000.01–100 | — |
| extend_right_factor | FLOAT | 1.000.01–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| extend_factor_data | EXTENDFACTORDATA | — |