Nodes/Bernini v2 (Native)/Bernini v2 Flow UniPC (BH2)
ComfyUI Node

Bernini v2 Flow UniPC (BH2)

The sampler that must match the scheduler

By T8mars·Created 2 days ago·Updated about 11 hours ago· 1
Bernini v2 Flow UniPC (BH2)
    • SAMPLER

    Here's a node with zero inputs, zero settings, and exactly one job: hand SamplerCustomAdvanced the exact ODE solver ByteDance shipped Bernini v2 with. It's the order-2 UniPC BH2 solver for flow prediction, wrapped as a ComfyUI SAMPLER. You wire its output into your sampler's sampler input, and then you stop thinking about it - because the interesting thing about this node is the warning it exists to prevent.

    ComfyUI ships a generic UniPC sampler, and people keep grabbing it because the name matches. It doesn't. The built-in UniPC was written for a VP noise schedule; Bernini v2 is a flow-matching model that wants flow-prediction UniPC. Using the stock one is not "close enough" - the pack's own documentation calls the two not equivalent, and the difference shows up as drift, muddier motion, and results that don't match the release demos at the same steps. This node plus the Bernini v2 UniPC Sigmas scheduler are a matched pair, and the pair is what reproduces the official pipeline: the scheduler supplies the Diffusers flow-sigma spacing, this sampler integrates along it.

    What you do with it

    Nothing, really. It has no inputs. Drop it into the workflow, take the SAMPLER output, and connect it to SamplerCustomAdvanced's sampler input. That's the whole setup - the neighboring Bernini v2 Renderer Guider provides the guider, Bernini v2 UniPC Sigmas provides the sigmas, and RandomNoise provides the noise. All three meet at SamplerCustomAdvanced, which is a stock node.

    Why you shouldn't swap it

    • It's tuned to the plan. The scheduler and guider both read the plan from Bernini v2 Plan, so steps, boundary, and sigma spacing all align to your task (t2v vs v2v vs r2v...). A generic sampler can't know any of that.
    • The speed LoRA temptation. Wan 2.2 users are used to 4-step distilled samplers. Bernini v2 is not distilled, and lightx2v LoRAs only partially transfer - the community found likeness actually degrading once you stack LoRAs. Stay at the official step counts before chasing speed.
    • It's free to use. No model download, no dependency, no config. It ships inside the pack and just works - one of the rare times a "do nothing" node is the right answer.

    Installing it

    It's part of the "Bernini v2 (Native)" pack: ComfyUI Manager → install, or git clone https://github.com/T8mars/comfyui-bernini-v2-T8.git into ComfyUI/custom_nodes, restart (needs ComfyUI 0.33+). No extra Python dependencies for this node. The heavy lifting is the models (~45.6 GiB Balanced INT8 from t8star/Bernini-V2-Comfy into ComfyUI/models/bernini_v2/, plus the Wan 2.1 VAE). Load the t2v.json example to see this sampler sitting quietly in the chain - it's the piece that makes the 50-step preset actually behave like the official pipeline.

    Categorysampling/bernini_v2

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER