Nodes/lzits Nodes/Bernini Generation Settings
ComfyUI Node

Bernini Generation Settings

The knobs that decide what Bernini renders

By lzitser23·Created 11 months ago·Updated about a month ago· 1
Bernini Generation Settings
    • generation_args
    • summary
    ◄num_frames1►
    ◄width848►
    ◄height480►
    ◄max_image_size848►
    ◄num_inference_steps40►
    ◄seed42►
    ◄fps16►
    ◄guidance_modet2v►
    ◄flow_shift5.0►
    ◄omega_V1.25►
    ◄omega_I4.50►
    ◄omega_TI4.00►
    ◄omega_scale0.80►
    ◄eta0.50►

    Bernini Run Single GPU has a wall of widgets, and when you're building a workflow you don't want to scroll past seventeen of them every time you tweak one number. Bernini Generation Settings is the Kijai-style answer: bundle all the sampling/generation parameters into one typed BERNINI_GENARGS object, wire that one wire into the runner, and keep the big node tidy. Same philosophy as Bernini Model Config - small helpers feeding a clean runner.

    The inputs that matter

    • num_frames - the big one. 1 means text-to-image or image editing; anything above that is video. Max is 241, but remember Bernini inherits Wan's ~81-frame comfort window, and every editing frame costs roughly double because the source video is part of the model input.
    • width / height - output resolution (default 848×480, the Wan-ish wide ratio). Steps are forced to multiples of 8.
    • max_image_size - long-edge cap used when reference media is resized.
    • num_inference_steps - default 40; with a distillation/speed LoRA like LightX2V you can go much lower.
    • seed - reproducibility. Default 42.
    • fps - output frame rate, default 16.
    • guidance_mode - the seven-mode list again (rv2v, v2v, v2v_chain, t2v, plus _apg variants). Caveat in the tooltip and worth repeating: this can be overridden by the case JSON if the case carries a guidance_mode - check Bernini Case Builder if your setting seems ignored.

    The optional row is the Bernini-specific math: flow_shift (default 5), omega_V (1.25), omega_I (4.5), omega_TI (4), omega_scale (0.8), and eta (0.5). These are the flow-matching and guidance-strength knobs the upstream sampler exposes. The defaults are sensible; don't touch them until you're chasing a specific artifact, and then change one at a time.

    Outputs

    • generation_args (type BERNINI_GENARGS) - plugs into the runner's generation_args input and overrides its generation widgets.
    • summary (STRING) - pretty-printed JSON of every value; dump it to a Show Text node to confirm what the runner will actually use.

    Installing this node

    One of the 16 nodes in the lzits Nodes pack (Lior Zitser, MIT). Install via ComfyUI Manager (search "lzits Nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lzitser23/lzits-nodes.git
    

    Restart ComfyUI. No extra dependencies - it's pure parameter bundling. The upstream Bernini repo, model download, and a Python 3.11 CUDA environment are the real requirements (see Bernini Setup Commands).

    Categorylzits nodes/Bernini

    Inputs (14)

    NameTypeDefaultDescription
    num_framesINT11–241Use 1 for text-to-image/image editing. Use >1 for video.
    widthINT84864–2048—
    heightINT48064–2048—
    max_image_sizeINT84864–4096—
    num_inference_stepsINT401–100—
    seedINT420–2147483647—
    fpsINT161–120—
    guidance_modeCOMBOt2vCan be overridden by the case JSON if the case contains guidance_mode.
    flow_shiftoptFLOAT5.00–20—
    omega_VoptFLOAT1.250–20—
    omega_IoptFLOAT4.500–20—
    omega_TIoptFLOAT4.000–20—
    omega_scaleoptFLOAT0.800–20—
    etaoptFLOAT0.500–1—

    Outputs (2)

    NameTypeDescription
    generation_argsBERNINI_GENARGS—
    summarySTRING—