Skip to content

Commit e0ad445

Browse files
sememtacclaude
andcommitted
README: document use_identifier + the generalized (EXIF-encoder) Workflow Fields; registry-published install
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 732dfc1 commit e0ad445

1 file changed

Lines changed: 34 additions & 19 deletions

File tree

README.md

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@ untouched). With one click, the bar can also point the image back at the
2525
fields** below.
2626
- `private` — comma-separated top-level field names to encrypt; empty + a
2727
password = encrypt everything.
28+
- `use_identifier` *(default on)* — honor the `identifier` below. Turn it **off** to
29+
ignore the identifier (content-address as usual) *without disconnecting the wire*
30+
handy when a Reserve ID is wired in but you want a fresh identity for this one run.
2831
- `identifier` — pin a reserved identifier (from **Mememage Reserve ID**, or paste a
2932
`<prefix>-<16 hex>`) to keep iterating **one** piece: each conceive overwrites the
30-
same record. Empty = content-addressed (a fresh identity per change). See
31-
**Iterating one piece** below.
33+
same record. Honored only when `use_identifier` is on. Empty = content-addressed
34+
(a fresh identity per change). See **Iterating one piece** below.
3235
- Outputs the **barred image** (wire it into Save Image), the **identifier**, and
3336
the **record** JSON (store it wherever you keep your data).
3437

@@ -122,13 +125,20 @@ reference decoder's password box) reveals them. Needs the crypto library:
122125
metadata; the settings live in the graph, which this node reads directly. It
123126
promotes the ones you toggle on into a clean **`generation`** field. Each param
124127
has its own on/off switch (all default on): **model, positive_prompt,
125-
negative_prompt, seed, steps, cfg, sampler, scheduler, denoise, loras** — so you
126-
emit exactly what you want. Wire it into a Mememage Fields node or into Encode.
127-
128-
The toggles are exact — an off param is never produced. *Finding* each value is
129-
best-effort over the standard SD/SDXL nodes; a custom sampler or exotic graph may
130-
leave a toggled-on param blank. *(Encode's `embed_workflow` still stores the
131-
entire graph as `comfy_prompt` regardless — this is the tidy, curated summary.)*
128+
negative_prompt, seed, steps, cfg, guidance, sampler, scheduler, denoise, loras**
129+
so you emit exactly what you want. Wire it into a Mememage Fields node or into Encode.
130+
(`cfg` and `guidance` are separate tags — a Flux guidance isn't a cfg.)
131+
132+
**How it finds them — think of it as EXIF for your render.** Rather than hunting for
133+
specific node *types* (which multiply endlessly), it harvests a fixed vocabulary of
134+
input *names* (`seed`/`noise_seed`, `steps`, `cfg`/`guidance`, `sampler_name`, …)
135+
onto those tags — so it maps the same whether you use **KSampler** or a **Flux
136+
custom-sampling** stack, and future samplers work for free. It follows wired values
137+
back to their literal (a seed driven from a primitive is captured, not blanked) and
138+
traces the conditioning graph for the prompt. Toggles are exact — an off param is
139+
never produced — and it **never guesses**: a param it can't confidently read is
140+
simply absent. *(Encode's `embed_workflow` still stores the entire graph as
141+
`comfy_prompt` regardless — this is the tidy, curated summary of it.)*
132142

133143
**Mememage Fields**`(field_1…field_N, base) → fields`
134144
- **Where your fields come together.** It holds no data itself — each field is
@@ -238,20 +248,21 @@ Drag either onto the ComfyUI canvas (or paste it with Ctrl+V) to populate the gr
238248

239249
## Install
240250

241-
```bash
242-
cd ComfyUI/custom_nodes
243-
git clone https://github.com/sememtac/mememage-comfy
244-
```
251+
**ComfyUI Manager (recommended).** Search **"Mememage"** in the Manager and click
252+
**Install** — it pulls the node and its `mememage` dependency (from `requirements.txt`)
253+
for you. Or use **Install via Git URL** with `https://github.com/sememtac/mememage-comfy`.
254+
Restart ComfyUI.
245255

246-
Then install the `mememage` core into **ComfyUI's** Python — the same interpreter
247-
ComfyUI runs (ComfyUI Manager does this for you from `requirements.txt`):
256+
**Manual (git).**
248257

249258
```bash
259+
cd ComfyUI/custom_nodes
260+
git clone https://github.com/sememtac/mememage-comfy
261+
# then install the core into ComfyUI's OWN python:
250262
<ComfyUI-python> -m pip install mememage
251263
```
252264

253-
Restart ComfyUI — the nodes appear under the **Mememage** category. (ComfyUI
254-
Manager / the registry will handle this automatically once published.)
265+
Restart ComfyUI — the nodes appear under the **Mememage** category.
255266

256267
## Test
257268

@@ -262,6 +273,9 @@ python test_nodes.py # structure checks always; the encode→decode
262273
# round-trip runs when torch is available
263274
```
264275

276+
CI (`.github/workflows/test.yml`) runs the full suite on every push and PR — so a
277+
broken change can't be tagged for the registry.
278+
265279
## What's in the bar
266280

267281
- **identifier***access*: a key to your record, stored anywhere (your server, a
@@ -277,15 +291,16 @@ Distributed through the **ComfyUI Registry** → **ComfyUI Manager** (one-click
277291
for users). It's the same rhythm as a PyPI release: bump the version, publish, users
278292
see an update in Manager.
279293

280-
**One-time setup** (like creating a PyPI account):
294+
**One-time setup** *done* (kept here for reference / re-setup):
281295
1. Sign in at **registry.comfy.org** with GitHub.
282296
2. Create a **publisher** whose id matches `PublisherId` in `pyproject.toml` (`catmemes`).
283297
3. Generate an **API key** for that publisher.
284298
4. Add the key to the `sememtac/mememage-comfy` repo as an Actions secret named
285299
**`REGISTRY_ACCESS_TOKEN`** (Settings → Secrets and variables → Actions).
286300

287301
**Each release:**
288-
- Bump `version` in `pyproject.toml`, commit, then `git tag vX.Y.Z && git push --tags`.
302+
- Bump `version` in `pyproject.toml`, commit (CI's `test.yml` runs the suite on the
303+
push), then `git tag vX.Y.Z && git push --tags`.
289304
- The `.github/workflows/publish.yml` action runs `comfy node publish` for you.
290305
- (Manual alternative: `pip install comfy-cli`, then `comfy node publish` from this folder.)
291306

0 commit comments

Comments
 (0)