Nodes/lzits Nodes/Bernini Model Config
ComfyUI Node

Bernini Model Config

One node to hold your whole Bernini environment

By lzitser23·Created 9 months ago·Updated 3 months ago· 0
Bernini Model Config
    • bernini_config
    • summary
    bernini_repo_dir/root/Bernini
    python_executable/usr/bin/python
    config/root/Bernini-R-Diffusers
    high_noise_ckpt
    low_noise_ckpt
    env_json

    Bernini is the best open video-editing model of 2026 - ByteDance's Wan-2.2-derived renderer, Apache 2.0, maskless instruction editing - and it's also the kind of thing that makes people give up before the first render. It needs its own cloned repo, its own Python 3.11 CUDA environment, a multi-gigabyte model directory, and optionally two separate checkpoints. That's four paths to get wrong, and wiring them straight into a giant runner node is how graphs get ugly fast. Bernini Model Config exists so you set them once, in one place, and hand the runner a clean typed object.

    It's a config/loader node in the same shape as the loader nodes in Kijai's WanVideoWrapper: small helper in, structured data out. Crucially, it does no model loading and no VRAM work - BERNINI_CONFIG is just a bundle of paths and environment variables the runner will unpack when it builds its command. Its whole job is keeping the runnable part of your graph readable.

    The inputs that matter

    Mostly you set three fields and leave the rest alone:

    • bernini_repo_dir - the folder containing infer_single_gpu.py, i.e. your clone of bytedance/Bernini.
    • python_executable - the interpreter of the Python 3.11 CUDA environment you made for Bernini. This is not ComfyUI's Python; the renderer runs in a subprocess with its own env.
    • config - where the model lives. The tooltip recommends a local ByteDance/Bernini-R-Diffusers directory; the alternative is configs/bernini_renderer_wan22 inside the repo.

    Two details to know before they bite you:

    • high_noise_ckpt and low_noise_ckpt are optional but must be set together - set only one and the node raises a clear error instead of guessing. That matches Bernini's separate high/low-noise checkpoint layout for people who split the weights.
    • env_json lets you inject environment variables as JSON, e.g. {"CUDA_VISIBLE_DEVICES":"0"} to pick the GPU, or {"BERNINI_PE_API_KEY":"..."} if you run the prompt enhancer. The summary output redacts anything whose key looks like KEY/TOKEN/SECRET/PASSWORD - a small courtesy you'll appreciate the day you paste a workflow into a shared post.

    Outputs

    • bernini_config (type BERNINI_CONFIG) - plugs directly into Bernini Run Single GPU's bernini_config input and overrides the runner's fallback path widgets.
    • summary (STRING) - pretty-printed JSON of everything the runner will use; dump it into a Show Text node to sanity-check your paths.

    Installing this node

    This is one of the 16 nodes in the lzits Nodes pack (by Lior Zitser, MIT), so you install the whole pack once:

    • ComfyUI Manager - search for "lzits Nodes" and hit install.
    • Or by hand:
    cd ComfyUI/custom_nodes
    git clone https://github.com/lzitser23/lzits-nodes.git
    

    Then restart ComfyUI. None of the Bernini nodes pull Bernini's own Python dependencies into ComfyUI - they shell out to a separate environment - but you still need the upstream assets: git clone https://github.com/bytedance/Bernini and hf download ByteDance/Bernini-R-Diffusers. The Bernini Setup Commands node prints the exact commands.

    Where people get burned: pointing python_executable at ComfyUI's Python and expecting it to work. It won't - the whole point of the subprocess design is that Bernini's torch/CUDA stack stays out of ComfyUI's environment. If the runner dies with a cryptic torch error, nine times out of ten it's this field.

    Categorylzits nodes/Bernini

    Inputs (6)

    NameTypeDefaultDescription
    bernini_repo_dirSTRING/root/BerniniFolder containing infer_single_gpu.py from https://github.com/bytedance/Bernini
    python_executableSTRING/usr/bin/pythonPython in the Bernini environment. Usually a Python 3.11 CUDA env, not necessarily ComfyUI's Python.
    configSTRING/root/Bernini-R-DiffusersRecommended: ByteDance/Bernini-R-Diffusers local directory. Alternative: configs/bernini_renderer_wan22.
    high_noise_ckptSTRINGOptional. Set with low_noise_ckpt for separate checkpoint layout.
    low_noise_ckptSTRINGOptional. Set with high_noise_ckpt for separate checkpoint layout.
    env_jsonoptSTRINGOptional env vars as JSON, e.g. {"CUDA_VISIBLE_DEVICES":"0", "BERNINI_PE_API_KEY":"..."}

    Outputs (2)

    NameTypeDescription
    bernini_configBERNINI_CONFIG
    summarySTRING