Isaac's Weights List to Weights
The one-element grab from Isaac's Nodes
- weights
Weights List to Weights is the most baffling node in Isaac's Nodes when you first meet it, and the most useful once you understand what it's for. It takes a list of floats and hands back just the first one. That's the entire job: weights_list[0]. No averaging, no indexing dial, no way to pick which element. Just "give me the first weight."
Sounds useless until you remember how ComfyUI actually treats lists. When you've got a list of per-frame weights - say, from Isaac's Amplitude To Weights, which converts an audio amplitude curve into a float list - a lot of downstream nodes want one weight at a time, not the whole batch. If you're processing audio in segments or frames and your workflow hands you the full list every tick, this node is how you pluck the current value out and feed it to something that only accepts a single float.
How it works
The source is as short as it gets:
def execute(self, weights_list):
return (weights_list[0],)
The input weights_list is typed as FLOAT in the schema, but it's really expected to be a list of floats - the subscripting in the code is the giveaway. Feed it the list output from Amplitude To Weights (or any compatible float list) and you get back a single weights float: the first element.
The one-input/one-output shape is deliberate. It slots into audio-reactive AnimateDiff workflows where you've converted your music's amplitude into weights and need to drive a single per-frame parameter - ControlNet strength, AnimateDiff motion amount - with one value at a time. In that context, "grab the first weight" is exactly the operation you want when your pipeline is iterating over frames.
Inputs and outputs
- weights_list (required) - a list of floats. In practice, the
weightsoutput of Isaac's Amplitude To Weights, or any node handing you a float list. - weights - a single
FLOAT, the first element of that list.
How to install it
Same pack, same install. ComfyUI Manager → Install Custom Nodes → search "Isaac's Nodes" (or ComfyUI_IsaacNodes) → install → restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/iemesowum/ComfyUI_IsaacNodes
cd ComfyUI_IsaacNodes
pip install -r requirements.txt
Then restart ComfyUI. Like the other helper nodes here, this one is pure Python - the pack's openunmix[stempeg] dependency is for the audio unmixer, not for this.
Common issues
The only way to be genuinely confused by this node is to expect it to behave like an index selector. It can't pick element 3 or 7 or the last one - it takes the first, full stop. If you need indexed access, this isn't the node; reach for a proper list-index utility.
Also worth flagging: because it returns the first element, its behavior depends entirely on the order your list arrives in. If the list feeding it isn't in the order you think, you'll get a "wrong" weight with no error to tell you so. Double-check what's upstream before you blame the node. It's a tiny utility with a single trick - and for pulling one weight out of an amplitude-derived list, it does exactly that.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| weights_list | FLOAT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| weights | FLOAT | — |