GALIAIS-Nodes 10 NSFW 精细
This pack keeps adult content in its own box
- DB
- AI服务商
- 上游提示词段
- NSFW段
- 文本
- 元信息JSON
Layer 10, NSFW 精细 ("NSFW fine detail"), is this pack's answer to a real problem: explicit content doesn't mix well with the rest of a prompt. A single mis-stacked adult tag can bleed tone across an otherwise clean character sheet, and it's genuinely useful to keep adult tags in one dedicated, toggleable, weightable section. That's exactly what this node is - the explicit layer of the character system, separated so you can switch it off wholesale with one 启用 toggle when you're rendering the SFW version of the same character.
What you fill in
Five content fields plus a supplement, each with a 使用 toggle:
- 裸露 (nudity) -
nude,topless,nipples, the degree-of-undress tags. - 露骨身体 (explicit body) - the explicit anatomical tags.
- 性行为 (sexual acts) - explicit act tags.
- 成人主题 (adult themes) - the non-explicit-but-adult stuff:
BDSM,lactation, suggestive themes. - 性癖道具 (kink/props) - the props and gear:
bondage equipment,sex toy,collar. - NSFW补充 (supplement) - free-text extras, multiline.
Plus the shared layer controls: 角色槽位 (全局 / 角色1–8), 角色标签, 启用, 权重 (0–5), and the random/AI block - and here the pack's controls get specific: 随机允许NSFW (random allow NSFW) gates whether the random tag picker may draw from adult-tagged candidates, and the 随机最低热度 (min post heat) filters low-confidence tags out of the pool. The optional AI服务商 powers the AI-collaborative selection modes, and there's an AI意图方向 (AI intent direction) field - the tooltip is worth quoting, it's the author's own description: AI only selects from candidate tags in the currently-enabled fields and expands the direction into natural language.
Outputs
The standard trio: NSFW段 (section object → composer), 文本 (plain text), 元信息JSON (contribution + random audit).
Where it earns its keep
The single 启用 toggle is the feature. Same character, two workflows: SFW production render with this layer off, and the explicit variant with it on - without rebuilding anything. The separation also keeps your SFW quality tags from being dragged toward adult meaning by nearby explicit tags. And 随机允许NSFW being a separate gate from the AI modes is the right design: random adult tag filling should be an explicit choice, not an accident of an unlocked picker.
The honest read
This is a niche layer - most users will never need it, and for them the pack works fine with it bypassed (the composer just sees no NSFW section). If you do use it: remember it's still Danbooru tags, so your base model has to actually be capable of the content (a model ablated for SFW won't render it, tags or not), and the NSFW-aware tag vocabularies are model-specific - what reads well on one base is noise on another. The Chinese labels, the brand-new status (no community writeups), and the 元信息JSON/README-as-docs situation all apply here as everywhere in this pack.
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 (44)
| Name | Type | Default | Description |
|---|---|---|---|
| 角色槽位 | COMBO | 全局 | 9 options: 全局, 角色1, 角色2, 角色3, 角色4, 角色5, +3 |
| 角色标签 | STRING | — | |
| 裸露 | STRING | — | |
| 露骨身体 | STRING | — | |
| 性行为 | STRING | — | |
| 成人主题 | STRING | — | |
| 性癖道具 | STRING | — | |
| NSFW补充 | STRING | — | |
| 启用 | BOOLEAN | false | — |
| 权重 | FLOAT | 1.000–5 | — |
| 使用裸露 | BOOLEAN | true | — |
| 使用露骨身体 | BOOLEAN | true | — |
| 使用性行为 | BOOLEAN | true | — |
| 使用成人主题 | BOOLEAN | true | — |
| 使用性癖道具 | BOOLEAN | true | — |
| 使用NSFW补充 | 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 | 00–4294967295 | — |
| 随机允许NSFW | BOOLEAN | true | — |
| 随机最低热度 | 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=本字段不限热度,正数=该字段最低热度 |
| DBopt | GALIAIS_NODES_DANBOORU_DB | — | |
| AI服务商opt | GALIAIS_NODES_AI_PROVIDER | — | |
| 上游上下文opt | STRING | — | |
| 上游提示词段opt | GALIAIS_NODES_CHARACTER_SECTION | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| NSFW段 | GALIAIS_NODES_CHARACTER_SECTION | — |
| 文本 | STRING | — |
| 元信息JSON | STRING | — |