Frontend 1.53+ adopts custom widgets placed in node.widgets into a
store-backed LegacyWidget. The custom ImageListWidget's value then reads
from the store, so uploaded images were never serialized ("images": "[]")
and the instanceof checks for drag/drop and paste stopped matching.
Keep the original "images" STRING widget as the stored value (hidden, same
position so old workflows load) and add a display-only "images_ui" widget
that reads and writes through it. Use an own-property marker instead of
instanceof.
Written against frontend 1.52.7 and 1.55.18 sources; not yet browser-tested.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Allows connecting IMAGE outputs from other nodes as reference latent
sources. Uses the KJNodes ImageBatchMulti pattern: an image_input_node_count
widget + "Update image inputs" button to dynamically add/remove input slots.
Node inputs are processed before uploaded images in the reference chain.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ReferenceChainConditioning: Takes multiple images via UI, scales them,
VAE encodes, and chains as reference latents into single conditioning
- ReferenceChainConditioningBase64: Same functionality but accepts
base64-encoded images for API usage
Features:
- Custom image list widget with drag-and-drop support
- ComfyUI-native styling
- Configurable scaling (megapixels) and upscale method
- Outputs first scaled image for preview/further processing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>