凤希AI - 角色资源图片选择器
Pick character reference images from the library right on the node
- 图片列表
- 总数量
The pack's character workflow has a library (FxAiCharacterAssets), a loader (FxAiCharacterAssetsLoad), and a batcher (FxAiCharacterBatchLoad) - and the selector is how you tell the graph which assets you actually want. FxAiCharacterImageSelector (凤希AI - 角色资源图片选择器) renders a small picker on the node where you browse the pack's fxai/image library, tick the character images you want, and it loads them into the graph as an IMAGE list. It's the human-in-the-loop node: you decide the reference set for this scene, right there on the canvas.
How it works
Under the hood it's elegant and a little sneaky. The visible input, 图片列表, is a STRING with layout: hidden - you're not meant to type in it. A custom JS frontend fills it for you from the pack's image API, storing the selected paths as comma-separated subdir/filename entries. When the node runs, it reads that string, resolves each path against ComfyUI/fxai/image/ (with a path-traversal guard - it refuses to leave the asset root), loads each image, and returns them.
Two outputs:
图片列表- the selected images as IMAGE list.总数量- count of what loaded, handy as a sanity check that your selection actually registered.
The node also always re-runs (IS_CHANGED returns NaN), so it picks up changes to the selection every queue without you bypassing it - which is the right call for an interactive picker.
Why you'd use it over the alternatives
Compared to FxAiCharacterBatchLoad (arbitrary folder, index syntax) and FxAiCharacterAssetsLoad (bulk parse of a full list), this one is the deliberate, visual picker. You're choosing specific reference shots for a specific scene - "this is the canonical face, this is the costume, this is the angle I need." That's exactly the workflow character consistency wants: a small, hand-picked set of anchors rather than every image you've ever generated. It pairs naturally with FxAiCharacterAssets on the management side and with FxAiCharacterImageByIndex if you then need one frame out of the selection.
Install
Part of fxai-toolkit (凤希全能节点包), MIT-licensed, by 凤希AI. ComfyUI Manager (search "fxai") or:
cd ComfyUI/custom_nodes
git clone https://github.com/fxai666/fxai-toolkit
# restart ComfyUI
Pack auto-installs soundfile and psutil; no models.
Gotchas
- No picker visible? Hard-refresh the browser (Ctrl+Shift+R) - the selector is pure frontend JS and stale pages show a bare node with a hidden text box and nothing to click.
- The input is hidden on purpose. Typing paths manually works, but you'll fight the comma format; the picker exists so you don't.
- If it raises "没有图片,请选择图片文件" (no images, please select), you picked nothing or the selection didn't stick - re-open the picker and confirm.
- It always re-runs, so it's a poor fit inside a tight loop where you want caching. It's a setup node; use it once at the head of the pipeline.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| 图片列表 | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 图片列表 | IMAGE | — |
| 总数量 | INT | — |