VELVET VICE MiniMax H3 — Internal Watermark Apply
The watermark worker you'll probably never click — and that's the point
- images
- images
If you render video for other people - clients, a Civitai page, anywhere your work might walk off - a watermark is the least glamorous part of the pipeline and the easiest to forget. The VELVET VICE MiniMax H3 Internal Watermark Apply is the compositor that stamps one onto every frame of your finished sequence. "Internal" is doing real work in that name: in the reference workflow you don't drive this node directly. The H3 Output / Finishing Hub owns the watermark controls you see, and this node is the worker the hub delegates to. But if you're hand-building your own output chain, it's fully usable on its own.
The mechanism is simple image compositing, and the inputs read like a layering checklist:
- images (IMAGE) - the frame sequence to stamp.
- enabled (false by default) - no overlay happens until you switch it on. Safe default, and the reason a freshly-cloned workflow won't suddenly watermark your renders.
- watermark_file (STRING) - the mark to apply. The pack looks for it in ComfyUI's input directory, and it prefers a file named
Velvet_Vice_Watermark.png(PNG, WebP, JPG all work). In the hub-driven graph this is a real socket fed by the hub's file picker - a deliberate choice so the selection is part of the executable graph rather than a frontend-only widget. - position (bottom-right default) - nine slots: all four corners, all three center columns, dead center.
- scale (0.18) - mark size relative to the frame, 2% to 80%.
- opacity (0.65) - blend strength. Below ~0.4 it's more of a faint provenance tag; up near 1.0 it's a genuine overlay.
- margin_x / margin_y (24 each) - the inset from the frame edge in pixels, so the mark isn't flush against the border.
Output: images - the composited sequence, ready for your encoder or the video saver.
The mark is a file you provide: drop a transparent PNG (or any image) into ComfyUI/input/ and point at it. A logo with transparency works best - a solid rectangle at 0.65 opacity over a moving scene is just a box on the screen.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-minimax-h3
Restart ComfyUI (Manager: search "velvet-vice-minimax-h3"). No pip dependencies; it uses the image libraries ComfyUI already ships.
The practical gotchas
If the watermark file can't be found, the node doesn't crash - it passes the frames through unmarked. That's friendly but easy to miss, so when your output mysteriously has no watermark, check the filename and that it's actually in ComfyUI/input/, not somewhere else on disk. And because opacity is the knob everyone forgets: at 0.65 over a bright sky, a dark logo reads fine; over dark footage it can vanish, so test the frame the mark actually lands on. Crop-position readers will also crop a corner mark straight off - if you're fighting people re-uploading your work, center or top placement survives cropping better than bottom-right, which is why the default being bottom-right tells you this is a politeness mark, not an anti-theft tool.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| enabled | BOOLEAN | false | — |
| watermark_file | STRING | — | |
| position | STRING | bottom-right | — |
| scale | FLOAT | 0.180.02–0.8 | — |
| opacity | FLOAT | 0.650–1 | — |
| margin_x | INT | 240–2048 | — |
| margin_y | INT | 240–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |