The two template sets shared one GRID_SUBJECTS list even though they load
different styles, so the "fully dressed"/"dressed" phrasing was leaking into
the FLUX set. That phrasing exists for Z-Image alone: the Renaissance style
compiles an empty negative and Z-Image has no negative channel to hold one.
Split it into ZIMAGE_GRID_SUBJECTS and FLUX_GRID_SUBJECTS, each with its own
demo subject. Z-Image's three are unchanged. FLUX gets three built around
props, spill and cast shadow.
The FLUX set also moves from Noir Low-Key Portrait to Raw Theatrical
Cinematic (azch4ptx-2ca7d3a07f37) — same reasoning as before (light over
brushwork, subject-agnostic, carries inspiration images), a style whose
staged-clutter identity suits the new subjects.
Known gap: the five FLUX template thumbnails still show the old style and
subjects. They need re-rendering in a follow-up.
The Renaissance style carries no guardrails, so it compiles an empty negative,
and Z-Image has no negative channel to put one in either. A style steeped in
classical painting therefore drifts to classical nudes on a neutral subject —
which is a poor look for a first-run demo and for the screenshots people take
of it. Positive phrasing in the subject is the only lever either model leaves,
so two of the three subjects now say so outright.
The grid also reads better: a dusk exterior, an interior, and an object with no
figure at all is a wider spread than three peopled scenes, and it makes the
"one style, unrelated subjects" claim harder to argue with.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1.0.2 shipped the thumbnails as .webp and the browser kept showing its
placeholder gradient. Custom node packs resolve a thumbnail as the workflow's
basename plus .jpg — that is the whole convention, and .webp is not part of it.
The .webp files Comfy-Org's own templates repo uses are declared in an
index.json that built-in templates have and custom packs do not.
JPEG cannot animate, so the loop stays in the README where it works, and each
template now gets a different frame from it. That is better than five identical
tiles: the browser becomes scannable rather than a wall of the same picture.
Also smaller — 133 KB for all five, against 318 KB of duplicated animation.
The folder name was never the problem: `workflows` is an accepted alternative
to `example_workflows`, which is why discovery worked while thumbnails did not.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The template browser showed a placeholder gradient for all five templates
because ComfyUI looks for a thumbnail with the same basename as the workflow
JSON and there wasn't one. Adds workflows/<name>.webp for each: a 7-frame loop
of one style applied to seven different subjects, which is the product claim
stated visually rather than in prose.
Thumbnails are 400x400 rather than the source 800x800 — 64 KB each instead of
339 KB. These install onto every user's machine, and 1.7 MB of artwork on a
78 KB pack is the wrong trade for pixels that render at a couple of hundred
pixels wide.
The README gains the full-size loop and a gallery shot. Both live in assets/
and are referenced by absolute URL, so GitHub and the Registry render them
while .comfyignore keeps the bytes out of the install.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Two things wrong on the Registry listing.
The description promised "reuse it across FLUX, SDXL, and SD1.5", which reads
as though the pack only targets those three. It is model-agnostic: a style
compiles for whatever target you pick, and FLUX and Z-Image are the models the
shipped templates happen to demo. Now matches the GitHub repo description. The
same model-specific phrasing is out of the README opening and the module
docstring; the Targets section still names models, which is factual there.
The icon pointed at https://styleref.io/icon.png, which 404s — hence the broken
image on the listing. Points at the 512x512 StyleRef mark instead. Its
background is opaque white rather than transparent, so a black mark stays
legible on the Registry's dark UI.
Metadata is read from the published version, so a release is the only way for
either fix to reach the listing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The version lived in three places and only one was enforced: pyproject (which
the Registry publishes and the release workflow checks the tag against), the
User-Agent this client sends, and __init__'s fallback for when pyproject cannot
be read. The other two could drift silently, and API telemetry would then
attribute traffic to a version nobody is running. Bumped together, with a test
that fails when they disagree.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
"Plugin" is not ComfyUI's vocabulary. What Manager installs into custom_nodes/
is a custom node pack, and what the Registry publishes is a "node" — so to
someone browsing the Registry, "plugin" reads slightly off-ecosystem, like
calling a VS Code extension an add-on. The README is the listing page, so the
wording is user-facing.
Replaces the eight occurrences with "node pack", "the nodes", or "this pack" as
each sentence reads best. "Extension" stays reserved for its narrow ComfyUI
meaning: the frontend JS registered via app.registerExtension, which is
web/styleref.js and nothing else.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The pack cited internal planning-doc items (plan P3-7, decision D1, plan
risk 9.2) that aren't public, leaving outside contributors with pointers
they can't follow. Each comment already states its reason; only the
dangling citation is removed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Load, Apply, Facets, Reference Images, and Login nodes for loading StyleRef
creative styles into ComfyUI graphs. Zero runtime dependencies.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>