GALIAIS-Nodes 07 叙事主题
The 07 layer for the story and mood behind the frame
- DB
- AI服务商
- 上游提示词段
- 叙事段
- 文本
- 元信息JSON
Most prompt builders stop at "who, what, wearing what." The Narrative node (07 叙事主题) is where this pack gets opinionated: it adds the story layer - what's happening between characters, what mood the image carries, what reference or meme it's nodding to. On a model trained on Danbooru, where every image has an implied story in its tags, this layer is how you tell the sampler which story you meant.
What you fill in
Three content fields plus a supplement, each with a 使用 toggle:
- 关系事件 (relationships/events) - the relational story:
lovers,rivals,birthday,confession,farewell, whatever the scene is about. - 主题状态 (theme/state) - the atmosphere or condition:
loneliness,victory,melancholy,drowsy,celebration. - 引用梗 (reference/meme) - the nods:
JoJo pose,zombie hand,screaming face, any recognizable reference or meme tag. - 叙事补充 (narrative supplement) - free-text extras, multiline.
Plus the shared layer controls: 角色槽位 (全局 / 角色1–8), 角色标签, 启用, 权重 (0–5), and the random/AI block (启用随机Tag, Tag生成模式, 随机种子, optional AI服务商), with optional DB, 上游上下文, and 上游提示词段. For scene-wide narrative, 全局 is the natural slot.
Outputs
The standard trio: 叙事段 (section object → composer), 文本 (plain text), 元信息JSON (contribution + random audit).
Where it earns its keep
The 关系事件 and 主题状态 fields are where "two characters in a room" becomes a scene with tension or warmth. Combined with the 02 layer's 情绪表情, they're the difference between an image and a moment. The 引用梗 field is the pack's quiet crowd-pleaser - meme and reference tags are a well-known weak spot for LLM rewrite tools (they get "cleaned up" into blandness), so having a dedicated, un-touched field for them is genuinely thoughtful.
The honest read
This is a soft layer. Its tags don't shape pixels the way 镜头构图 or 服装 do - they shape mood and semantics, which means their effect ranges from strong to invisible depending on your base model's training. On tag-hungry anime-SDXL models (Illustrious, NoobAI, Pony) the relationship tags read well; on natural-language checkpoints they mostly get ignored, so don't be shy about writing short prose here for those. Also: 主题状态 tags overlap with the 02 layer's expression tags, so don't duplicate - pick one layer as the authority per mood. The composer dedupes exact strings only, so melancholy in both layers will render twice.
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 separate if you want dictionary-backed picking. Young pack, no community writeups - the 元信息JSON and README are the docs.
Inputs (36)
| Name | Type | Default | Description |
|---|---|---|---|
| 角色槽位 | COMBO | 全局 | 9 options: 全局, 角色1, 角色2, 角色3, 角色4, 角色5, +3 |
| 角色标签 | STRING | — | |
| 关系事件 | STRING | — | |
| 主题状态 | STRING | — | |
| 引用梗 | STRING | — | |
| 叙事补充 | STRING | — | |
| 启用 | BOOLEAN | true | — |
| 权重 | FLOAT | 1.000–5 | — |
| 使用关系事件 | 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 | 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=本字段不限热度,正数=该字段最低热度 |
| 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 | — |