LingBot Generated Prompt Preview
See what Qwen actually generated before you burn a render
- structured_json
LingBotPromptPreview is a zero-cost reality check. It takes the two strings that LingBotPromptEncode (or its TI2V/FLF variants) produce - structured_json and expanded_caption - and displays them as text in the ComfyUI UI, alongside passing the JSON through. That's the entire node. No model load, no VRAM, no settings to mess up.
Why that's worth a node of its own: LingBot's whole prompt path is a black box that eats your plain English and spits out structured JSON you never see. If your video comes back doing something nobody asked for, you have exactly one way to find out whether the prompt or the sampler is to blame - and this is it. You look at what Qwen actually wrote before the denoise runs, instead of after a ten-minute render.
What it does
Two inputs: structured_json and expanded_caption. It renders both into a UI text panel - "EXPANDED CAPTION" followed by the prose, then "STRUCTURED JSON" followed by the JSON - and passes structured_json through untouched as its single output. Both inputs are marked forceInput, meaning you must wire them from the prompt node rather than typing text in, which is exactly right: this is a monitoring node, not an editor.
The pass-through matters more than it looks. It means the node is non-destructive - you can drop it onto the wire between a prompt node and anything downstream, and the JSON still flows through to wherever it was going (like LingBotPromptPreview's own output, or a node that wants the raw JSON). You're inserting an inspection window, not changing the data.
It's an output node (the "output" dot on the right is terminal), which is also why you can attach it without it being "in the way" - ComfyUI will execute it for its side effect.
When you'd use it
- Debugging a bad render. Video comes back with motion the prompt never mentioned? Check the expanded caption for what Qwen hallucinated in. Camera doing something weird? Check the JSON's camera fields. Nine times out of ten the mismatch lives here, not in the sampler.
- Learning the schema. Wire it to a TI2V prompt node and watch how Qwen-VL describes the image it saw - free education in how to write better
structured_json_overridevalues yourself. - Confirming cache hits. Because prompt rewrites are cached, the preview also tells you when a change actually triggered a re-rewrite (duration or resolution changed → new JSON) versus when it didn't.
Install
It's part of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/ALX-CODE/lingbot-video-1.3b-fp8
pip install -r requirements.txt
or install via ComfyUI Manager (search "LingBot") and restart. No dependencies beyond the pack itself - no model files, no Qwen, nothing.
Gotchas
- It won't show anything useful if you wire in a node that doesn't produce the two strings - it specifically expects the prompt nodes' outputs.
- The display text is a local UI message, not a saved file. If you want a permanent record of what got generated, you'll need to capture the
structured_jsonoutput yourself. - That's about it. This is one of those utility nodes that's boring until you need it, and then it saves you a wasted queue.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| structured_json | STRING | — | |
| expanded_caption | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| structured_json | STRING | — |