Mememage Fields
Where your Mememage fields come together
- fields
Another naming collision you should get out of the way early: the class is MememageFieldList, but ComfyUI shows it as "Mememage Fields" - the node your fields go into. It holds no data of its own. Each field is defined on a Mememage Field node and wired into one of this node's field_* inputs; this node just merges them into one bundle for Mememage Encode. It's the gatherer, the junction box.
How it works
field_1…field_8- wire a Mememage Field node'sfieldsoutput into each. Later inputs override earlier keys, so wire your "override" fields to the higher numbers. The plugin's web extension starts you with one input and grows them via + add field (and auto-grows when you connect the last one); if the extension doesn't load, the node still works - the whole pool of inputs just shows up front and you wire into as many as you need.base- an optional upstream fields object, merged first. This is the slot for a Mememage JSON node (a whole block of existing JSON) or a Mememage Workflow Fields node - so "hand-built fields override the automated ones" falls out naturally from the merge order.
The single output, fields, wires straight into Encode's fields socket. That's the whole circuit: Field nodes define the data, this node gathers it, Encode stamps it.
The merge order in one line: base first, then field_1 through field_N in order, later overriding earlier. If two sources define the same key, the last one wins - no errors, no collision warnings.
When to reach for it
You use this node the moment you have more than one hand-entered field. One field, you could wire a single Mememage Field straight into Encode. Two or more, or any mix of hand-entered plus automated (Workflow Fields) plus a JSON blob (Mememage JSON), and this is the hub they all land in. It's also the node that pairs most naturally with Mememage Workflow Fields - let that node harvest the generation params off the graph, then merge your own fields on top here.
Installing it
Same pack, same routine. ComfyUI Manager → search "Mememage" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/sememtac/mememage-comfy
<ComfyUI-python> -m pip install mememage
Restart, and it's under Mememage/Fields (listed as "Mememage Fields"). No models, no keys.
Common issues
- "The + add field button isn't there." The growing inputs are drawn by the pack's web extension (
web/mememage.js). If it failed to load - version mismatch, a frontend that broke its hook, or you're rendering on a remote backend - the node still functions, but the whole pool of eight inputs shows at once. Wire into what you need; the merge order still holds. - "Two fields with the same key." Later wins, silently. If the override isn't landing, check the wiring order - the higher
field_Ninputs override the lower ones. - "Which 'Fields' node is this again?" The three siblings: Mememage Field (one key/value), "Mememage Fields" /
MememageFieldList(this, the gatherer), and "Mememage JSON" /MememageFields(paste a whole object). After one workflow you'll have them straight; before that, the tooltips carry the distinction.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| baseopt | STRING | Optional upstream fields object, merged first (wire a Fields node's output here). | |
| field_1opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_2opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_3opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_4opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_5opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_6opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_7opt | STRING | Wire a Mememage Field node's `fields` output here. | |
| field_8opt | STRING | Wire a Mememage Field node's `fields` output here. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| fields | STRING | — |