MOSS Authoring Page T8
MOSS Authoring Page T8 Does Nothing At All — and That's Exactly Why It's the Node You Wire to MOSS
- 正向提示词 / positive_prompt
- 宽 / width
- 高 / height
- 实际格式 / resolved_format
- 原生可编辑草稿 / native_draft_json
- 选择报告 / report_json
- 漫画源 / source_json
- 英中阅读稿 / paired_reading
- 单元ID / unit_id
No API key, no model, no token cost, no randomness anywhere. You paste or wire in a JSON bundle, pick a page number and a language, and it hands you one finished prompt. It's the least exciting node in this pack and the one you'll re-run the most, because it's free and instant while everything upstream costs money.
The job is narrower than it looks. The pack's MOSS Authoring Director T8 writes a collection - several pages of drafts, or several independent captions for several reference images - and a collection is not something you can generate from. MOSSAuthoringPageT8 is the selector: one unit, one language, one native prompt. Drop four on the canvas, set pages 1 through 4, and you have four pages ready to render off a single planning run.
How it works
The mechanism worth understanding: the bundle holds raw source drafts, not compiled prompts. Every time you select, the node re-runs a local, offline compiler over the chosen draft - shaping it into MOSS's native form and, for Layout, converting real pixel boxes into the centred yxyx single-line JSON MOSS wants, using that unit's actual canvas.
That has a payoff you'll feel. No stale cached string, and no model ever got the chance to hand you malformed coordinates. It also validates the whole bundle before touching it: stage ledgers, unit ids, ordering, sequential indices. A half-finished book pasted from a friend fails here, for free, instead of after an image generation.
The three inputs and the two outputs that matter
bundle_json is the only input that requires thought. Wire the Director's first output into it, or paste the text in by hand. It's marked as not expanding dynamic prompts, so wildcard-ish syntax inside the JSON stays literal - which is correct behaviour for JSON and a nasty surprise if you expected {a|b} to do something.
page_index is 1-based and capped at 16. language is en or zh, with no Auto, no fallback and no translation. If the selected unit lacks that language you get a clean error (missing_selected_language) rather than a machine translation nobody asked for. Comic bundles ship both languages by construction; Fisher bundles are single-language, so pick the one that's there.
Output 0 is positive_prompt - the only thing that goes near your positive text encode. Outputs 1 and 2 are width and height as INTs; wire both into your canvas size so prompt and canvas agree. resolved_format says whether you got caption (prose) or layout (that JSON blob), which explains why positive_prompt sometimes looks like nothing you'd type. native_draft_json is the editable draft, source_json the untouched original, report_json records which unit and language you took plus a confirmed zero calls, and unit_id is the stable handle revisions reference - not the page number.
Try it before you pay for anything
The pack ships a CPU-only example where two Page nodes already contain a complete, hand-written bilingual bundle. No provider, no LoadImage, no model. Load example_workflows/moss_authoring_cpu_page.json, flip page and language, and you'll understand this node in ninety seconds - which is the right order of operations, given that everything upstream of it touches an API bill.
Installing it
Same pack as the Director, so it installs itself if you have it. Otherwise, ComfyUI Manager → search MiniMax H3 / Seedance 2.0 / Music 3 Prompt Enhancer (T8), or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-prompt-enhancer-T8.git
Restart ComfyUI, then Ctrl+F5 the tab - the nodes only appear after a full restart, and the UI misbehaves on a soft reload. Update an existing clone with git pull --ff-only from inside the pack folder, and don't leave two copies in custom_nodes. Nothing else to download: no weights, no GGUF, no key.
Where people get burned
Wiring the wrong output. The Director's report_json and paired_reading, and this node's source_json and native_draft_json, are all STRING - ComfyUI will happily let you plug any of them into a text encode, and MOSS will happily render a page of diagnostics. Only positive_prompt goes forward. Everything else is for you to read.
Second, a layout prompt is structured JSON, not prose. Hand-editing a compiled layout is a bad time; edit native_draft_json and let something recompile it.
Third, exact layout is only as exact as your final canvas. Boxes are checked against the real pixel width and height, but downstream latent nodes snap dimensions - 1256×1672 quietly becomes a 1248×1664 latent - so pixel-precise posters need verifying at the sampler. And the model's 4096-token encoder cap is never measured here: this node reports structure, not how much of your prompt survives encoding.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| bundle_json | STRING | Paste a complete bundle for CPU-only use, or connect Director's bundle output. Not a positive prompt; JSON is never dynamic-prompt expanded. | |
| page_index | INT | 11–16 | — |
| language | COMBO | en | 2 options: en, zh |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| 正向提示词 / positive_prompt | STRING | — |
| 宽 / width | INT | — |
| 高 / height | INT | — |
| 实际格式 / resolved_format | STRING | — |
| 原生可编辑草稿 / native_draft_json | STRING | — |
| 选择报告 / report_json | STRING | — |
| 漫画源 / source_json | STRING | — |
| 英中阅读稿 / paired_reading | STRING | — |
| 单元ID / unit_id | STRING | — |