Nodes/LingBot-Video Dense 1.3B FP8/LingBot EXPERIMENTAL FLF Sampler (Both Endpoints Fixed)
ComfyUI Node

LingBot EXPERIMENTAL FLF Sampler (Both Endpoints Fixed)

Both ends pinned, fingers crossed — the experimental FLF sampler

By ALX-CODE·Created 2 months ago·Updated about a month ago· 8
LingBot EXPERIMENTAL FLF Sampler (Both Endpoints Fixed)
  • model
  • conditioning
  • latents
width640
height352
num_frames73
steps40
cfg3.0
shift3.00
seed42
cfg_executionsequential_sage

LingBotFLFSampler is the sampler half of the pack's experimental first-and-last-frame mode, and its name tells you exactly what it does: both endpoint latents are hard-pinned during denoising. Your first frame stays frame 0, your last frame stays the final frame, and the model has to invent a plausible path between them. That's a genuinely cool trick - the video equivalent of "give me an interpolation between these two images, but make the in-between physically coherent" - and it's also, to quote the README, a mode LingBot was not trained for. Large endpoint differences can morph, freeze, or jump. Read the FLF prompt-encode article for the full reality check; the short version is: use it when your two endpoints are close cousins of the same subject, not for arbitrary A→B pairs.

The sampler itself is a strict sibling of the TI2V one. Same denoising loop, same CFG options, same LINGBOT_LATENTS output - but it demands conditioning from LingBotFLFPromptEncode and enforces the FLF rules: both first_frame_pixel and last_frame_pixel must be present, and you need at least 5 output frames.

How it works

When it runs, the sampler VAE-encodes both endpoint images from the conditioning into latents, then feeds them as the fixed endpoints (cond_latent and cond_latent_last) into the diffusion pass. Everything between them is free territory for the denoiser - and that's exactly where the model's untrained-ness shows. Two practical consequences:

  • The closer your endpoints are in composition, subject, and lighting, the less the model has to invent, and the better the bridge holds. Treat endpoint selection as the primary quality knob.
  • The enforced 5-frame minimum exists because a shorter bridge leaves no room for the model to do anything but jump. Even at 5 frames you're asking for a lot of movement in very few steps.

The sampler runs the same validation suite as its siblings: resolution of both conditioned endpoints must match width/height (drift → explicit error telling you to keep the same Generation Settings connections on both nodes), exactly one RGB image per endpoint, and full conditioning keys present.

Inputs and outputs

model, conditioning, width, height, num_frames (min 1, but the FLF check forces ≥5), steps, cfg, shift, seed, plus optional cfg_execution (default sequential_sage; batched modes auto-fallback above 16,384 video tokens or on CUDA OOM - details in the LingBotSampler article). Output: latents → LingBotVAEDecode → VHS save.

Install

Same pack, same commands:

cd ComfyUI/custom_nodes
git clone https://github.com/ALX-CODE/lingbot-video-1.3b-fp8
pip install -r requirements.txt

or ComfyUI Manager → search "LingBot" → restart. The experimental workflow is workflows/lingbot_fp8_flf_experimental.json; remember its Load Image nodes are intentional placeholders - pick both endpoint images before queueing. SageAttention recommended (install a matching build, launch with --use-sage-attention), sequential fallback otherwise.

Gotchas

  • Missing image errors at queue time are almost always the placeholder Load Image nodes, not this sampler.
  • "LingBot FLF requires both a first-frame and last-frame conditioning" - you wired TI2V (or plain T2V) conditioning into the FLF sampler, or the prompt node got only one image. Both endpoints are mandatory.
  • num_frames < 5 → hard error. FLF needs room to breathe.
  • If your output morphs or freezes mid-clip, don't blame the sampler - change the endpoints. This mode's ceiling is set by the model's lack of FLF training, and the pack is honest that it's a best-effort bridge.
  • The status line will tell you which CFG mode actually ran and any fallback reason - worth reading on this node, because the batched CFG paths are the newest and least-tested code in the pack.
CategoryLingBot Video

Inputs (10)

NameTypeDefaultDescription
modelLINGBOT_MODEL
conditioningLINGBOT_CONDITIONING
widthINT64016–4096
heightINT35216–4096
num_framesINT731–1001
stepsINT401–1000
cfgFLOAT3.01–30
shiftFLOAT3.000.01–20
seedINT420–18446744073709550000
cfg_executionoptCOMBOsequential_sageSequential Sage is the conservative baseline. Batched native computes exact masked B=2 CFG in one pass. Sage-varlen is experimental. All batched modes auto-fallback above 16,384 video tokens or on CUDA OOM.

Outputs (1)

NameTypeDescription
latentsLINGBOT_LATENTS