👤 人物特徵提取器
Turn a portrait into a reusable character description — by asking an LLM to look
- image
- feature_prompt
Keeping the same face across generations is the eternal problem, and the modern answer is the same one you'd use by hand: describe the face precisely and reuse the description. PersonFeatureExtractor is a helper node for exactly that, with a twist you should know about before you wire it up - it doesn't actually analyze the image itself. Feed it a portrait and it returns a prompt, a prompt for a vision LLM, instructing it to extract the person's features in structured Chinese: ethnicity, face shape, eyes/nose/mouth, makeup, hairstyle and color, accessories, and anything distinctive like glasses or marks.
How it works
The mechanism is a well-built handoff. The node takes your image and produces a feature_prompt - a fixed, careful extraction prompt (in Traditional Chinese) that walks a vision model through the exact list of features the author found matter for consistency. You then take that prompt, plus the original image, and feed both to a vision-capable LLM node - the pack's own GGUF_LLM or OpenAI Helper, or OpenRouter with a vision model. The LLM looks at the photo and answers with a compact description like "亞洲女性,瓜子臉,大眼睛雙眼皮,高挺鼻梁…" (roughly: Asian woman, oval face, big double-eyelid eyes, high nose bridge…).
So the actual workflow is:
Image → PersonFeatureExtractor → feature_prompt ─┐
Image ───────────────────────────────────────────┴→ GGUF_LLM / OpenAI Helper → description
That two-hop structure is the point: it keeps the "what to look for" logic reusable and consistent, instead of you typing a fresh extraction request every time.
Inputs and output
One input: image (IMAGE). One output: feature_prompt (STRING) - the extraction instructions for your LLM node. The node's own console messages even remind you to connect the image to the LLM too, which is the step people forget because the image input here looks like it should do the work.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/dseditor/ComfyUI-ListHelper
Restart ComfyUI; find it under DesignPack. No models or extra dependencies - it's pure prompt text. ComfyUI Manager: search "ComfyUI-ListHelper".
The honest take
The slightly counterintuitive design (image in, but no vision happens here) is actually a strength once you've done it once - it composes with whichever LLM setup you already have, local or cloud, rather than baking in a model. The outputs are in Traditional Chinese and meant for the pack's own photo-magazine pipeline: the description flows into PersonFeatureParser for cleanup, then into the magazine prompt injector as your character's features. If you want consistency without training a LoRA, this is the lightest path in this pack - just be ready for the LLM to be the quality gate. A weak or small model will give you a generic description that won't hold identity across generations; a strong vision model gives you the kind of specificity that does.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| feature_prompt | STRING | — |