Entity Sheet 2x2 (HuMoSet v7)
The fixed reference layout a specific multi-ref LoRA expects
- person
- clothing
- object_or_person2
- scene
- sheet
- n_refs
- debug
This node builds one very specific thing: a 1536x1024 image split into a 2x2 grid, where each quadrant means something fixed. It's not a general-purpose collage tool - it's the exact reference format the humoset_sheets_v7 multi-ref LoRA was trained on, per the node's own description, and the quadrant assignments aren't configurable because the LoRA learned them as a fixed convention. Get the quadrant meanings right and this LoRA has something coherent to work from; treat it like a free-form grid and it doesn't.
The four quadrants, and none of them are required
person(top-left) - person identity reference.clothing(top-right) - an isolated garment reference.object_or_person2(bottom-left) - either a held object or a second person, the node doesn't distinguish between the two at the input level.scene(bottom-right) - background/scene reference, with no people in it.
All four are optional, and leaving any of them empty just gives that quadrant a white fill rather than skipping the layout - the sheet is always assembled at the fixed 1536x1024 size regardless of how many of the four you actually supply.
The node's own guidance for how to use the result downstream is specific enough to just repeat directly: pair this with LTXIdentityOverlapConditioning (this pack's identity-transfer node), set layout=overlap, source_id=2, phase_scale=1.0, and - this part matters - ref_resize_mode=native_resolution. That last setting isn't optional in practice: the humoset_sheets_v7 checkpoint was trained on a fixed 1536x1024 reference resolution independent of the output video's size, and native_resolution is the mode built exactly for that case. Feed this sheet through match_target instead and you'll get a center-crop that mangles a carefully-composed 2x2 grid.
Outputs
sheet - the assembled composite image, always at 1536x1024. n_refs - an integer count of how many of the four quadrants you actually filled, useful if you want to gate downstream logic on "did I actually supply enough references." debug - a string, presumably confirming which quadrants got content versus a white fill.
Installing it
Search "ComfyUI-BFSNodes" in ComfyUI Manager, or install by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/alisson-anjos/ComfyUI-BFSNodes.git
cd ComfyUI-BFSNodes
pip install -r requirements.txt
Restart ComfyUI. This node itself is pure image compositing - no model needed to build the sheet - but the whole point of it is feeding a checkpoint trained specifically on this layout, so you'll want the humoset_sheets_v7 LoRA (or whatever compatible checkpoint expects this exact convention) loaded on your LTXV model downstream.
Where this goes wrong
The most likely mistake is using this sheet with a checkpoint that wasn't trained on the humoset_sheets_v7 convention - a generic identity-transfer LoRA has no idea that top-left means "person" and bottom-right means "scene," so you'd just be feeding it a busy composite image with no learned meaning attached to the quadrants. Second most likely: forgetting the native_resolution requirement downstream and letting LTXIdentityOverlapConditioning default to match_target, which crops the sheet to your output video's aspect ratio and very likely cuts off one or more quadrants entirely before the model ever sees them.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| personopt | IMAGE | Person identity reference -> TOP-LEFT quadrant. | |
| clothingopt | IMAGE | Garment reference (isolated clothing item) -> TOP-RIGHT quadrant. | |
| object_or_person2opt | IMAGE | Held object OR a second person -> BOTTOM-LEFT quadrant. | |
| sceneopt | IMAGE | Background/scene reference (no people) -> BOTTOM-RIGHT quadrant. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| sheet | IMAGE | — |
| n_refs | INT | — |
| debug | STRING | — |