Nodes/ComfyUI-NL_Nodes/NL Bernini Prompt Enhancer
ComfyUI Node

NL Bernini Prompt Enhancer

Prompt templates for Bernini, without touching an API

By NOLABEL-VFX·Created 9 months ago·Updated 2 months ago· 0
NL Bernini Prompt Enhancer
    • full_prompt
    • system_prompt
    • user_prompt
    • task_type
    • response_format
    modeVideo Edit (v2v)
    user_prompt
    reference_image_count1
    source_video_frame_count3

    The name is slightly misleading, so let's clear it up first: NL Bernini Prompt Enhancer doesn't enhance anything itself, and it doesn't call any API. What it does is build the prompt strings that a downstream GPT/API node should send for Bernini's prompt-enhancement modes. Bernini - ByteDance's video generation and editing model built on Wan 2.2 - is prompt-based in a way that rewards structured, task-specific prompting: its editing modes want to know whether you're doing video-to-video editing, multi-reference editing, image-to-video, and so on. This node hands you a correctly-structured template for whichever of those tasks you're doing.

    Think of it as the form you fill out so your LLM gets the right instructions. You pick a mode, you type your artist instruction, and the node emits the system prompt, user prompt, and metadata that a GPT-style node needs. The README is explicit that it builds these strings without calling an API or storing keys - it's pure string assembly with an opinion.

    The inputs and outputs that matter

    • mode - the task template. The list runs from Video Edit (v2v) through Multi-Visual Video Edit (mv2v), Reference Video Edit (rv2v), Image Edit (i2i), Image To Video (i2v), Text To Video (t2v), and on. Twelve modes total; the node's context menu has a "Bernini mode guide" entry that describes each one, which is worth reading before you pick.
    • user_prompt - your raw artist instruction, the one thing you actually write.
    • reference_image_count / source_video_frame_count - how many references or source frames you'll attach separately to the API node, so the generated prompt knows to expect them.

    Outputs: full_prompt (connect this to a single-prompt API node), or system_prompt + user_prompt separately (for API nodes that support chat roles), plus task_type and response_format for the downstream call.

    How it fits the Bernini world

    Bernini's prompting is instruction-style, not caption-style - you tell it what to do with the references in plain language, and the multi-reference modes expect the references to be indexed ("the man from image0…"). This node is essentially a structured wrapper around that reality. For the solo user running Bernini through a ComfyUI API node, it saves you from hand-writing system prompts that are easy to get subtly wrong. For anyone else it's a template library in node form.

    Install

    Standard pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes
    

    or ComfyUI Manager → "ComfyUI-NL_Nodes", restart. No API keys, no models, no dependencies beyond the base set - which is the nice thing about a node that just formats strings. The catch is that it's useless without a downstream GPT/API node to feed, so make sure your Bernini API workflow is already working before you add this as an upgrade.

    CategoryNOLABEL/Utilities

    Inputs (4)

    NameTypeDefaultDescription
    modeCOMBOVideo Edit (v2v)Prompt-enhancer task template. Use the node context menu for all mode descriptions.
    user_promptSTRINGRaw artist instruction to rewrite through the downstream GPT/API node.
    reference_image_countoptINT10–16Number of reference images attached separately to the GPT/API node.
    source_video_frame_countoptINT30–16Number of source video frames attached separately to the GPT/API node.

    Outputs (5)

    NameTypeDescription
    full_promptSTRING
    system_promptSTRING
    user_promptSTRING
    task_typeSTRING
    response_formatSTRING