Nodes/ComfyUI-RH-Bernini-Full/Bernini Full Text to Video
ComfyUI Node

Bernini Full Text to Video

The T2V node that most people never get to

By RH-RunningHub·Created 3 months ago·Updated 3 months ago· 7
Bernini Full Text to Video
    • video
    promptA short smooth video of a red ceramic teapot rotating slowly on a white table.
    negative_promptlow quality, blurry, distorted, text, watermark
    num_frames9
    fps16
    width512
    height512
    steps4
    seed3456
    quality_presetstandard
    accelerationwan2.2_lightx2v_4step
    memory_modekeep_loaded_batch

    Text-to-video is the least famous thing Bernini does, and this node is the least famous way to do it. That's not a knock on the node - it's because Bernini is the community's favorite video editing model, so its T2V mode is the practice lane, not the headline. Still, if you're going to run the full ComfyUI-RH-Bernini-Full pack, this is the node that demonstrates the whole pipeline on a task with no source media: no masks, no references, no edits to preserve - just a prompt and a num_frames slider, and you learn exactly how fast your machine is at the renderer.

    Here's the context that makes this interesting. Nearly every Bernini workflow out there runs the renderer-only Bernini-R through Kijai's integration. This pack runs the full Bernini-Diffusers stack - the 7B MLLM semantic planner included - which the community mostly writes off as "the half of the paper nobody could get anything out of." Text-to-video is where you can actually judge that claim for yourself, because it's pure generation with no editing to muddy the comparison.

    What you set

    Inputs: prompt, negative_prompt, num_frames, fps, width, height, steps, seed, quality_preset, acceleration, memory_mode. The video-specific ones:

    • num_frames - default 9, range 5–129, and the step is 4 for a reason: the Wan VAE compresses time ~4×, so frame counts that decode cleanly are 4n+1 (9, 81, 129). Stay on the slider's rhythm. 81 frames at 16 fps is the classic 5-second clip and Bernini's comfort zone - it's where it beats plain Wan 2.2 on the repetition problem.
    • fps - just the frame rate written into the returned video (1–60, default 16). The model doesn't care; the file does.
    • width / height - 64–2048, step 16. 512² is a safe start; 848×480 is what the repo's own example uses.

    The rest are the pack-wide knobs: steps (4 with LightX2V acceleration, 50 in the provided examples without), quality_preset (standard/quality - more planner time), acceleration, and memory_mode.

    Output is a standard VIDEO socket, so it drops straight into SaveVideo (or a video preview node).

    Installing and first run

    Same install as every node in this pack - see the pack's Text to Image page for the full walkthrough, but the short version:

    cd ComfyUI/custom_nodes
    git clone https://github.com/RH-RunningHub/ComfyUI-RH-Bernini-Full.git
    cd ComfyUI-RH-Bernini-Full
    pip install -r requirements.txt
    pip install --no-deps git+https://github.com/ByteDance-Seed/[email protected]
    

    plus the qint8 model at ComfyUI/models/diffusers/Bernini-Diffusers-qint8:

    cd ComfyUI/models
    modelscope download --model Gluttony10/Bernini-Diffusers-qint8 --local_dir diffusers/Bernini-Diffusers-qint8
    

    The --no-deps on VeOmni is non-negotiable - it's a real dependency here, but letting it pull its own deps can replace your torch and torchvision.

    The gotchas that will actually bite

    • The acceleration fallback is silent. The node only auto-loads one specific LightX2V LoRA pair: ComfyUI/models/loras/Wan2.2-T2V-A14B-4steps-lora-rank64-Seko-V2.0/high_noise_model.safetensors and its low_noise_model.safetensors sibling. Missing pair = the wan2.2_lightx2v_4step setting quietly runs without LoRAs, and your default 4 steps will look rough. Get the pair, or set acceleration to none and use 25–50 steps.
    • The first run is a wall of time. The qint8 model loads the planner, T5, vision encoder, and 14B transformer before a single frame samples. Keep the default keep_loaded_batch memory mode so consecutive jobs reuse that cached pipeline.
    • No audio. Bernini is mute, full stop - same as every other node in this pack. If you need sound, it has to come from a separate stage in the workflow (routing through LTX for audio is the community's usual move).
    • Slow isn't a bug. Video generation here is ~Wan-2.2-class compute per frame; the editing nodes are heavier still because they feed the source video back into the model. If your machine just survived a t2v run, you now know what you're signing up for.

    If you came to Bernini for editing, run one 81-frame t2v job first. It's the fastest way to confirm your install, your VRAM budget, and your patience before you add a source video to the input.

    CategoryRunningHub/Bernini

    Inputs (11)

    NameTypeDefaultDescription
    promptSTRINGA short smooth video of a red ceramic teapot rotating slowly on a white table.Text prompt or edit instruction.
    negative_promptSTRINGlow quality, blurry, distorted, text, watermarkNegative prompt.
    num_framesINT95–129Number of output frames. Higher values increase VRAM use and runtime.
    fpsINT161–60Frame rate written into the returned video.
    widthINT51264–2048Output width in pixels. Larger values increase VRAM use and runtime.
    heightINT51264–2048Output height in pixels. Larger values increase VRAM use and runtime.
    stepsINT41–100Diffusion steps.
    seedINT34560–4294967295Random seed. Values are clamped to NumPy's valid 0 to 2**32-1 range before inference.
    quality_presetCOMBOstandardstandard balances speed and quality; quality spends more planning time for better output.
    accelerationCOMBOwan2.2_lightx2v_4stepAuto-load the Wan2.2 T2V LightX2V 4-step LoRA pair from ComfyUI/models/loras when available.
    memory_modeCOMBOkeep_loaded_batchkeep_loaded_batch keeps the Bernini pipeline cached for faster consecutive jobs; low_vram_unload frees memory after each run.

    Outputs (1)

    NameTypeDescription
    videoVIDEO