(Deno) Bernini Prompt Guide
Bernini wants instructions, not captions — this node speaks its language
- clip
- positive
- negative
Bernini is ByteDance's video editing model - Wan 2.2's weights reworked into a maskless instruction-following machine - and the single biggest thing to know about prompting it is that it does not prompt like a caption model. You don't write "a man in a red shirt walking through a market." You write instructions: "Replace the jacket with the shirt from image0. Keep camera motion, face, lighting, and background unchanged." The (Deno) Bernini Prompt Guide is a KJ-style helper that bakes that instruction format in, so you stop fighting the model and start directing it.
What it does
It's a text-encoding node: CLIP in, positive and negative conditioning out. The task selector (task_type) picks the system-prompt mode - Text to Video, Image to Video, Reference Video Edit, and friends - and the active instruction prefix is shown right on the node so you always know what's being prepended. In reference modes, a reference_prompt_helper toggle adds the image0 / image1 / image2 naming hints internally, which is exactly how Bernini's multi-reference prompting works: you index the reference images by name and tell the model what to keep and what to swap.
The negative side is collapsible, and negative_preset fills the box with the official Wan 2.2 negative - the long Chinese-language list - which you can then edit directly. What you see in the box is what gets encoded, so if you want a leaner negative, just delete and type.
Inputs and outputs that matter
clip- the Wan/Bernini text encoder. Wire in the CLIP from your Bernini/Wan 2.2 load.task_type- the mode.Reference Video Editis the default and the one you'll live in for v2v work.positive_prompt- your instruction, written like a clear chatbot command.negative_preset/negative_prompt- preset fills, box is authoritative.- Outputs:
positiveandnegativeCONDITIONING for the sampler.
The caveat you have to know
This node prepares text conditioning only. Bernini's visual conditioning (the reference-image context latents) still needs a ComfyUI/KJ backend that supports them - and as of the current docs that backend support is a draft ComfyUI PR. The README is blunt: use tools/DENO_Bernini_Preview_Backend_Update.bat only on a copied/test portable ComfyUI folder, never your main install. In practice that means this node slots into the Kijai Bernini workflow (the renderer-only Bernini-R path nearly everyone actually runs), and it earns its keep there by making the prompt half of that workflow one tidy node instead of hand-assembled text.
Install is the standard pack path:
cd ComfyUI/custom_nodes
git clone https://github.com/Deno2026/comfyui-deno-custom-nodes.git
# restart ComfyUI
The gotcha beginners hit is expecting this node alone to give them a working Bernini pipeline. It won't - you still need the Bernini model files, the ComfyUI support, and the compute budget. Bernini editing runs roughly double a Wan 2.2 generation because the source video is part of the model input. The node just makes the prompt side correct and repeatable, which is a real thing. Once you've had one output where the model actually swapped the jacket and kept everything else, you'll understand why the format matters.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | Wan/Bernini text encoder or CLIP used to encode the prompts. | |
| task_type | COMBO | Reference Video Edit | System Prompt mode for the Bernini/KJ-style instruction prefix. |
| positive_prompt | STRING | Replace the jacket with the shirt from image0. Keep camera motion, face, lighting, and background unchanged. | Editable instruction prompt. Write it like a clear chatbot instruction. |
| reference_prompt_helper | BOOLEAN | true | Adds a short image0/image1/image2 reference naming hint for reference modes. |
| negative_preset | COMBO | Official Wan2.2 | Preset used to fill the visible negative prompt box. |
| show_negative_prompt | BOOLEAN | true | Saved Show/Hide state for the negative prompt area. |
| negative_prompt | STRING | 色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走 | Editable negative prompt text that is actually encoded. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | Encoded positive conditioning for the Bernini/KJ workflow. |
| negative | CONDITIONING | Encoded negative conditioning for the Bernini/KJ workflow. |