GALIAIS-Nodes 04 服装配饰
The 04 layer that does most of the visual work in character art
- DB
- AI服务商
- 上游提示词段
- 服装段
- 文本
- 元信息JSON
Honestly? For most character art, the outfit is the character. Costume design is what makes a character recognizable at a glance, and the Outfit node (04 服装配饰) is the pack's most-used layer because it has the most granular field split of the whole set: seven fields covering tops, bottoms, one-pieces, accessories, material, and wearing state. It's the layer where you spend your real prompt-writing effort, and the one the random-tag machinery was practically built for.
What you fill in
Seven content fields with 使用 toggles:
- 上装外套 (top/outerwear) - shirts, jackets, coats:
white dress shirt, black blazer. - 下装鞋袜 (bottom/shoes/socks) - skirts, pants, footwear, hosiery.
- 连体贴身 (one-piece/underwear) - dresses, bodysuits, and the layer under the outfit.
- 配饰 (accessories) - jewelry, glasses, hats, ribbons, anything worn that isn't clothing.
- 材质细节 (material details) -
leather,silk,lace,see-through, the texture tags. - 穿着状态 (wearing state) -
sleeves rolled up,jacket draped over shoulders,unbuttoned, the "how it's being worn" tags. - 服装补充 (outfit supplement) - free-text extras, multiline.
Plus the shared layer controls: 角色槽位 (全局 / 角色1–8), 角色标签, 启用, 权重 (0–5), and the random/AI block (启用随机Tag, Tag生成模式, 随机种子, AI-collaborative modes needing optional AI服务商), with optional DB, 上游上下文, and 上游提示词段.
Outputs
The standard trio: 服装段 (section object → composer 提示词段), 文本 (plain text), 元信息JSON (field + random picker audit).
Where it earns its keep
The seven-field split is the point. Most prompt tools give you one big "clothing" slot; this node separates garment type from material from wearing state, which stops the classic failures - describing silk without naming the garment, or jacket without saying whether it's worn or draped. Tag-based models read those as separate concepts, so separate fields genuinely render better.
The random machinery shines hardest here: randomizing 配饰 or 穿着状态 per run gives you wardrobe-variation batches of the same character without touching identity. That's the exact use case where the pack's 随机种子 makes the batch reproducible.
The honest read
If you only use one character node from this pack, this is the one. It's also where tag discipline matters most - clothing has a huge, well-defined Danbooru vocabulary, and the model rewards you for using the real tags (school uniform, gothic lolita, midriff) over prose. The 材质细节 field is the most-ignored, most-powerful of the seven: two prompts that differ only in material render completely differently. And as always: Chinese labels, brand-new pack, no community writeups - the 元信息JSON and README flow are your docs.
Install
Pack-wide, once:
git clone https://github.com/GALIAIS/GALIAIS-Nodes.git ComfyUI/custom_nodes/GALIAIS-Nodes
Restart ComfyUI, or ComfyUI Manager → "GALIAIS-Nodes". No pip dependencies; the Danbooru DB is a separate download if you want dictionary-backed tag picking.
Inputs (48)
| Name | Type | Default | Description |
|---|---|---|---|
| 角色槽位 | COMBO | 全局 | 9 options: 全局, 角色1, 角色2, 角色3, 角色4, 角色5, +3 |
| 角色标签 | STRING | — | |
| 上装外套 | STRING | — | |
| 下装鞋袜 | STRING | — | |
| 连体贴身 | STRING | — | |
| 配饰 | STRING | — | |
| 材质细节 | STRING | — | |
| 穿着状态 | STRING | — | |
| 服装补充 | STRING | — | |
| 启用 | BOOLEAN | true | — |
| 权重 | FLOAT | 1.000–5 | — |
| 使用上装外套 | BOOLEAN | true | — |
| 使用下装鞋袜 | BOOLEAN | true | — |
| 使用连体贴身 | BOOLEAN | true | — |
| 使用配饰 | BOOLEAN | true | — |
| 使用材质细节 | BOOLEAN | true | — |
| 使用穿着状态 | BOOLEAN | true | — |
| 使用服装补充 | BOOLEAN | true | — |
| 启用随机Tag | BOOLEAN | false | — |
| Tag生成模式 | COMBO | 规则随机 | 5 options: 规则随机, AI协同选择, AI协同选择+规则兜底, AI意图定向选择, AI意图定向选择+规则兜底 |
| AI自由度 | FLOAT | 0.350–1 | — |
| AI意图方向 | STRING | 粗略描述你想要的方向;AI只会从当前节点已启用字段的候选tag中选择,并把方向扩写成自然语言。 | |
| AI扩写强度 | COMBO | 标准 | 3 options: 精简, 标准, 完整 |
| AI是否写入补充 | COMBO | 只放元信息 | 3 options: 只放元信息, 写入本节点补充, 关闭 |
| AI RAG模式 | COMBO | 关闭 | 4 options: 关闭, 轻量语义, 示例增强, 混合增强 |
| RAG候选数 | INT | 120–200 | — |
| RAG示例数 | INT | 30–20 | — |
| 随机策略 | COMBO | 只补空字段 | 2 options: 只补空字段, 追加到字段 |
| 每字段随机数 | INT | 1 | — |
| 随机数上装外套 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机数下装鞋袜 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机数连体贴身 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机数配饰 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机数材质细节 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机数穿着状态 | INT | -1 | -1=沿用每字段随机数,0=关闭本字段随机,正数=该字段最多随机数量;AI协同会按合理性少选 |
| 随机种子 | INT | 00–4294967295 | — |
| 随机允许NSFW | BOOLEAN | false | — |
| 随机最低热度 | INT | 00–100000000 | — |
| 最低热度上装外套 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| 最低热度下装鞋袜 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| 最低热度连体贴身 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| 最低热度配饰 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| 最低热度材质细节 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| 最低热度穿着状态 | INT | -1-1–100000000 | -1=沿用随机最低热度,0=本字段不限热度,正数=该字段最低热度 |
| DBopt | GALIAIS_NODES_DANBOORU_DB | — | |
| AI服务商opt | GALIAIS_NODES_AI_PROVIDER | — | |
| 上游上下文opt | STRING | — | |
| 上游提示词段opt | GALIAIS_NODES_CHARACTER_SECTION | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| 服装段 | GALIAIS_NODES_CHARACTER_SECTION | — |
| 文本 | STRING | — |
| 元信息JSON | STRING | — |