InstantID Source Prepare Settings (JPS)
Frame the actual face photo InstantID reads
- imageprepare_settings
InstantID's identity pipeline reads from three genuinely different images, and this pack gives each one its own dedicated prep node: a mask (where the identity injection is allowed to apply), a pose reference (the composition InstantID's IdentityNet conditions on), and - this one - the source photo itself, the actual face ArcFace embeds and IdentityNet partly reads for identity. How that source photo is framed matters: too tight a crop, an off-center face, or a mismatched aspect ratio against your target canvas can all throw off the identity embedding before generation even starts. This node is the settings hub for fixing that.
The inputs that matter
resize_to- just two options here, "Resize to Target" or "Keep Size" (its Mask/Pose Prepare siblings both add a third "Resize to Source" choice this node skips). Whether the source photo gets scaled to match your target canvas or left at its original dimensions.offset_width/offset_height(-99 to 99) - nudge the crop position.crop_left/crop_right/crop_top/crop_bottom(0–90) - trim in from each edge independently.interpolation- lanczos, nearest, bilinear, bicubic, area, or nearest-exact. Lanczos is the safe default for a photographic face reference.sharpening(0–1, default 0) - a mild post-resize sharpen.flip- No, X-Axis, or Y-Axis, for mirroring the source photo if you need it facing a different direction.
Notice what's missing compared to its Mask Prepare and Pose Prepare siblings: no padding fields. That tracks with what this node is actually for - you're cropping and positioning a face for an identity embedding, not fitting it into a padded canvas the way you might for a mask or a composition reference.
Output: imageprepare_settings, typed BASIC_PIPE - JPS's own reused bundle label (a plain tuple, not Impact Pack's object of the same type name), meant for the matching InstantID Source Prepare Pipe (JPS).
Installing it
ComfyUI Manager: search JPS Custom Nodes for ComfyUI. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
Restart ComfyUI, removing any earlier copy of the pack first. This node needs no models itself, but the InstantID pipeline it feeds does - an InstantID checkpoint and InsightFace's ArcFace models, both released for research/non-commercial use only. Worth knowing before this ends up anywhere near a paid product. This is also a newer addition to the pack, so don't expect to find it in the published README's node list.
Where people get tripped up
If identity strength seems inconsistent between runs even with settings unchanged elsewhere, check how the source photo is actually being framed before touching InstantID's own weight sliders - a face that's cropped too tight, or one where resize_to/crop_* leave too much surrounding background relative to the face itself, gives ArcFace and IdentityNet a noticeably weaker signal to work from. Since there's no padding here, don't expect this node to help if your source image is smaller than your target canvas and you wanted it centered with blank space around it - that's what the Mask and Pose Prepare nodes are for; this one assumes you're working with the face itself, not fitting it into a larger frame. And remember this node only prepares data - the actual InstantID application happens in separate nodes elsewhere in your graph, none of which ship with this pack.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| resize_to | COMBO | 2 options: Resize to Target, Keep Size | |
| offset_width | INT | 0-99–99 | — |
| offset_height | INT | 0-99–99 | — |
| crop_left | INT | 00–90 | — |
| crop_right | INT | 00–90 | — |
| crop_top | INT | 00–90 | — |
| crop_bottom | INT | 00–90 | — |
| interpolation | COMBO | 6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact | |
| sharpening | FLOAT | 0.000–1 | — |
| flip | COMBO | 3 options: No, X-Axis, Y-Axis |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| imageprepare_settings | BASIC_PIPE | — |