ComfyUI Node

VRGDG RefMod Describe

Let a local vision model write your H3 reference description, then paste the vibe into the graph

By vrgamegirl19·Created about a year ago·Updated about 23 hours ago· 819
VRGDG RefMod Describe
  • refs
  • description
◄max_images6►
◄image_edge768►
◄concept_typeidentity►
◄instruction►
◄name_hint►
◄lm_studio_urlhttp://127.0.0.1:1234/v1►

A RefMod is built from reference images, and a RefMod also stores a written description of what those images show. That description doesn't generate anything by itself, but it's what makes the mod self-documenting, what feeds trigger_text, and what keeps you from staring at char_mod_final_v2.safetensors six weeks later with no idea which character it is.

Writing that description by hand is fine. Writing it well, consistently, for forty characters in a music video, is where it gets tedious. VRGDG RefMod Describe hands the job to the vision model you already have running in LM Studio and gives you a string back.

The important constraint, straight from the node's own description: it does not load or switch LM Studio models. It talks to whatever is already loaded at http://127.0.0.1:1234/v1. So the workflow is: open LM Studio, load a vision-capable model, start the local server, then queue the graph. If you skip that and expect the node to spin one up, you'll get a connection error and no description.

What you actually configure

refs is the only required wire - the H3_REF_LIST from VRGDG RefMod Image Picker. Everything else has a sane default.

concept_type is the one to think about, because it's not a label, it's the question. Twelve options: identity, clothing, clothing_men, clothing_women, background, style, pose_motion, object, prop, vehicle, creature, generic. Each maps to a different instruction with hard exclusions baked in. identity asks for age, build, face, hair, skin or fur colour, clothing and distinguishing marks, and explicitly tells the model to ignore backgrounds, poses, lighting and camera angle. clothing asks for the garment and explicitly forbids describing the person - no face, hair, skin, body, age or pose. style asks for medium, palette, line quality, shading, era - and forbids naming the specific characters or places, so the description can be applied to something new.

Men's and women's clothing are the same prompt as clothing; the split exists so your mod library can be tagged usefully. Pick honestly and you get a description that does one job. Pick generic and you get a mush of everything, which is what generic is for.

max_images defaults to 6 and spreads those evenly across your list rather than taking the first six - except for identity, which always keeps the first three images as close-ups before spreading the rest. That's a nice touch: if you put your three best face shots at the top of the picker, they're guaranteed to reach the model. image_edge (default 768) is the longest edge of what gets sent, so raising it costs tokens and time for detail the model probably won't articulate.

Optional: instruction replaces the built-in question entirely - useful when none of the twelve fit. name_hint appends The subject is: <your text>. to whatever prompt is used, which measurably helps when the subject is a named character rather than a random person. lm_studio_url is only for when LM Studio isn't on the default port.

Output is one STRING, description, wired into the description input of Create H3 RefMod.

Install

ComfyUI Manager → search vrgamedev, or:

cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl

Restart and hard-refresh. LM Studio is a separate application you install yourself, and this node reaches it over HTTP - you don't need llama-cpp-python or any of the pack's heavier requirements for it. (The pack does list llama-cpp-python; that's for its in-process local LLM tools, and it can try to compile on Windows. Not your problem unless you want them.)

The trap: it runs every time

This node declares itself as always-changed. There's no caching and no memo on the images. Queue the graph ten times and you make ten vision-model calls, ten times the latency, and - if your LM Studio model is the one holding VRAM - ten waits behind your sampler.

That's usually fine when you're building a set of RefMods and awful when you're iterating on prompt text with the node still in the graph. Decouple it: run the describe pass once, copy the string, and either wire it into a plain text node or bypass the describe node before you start rendering.

Also set expectations on quality. A local 7–12B vision model writes competent, slightly generic descriptions - good enough to identify the subject and unusable as literature. The known ceiling of local VLMs is real, and the people who've pushed hardest on it report that vision models just don't give them what they want for narrative work. For "what is this character," it's more than enough. If the model returns an empty string, the node raises rather than silently writing a blank description into your RefMod - check the LM Studio console, because that's where the actual error will be.

CategoryVRGDG/RefMod

Inputs (7)

NameTypeDefaultDescription
refsH3_REF_LIST—
max_imagesINT61–16How many of the images are sent to the model, evenly spread across the list.
image_edgeINT768256–2048Longest edge in px of the images sent to the model.
concept_typeCOMBOidentityWhat the images show. This decides what the model is asked to describe.
instructionoptSTRINGOptional. Leave empty to use the question for the chosen concept_type.
name_hintoptSTRINGOptional name or role of the subject, added to the instruction.
lm_studio_urloptSTRINGhttp://127.0.0.1:1234/v1—

Outputs (1)

NameTypeDescription
descriptionSTRING—