LingBot Video Generate (Yogurt LingBot Video)
Running LingBot T2I, T2V, and TI2V
- pipeline
- image
- frames
This is the node that actually spends six minutes of your life. The loader gets LingBot's MoE weights in place; this node runs the sampler and hands you frames. Depending on the loader's mode it does one of three jobs: T2I returns a single image, T2V returns a clip, TI2V does the same but starts from a reference image.
The best thing about it is the output format. frames is a plain ComfyUI IMAGE batch, which means you're not locked into the pack's own save nodes - a T2I result goes straight into Save Image, and video frames drop into Video Combine / SaveWEBM exactly like frames from Wan or LTX. Nothing exotic to learn.
How it works
The node is mostly validation and conversion. Plain text prompts get auto-wrapped into {"comprehensive_description": "..."}, or you feed it the prompt_json string straight from the pack's LingBot Prompt Rewrite node. Frame count must be 1 or 4n+1 (default 81), width and height must be multiples of 16, and T2I silently forces one frame no matter what you set. Leave negative_prompt empty and it injects LingBot's official default - a big structured JSON block covering visual quality, artistic style, temporal stability, and so on. That's a genuinely good default and one less thing to fumble.
The inputs that matter:
prompt/negative_prompt- plain text or the rewriter's JSON. Short plain text works but underwhelms; detailed structured captions are what this model rewards.width/height- multiples of 16; the official default is 832×480.num_frames- 81 for a standard clip. Remember the4n+1rule, because the widget steps by 4 and will happily let you land on an invalid 83.steps,guidance_scale,shift- defaults are the official numbers (40 / 3.0 / 3.0). Theshiftslider is the flow-matching noise-shift knob; don't go hunting for your SD1.5 CFG instincts here.seed- randomizes after generate by default.image- optional input, mandatory when the loader is inti2vmode.
Wire the loader's pipeline handle into the pipeline input and the rewriter's prompt_json into prompt. For TI2V, feed the same reference image you used in the rewrite step so the prompt and the video agree on the subject.
Install
Same as the rest of the pack - clone, install deps into ComfyUI's Python, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes-LingBotVideo
pip install -r custom_nodes/ComfyUI-YogurtNodes-LingBotVideo/requirements.txt
Models live under ComfyUI/models/LingBotVideo/ with their official Diffusers structure. The repo ships ready-to-import examples for Dense T2I, T2V, and TI2V, plus a rewriter-only workflow - the fastest way to see this node wired correctly.
Common issues
The num_frames rejection and the dimensions-not-divisible-by-16 error are the two you'll hit first; both messages tell you exactly what's wrong. If you're getting weak results from a plain-English prompt, that's not this node - LingBot wants structured captions, so run it through the rewrite node. And if it OOMs, that's the loader's moe_gpu_blocks dial to fix, not anything here.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | YOGURT_LINGBOT_VIDEO_PIPELINE | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| width | INT | 83216–4096 | — |
| height | INT | 48016–4096 | — |
| num_frames | INT | 811–1001 | — |
| steps | INT | 401–1000 | — |
| guidance_scale | FLOAT | 3.00–30 | — |
| shift | FLOAT | 3.00–30 | — |
| seed | INT | 420–18446744073709550000 | — |
| imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |