Nodes/ComfyUI-Sonder-Editor/Sonder Metadata Collector
ComfyUI Node

Sonder Metadata Collector

Stamp your generation settings onto every asset

By SonderSaid·Created about a month ago·Updated 12 days ago· 30
Sonder Metadata Collector
  • 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
label_0
label_1
label_2
label_3
label_4
label_5
label_6
label_7
label_8
label_9
label_10
label_11

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_0value_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.

CategorySonder/IO

Inputs (25)

NameTypeDefaultDescription
projectSONDER_PROJECT
value_0opt*
label_0optSTRING
value_1opt*
label_1optSTRING
value_2opt*
label_2optSTRING
value_3opt*
label_3optSTRING
value_4opt*
label_4optSTRING
value_5opt*
label_5optSTRING
value_6opt*
label_6optSTRING
value_7opt*
label_7optSTRING
value_8opt*
label_8optSTRING
value_9opt*
label_9optSTRING
value_10opt*
label_10optSTRING
value_11opt*
label_11optSTRING

Outputs (1)

NameTypeDescription
projectSONDER_PROJECT