Lmcq Image Saver
Lmcq Image Saver — SaveImage with watermarks, format control, and metadata
- images
- watermark_image
The stock SaveImage node does one thing: writes a PNG with the workflow baked into its metadata. LmcqImageSaver is what you reach for the moment you need more than that - a watermark on your output, a smaller JPEG for the web, a quick brightness/contrast nudge before the file hits disk. It's the node this whole pack was originally built around, and it shows: it's the most thoroughly documented part of the README, and by far the most fleshed-out of the three image-saving variants in this pack.
What it's for. If you're generating images to actually distribute - sell, post publicly, hand to a client - plain PNG output with no branding and no compression control is often not what you want. This node bundles the finishing pass you'd otherwise do in a separate image-editor step directly into the save.
The inputs that matter. images is the obvious one - whatever came out of your VAE Decode. filename_prefix defaults to LMCQ; change it to whatever you want your files named. format picks between png, jpg, and webp; quality (1-100, default 95) only does anything for jpg - that's the compression tradeoff, lower means smaller files and more artifacting.
Watermarking is opt-in via apply_watermark (off by default). Once on, watermark_type chooses text or image; for text, watermark_text is the string, watermark_size controls how big it renders (0-80), and watermark_position picks one of nine anchor points (corners, edges, center). watermark_opacity (0-1, default 0.5) is how see-through it is. If you go the image route instead, wire an image into the optional watermark_image input - a logo PNG works well here.
enhance_brightness and enhance_contrast (both 0.1-2, default 1) are a cheap post-process pass - turn brightness down if your generations are consistently blown out, nudge contrast up if they're looking flat. And save_metadata (on by default) controls whether the workflow gets embedded in the file the way ComfyUI normally does - turn it off if you're distributing images and don't want people dragging your workflow out of them.
This node is terminal - it's an output node with no wired outputs of its own, so it ends the branch it's on. If you need to keep processing the image after saving (send it to a preview, upload it somewhere), you want LmcqImageSaverTransit instead, which is functionally identical but passes the image back out.
Installing it. Through ComfyUI Manager, search "ComfyUI-LMCQ" and install. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/sebord/ComfyUI-LMCQ
Restart ComfyUI. No extra models or heavyweight dependencies to fetch - this particular node is pure image processing, no downloads required.
Common gotchas. The one that trips people up most: setting quality and expecting it to matter on a PNG. It won't - PNG is lossless, so the quality slider is silently ignored unless format is jpg. If your files are unexpectedly huge and you meant to compress them, check you actually switched formats.
The other is watermark visibility - with watermark_opacity near 0 or watermark_size left at the low default, a text watermark can be nearly invisible on a busy image. If you're watermarking to actually deter reuse rather than just for subtle attribution, push opacity and size up and preview a batch before running it at scale.
And a pack-wide one worth knowing even though it's not this node's fault: ComfyUI-LMCQ ships a compiled runtime-protection module for its encryption nodes, and on some installs that module is missing, throwing a ModuleNotFoundError on startup that can take the whole pack down - including this node - because it fails inside the pack's shared __init__.py. If none of the Lmcq nodes show up at all, that's almost certainly what happened; the README's January 2026 update log has the fix (copy the Python-version-matching runtime files in, delete the rest, restart).
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | LMCQ | — |
| format | COMBO | 3 options: png, jpg, webp | |
| quality | INT | 951–100 | — |
| apply_watermark | BOOLEAN | false | — |
| watermark_type | COMBO | 2 options: text, image | |
| watermark_text | STRING | — | |
| watermark_size | INT | 150–80 | — |
| watermark_position | COMBO | 9 options: Bottom Right, Bottom Left, Top Right, Top Left, Center, Left, +3 | |
| watermark_opacity | FLOAT | 0.50–1 | — |
| enhance_brightness | FLOAT | 1.00.1–2 | — |
| enhance_contrast | FLOAT | 1.00.1–2 | — |
| save_metadata | BOOLEAN | true | — |
| watermark_imageopt | IMAGE | — |
Outputs (0)
No outputs