JZL - ✨ 提示词增强
A prompt enhancer that knows exactly what not to touch
- bus
- 增强后剧本
Most prompt enhancers are a gamble: you ask an LLM to "make it better" and it rewrites everything, moves your character to a different scene, and invents a subplot you never wanted. JZL - ✨ 提示词增强 is the opposite. It sits between the 🎬 剧本与镜头处理器 and the 📋 分段处理中心 and does one tightly-scoped job: rewrite only the detailed_description inside each segment's H3 prompt, and leave every other field alone.
That scoping is the whole design. The story LLM that produced the script already decided the subjects, the scenes, the props, the music direction, and the dispatch instructions - the structural decisions you want kept. What it writes is competent but often flat. This node runs a second LLM pass that polishes the visual descriptions - richer detail, better camera language - while subject_definitions, summary, retention_analysis, overall_soundscape, non_diegetic_music, and all three dispatch instruction sections pass through byte-for-byte. A scoped rewrite drifts less than a free-form one; that's not a stylistic preference, it's the mechanical lesson the whole LLM-in-ComfyUI ecosystem keeps relearning.
How it works
It parses the script's [SHOT_START]...[SHOT_END] blocks, extracts each segment's H3 prompt body, pulls out the detailed_description field, and hands just that to the LLM for rewriting. Afterward it even re-syncs the retention_analysis cross-references - if the polish pass changed which shots a subject appears in, the [Shot N] mentions get corrected so the script stays internally consistent.
The inputs that matter
- script_text - wire the 🎬 剧本与镜头处理器's 剧本输出 here. This is the only input that usually changes between runs.
- bus (
JZL_H3_BUS) - from the same node's BUS output. This is the sneaky-important wire: it carries the backend config (local vs API, which model, preferences, style) so the enhancer silently reuses the exact setup the script processor used, without you re-selecting anything. - seed - change it for a different polish. The node re-runs on seed changes, which is how you iterate on flavor without rerunning the whole script.
- force_offload - for local models: unload VRAM after enhancing. The tooltip gives the smart pattern: keep the script processor's offload off, turn this node's on, so the model loads once for both LLM passes instead of twice.
Output and wiring
One output, 增强后剧本 (STRING), which feeds the 分段处理中心 (shot_text). The canonical chain is:
剧本与镜头处理器 ──剧本输出──► 提示词增强 ──增强后剧本──► 分段处理中心
└──BUS─────► (bus)
Install
Part of the JZL MiniMax pack: ComfyUI Manager → search JZL or ComfyUI-JZL-MiniMax-H3, or clone https://github.com/wjluoxiao/ComfyUI-JZL-MiniMax-H3 into custom_nodes/ and restart.
Two real-world gotchas. First, if you run the local backend, you need the llama-server runtime installed or this node fails the same way the script processor does - python install_runtime.py in the pack directory (see the ScriptProcessor article for the full drill). Second, this node inherits its backend from the BUS, so if you switch the script processor from local to API and the enhancer still calls the old model, check that the BUS wire is actually connected - the node's whole "no config needed" magic depends on that one link.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| script_text | STRING | 从「剧本与镜头处理器」的「剧本输出」连线 | |
| bus | JZL_H3_BUS | 从「剧本与镜头处理器」的 BUS 连线,传递模型/API/偏好/风格等参数 | |
| force_offload | BOOLEAN | false | 本地模型:增强完成后卸载。建议剧本处理器关闭卸载、本节点开启,等增强完成再卸载,省一次重复加载 |
| seed | INT | 00–18446744073709550000 | 随机种子 改 seed 可生成不同的润色结果;前端可选随机/递增/固定 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 增强后剧本 | STRING | — |