Sonder Metadata Collector
Stamp your generation settings onto every asset
- project
- value_0
- value_1
- value_2
- value_3
- value_4
- value_5
- value_6
- value_7
- value_8
- value_9
- value_10
- value_11
- project
If you've used Sonder Editor for more than an afternoon, you'll hit the moment where you have twelve takes of the same scene and no memory of which settings produced which. Sonder Metadata Collector exists so that stops happening. You wire explicit upstream widget values into it, give each one a label, and the values ride along as tracked metadata on every asset the project generates. It's the "write down what you did" habit, automated.
ComfyUI already embeds the full workflow in its PNGs - the graph, the seed, the widgets - so in one sense this is redundant. But that embedded workflow is the whole graph, and digging a seed out of a 60-node workflow is a chore. The Collector's version is curated: you pick the handful of settings you actually care about (prompt, steps, CFG, LoRA strength, a note about which take concept this is), and they land in Sonder's asset metadata where the gallery can show them at a glance.
How it works
Wire the project output from a Sonder Editor in, then connect up to twelve value/label pairs. Each value_N socket accepts anything - string, int, float - and the matching label_N is the name it gets stored under. Give it a label or the metadata is near-useless; the labels are the entire point. The node passes the project out the other side unchanged, so you chain it inline between your editor and your save node.
The name to know here: the V1 collector, with its fixed twelve value_0…value_11 sockets, is the version that works on every ComfyUI build. If you're on a recent ComfyUI, there's a newer sibling - Sonder Metadata Collector Nodes 2.0 - with autogrowing inputs and cleaner labels. The pack deliberately keeps both, and the README is explicit that you should use the V3 one for new collectors and let the V1 stay for older installs.
Install and the practical bits
ComfyUI Manager search Sonder Editor, or git clone https://github.com/SonderSaid/ComfyUI-Sonder-Editor.git into custom_nodes, pip install -r requirements.txt, restart. No extra models, no heavy deps beyond the pack's usual set.
Where people get tripped up:
- Unlabeled values get collected under empty keys. Label everything you connect, or you'll have metadata rows you can't tell apart.
- It collects what's wired, not what's on the canvas. A widget you didn't convert to an input and connect isn't captured. The node can't see into sibling nodes' widgets; you have to wire them in.
- The project must flow through it. If you branch off and save from a different project output, the collector never sees that path.
If you're doing serious iteration - takes, upscales, regens - this is the node that makes the asset gallery actually useful instead of a pile of "output_00042". It's metadata for the human, not the machine, and that's exactly what it should be.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| project | SONDER_PROJECT | — | |
| value_0opt | * | — | |
| label_0opt | STRING | — | |
| value_1opt | * | — | |
| label_1opt | STRING | — | |
| value_2opt | * | — | |
| label_2opt | STRING | — | |
| value_3opt | * | — | |
| label_3opt | STRING | — | |
| value_4opt | * | — | |
| label_4opt | STRING | — | |
| value_5opt | * | — | |
| label_5opt | STRING | — | |
| value_6opt | * | — | |
| label_6opt | STRING | — | |
| value_7opt | * | — | |
| label_7opt | STRING | — | |
| value_8opt | * | — | |
| label_8opt | STRING | — | |
| value_9opt | * | — | |
| label_9opt | STRING | — | |
| value_10opt | * | — | |
| label_10opt | STRING | — | |
| value_11opt | * | — | |
| label_11opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| project | SONDER_PROJECT | — |