PIA Input [Multival] ππ π β‘
Hand-tuning how strongly PIA follows your image
- multival
- PIA_INPUT
PIA (Personalized Image Animator) needs to know how strongly each frame should stick to your reference image versus drifting off into whatever the motion model wants to do. The README calls that value the pia_input, and says you can get it two ways: the paper's own canned presets, or by "manually entering values" - this node is the manual route. It's a thin wrapper: take a MULTIVAL you've already built elsewhere, and repackage it as the specific PIA_INPUT type the PIA Apply node expects.
Why a wrapper node exists at all
AnimateDiff-Evolved's Multival system is one flexible value type - a float, a mask, or a list of floats - that gets reused across the whole pack for strength dials: motion scale, effect strength, camera-control strength, and now, PIA's image-adherence strength. But different consumers in the pack expect their own named type rather than a bare MULTIVAL, so they don't accidentally get plugged into the wrong slot. This node is that type-matching step for PIA specifically: build your strength value with whichever Multival-producing node fits your case (a flat float, a masked value, or a per-frame list), then convert it here.
That means everything you already know about Multivals carries straight over. Want the same adherence strength across the whole clip? Feed in a flat float-based Multival. Want stronger adherence in one region of the frame and looser elsewhere? Feed in a mask-based one instead.
The one input that matters
multival(required,MULTIVAL) - the strength value to use for PIA's image-following behavior, built upstream by whichever Multival node matches what you're trying to do.
Output is a single PIA_INPUT, which only fits one place: the pia_input slot on the PIA Apply node (Apply AnimateDiff-PIA Model), alongside your motion model, reference image, and VAE.
How to install it
ComfyUI Manager: search AnimateDiff Evolved, author Kosinkadink, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
then restart. This node itself needs no model download - it's pure value plumbing. The actual PIA checkpoint (pia.ckpt, from Leoxing's HuggingFace repo) is injected earlier in the chain, on Inject PIA into AnimateDiff Model.
Common issues & troubleshooting
Not sure what value to actually put in the Multival you're feeding this. The README doesn't spell out exact numeric conventions for PIA's adherence strength beyond pointing at the paper's presets as the reference case - if you're unsure where to start, try PIA Input [Paper Presets] first to see what the authors' own tuned values produce, then switch to this node once you know roughly what range you're working in and want finer or spatially-varying control.
The reference image seems to be getting ignored regardless of what you set here. Before assuming this node is the problem, check the more common failure points first: that PIA was actually injected into your motion model upstream, that your sampling settings use the autoselect or sqrt_linear (AnimateDiff) beta_schedule the README requires for PIA, and that the image and VAE are correctly wired into the Apply node.
This whole corner of the pack feels under-documented. It is - PIA support gets essentially no community discussion even by this pack's already-niche standards. You're working from the README and experimentation here more than from a body of existing write-ups, so treat your first few runs as calibration rather than expecting to nail the right value on the first try.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| multival | MULTIVAL | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| PIA_INPUT | PIA_INPUT | β |