NL Bernini Prompt Enhancer
Prompt templates for Bernini, without touching an API
- full_prompt
- system_prompt
- user_prompt
- task_type
- response_format
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 fromVideo Edit (v2v)throughMulti-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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | Video Edit (v2v) | Prompt-enhancer task template. Use the node context menu for all mode descriptions. |
| user_prompt | STRING | Raw artist instruction to rewrite through the downstream GPT/API node. | |
| reference_image_countopt | INT | 10–16 | Number of reference images attached separately to the GPT/API node. |
| source_video_frame_countopt | INT | 30–16 | Number of source video frames attached separately to the GPT/API node. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| full_prompt | STRING | — |
| system_prompt | STRING | — |
| user_prompt | STRING | — |
| task_type | STRING | — |
| response_format | STRING | — |