MiniCPM-V
The plain node — one image in, one caption out, no knobs to turn
- image
- video
- STRING
This is the "just caption it" node. MiniCPM-V is the stripped-down version of this pack's transformers node: same model, same quality, zero sampling parameters, one text output. If you want a caption pipeline up in thirty seconds without deciding what temperature means, this is the one.
What it actually is: a local MiniCPM-V-4.5 vision-language model (OpenBMB's, via HuggingFace Transformers) that looks at an image and answers a prompt about it. No API, no key, nothing leaves your machine - inference happens on your GPU. First run downloads the model (a few GB) into ComfyUI/models/LLM; after that it's instant.
What you give up vs. the Advanced node
Everything is set to the pack's defaults and hidden: max 1024 tokens, temperature 0.7, top_p 0.9, top_k 100, repetition penalty 1.1, and a fixed default system prompt. You can't tweak any of it, and you can't change the system prompt - which is the real limitation for captioning, since a tuned system prompt ("answer in one short sentence") is what makes output consistently usable. The model choice, preset prompt, and device/memory management are the only real decisions.
The inputs that matter
- image and video - feed one or the other from your workflow. Video gets sampled into frames and treated as a multi-frame question; for a single image just wire in an IMAGE.
- model - four choices, defaulting to
MiniCPM-V-4.5-int4, which is the right default: 4.5's quality at a footprint that runs in ~8GB. FullMiniCPM-V-4.5wants 12GB+, and the plain v4 options are there if you want them. - preset_prompt - 21 built-ins (Describe, Caption, Analyze, Style, Emotion, and video variants). custom_prompt, when non-empty, overrides the preset.
- device (Auto/GPU/CPU) and memory_management (Keep in Memory / Clear After Run / Global Cache). Leave both alone for single captions; set Keep in Memory for batch captioning so the model doesn't reload every run.
Output
A single STRING - the model's answer. That's it. Wire it into a text display node or a caption-saving node (many packs have one) and you're done. There's no separate PROMPT output here like the Advanced node has; if you need to see what was asked, graduate to the Advanced version.
Installing
ComfyUI Manager (search "MiniCPM") or:
cd ComfyUI/custom_nodes
git clone https://github.com/1038lab/ComfyUI-MiniCPM
cd ComfyUI-MiniCPM
pip install -r requirements.txt
Restart, then grab it from 🧪AILab/📝MiniCPM. The only real gotcha is first-run patience: the model download is a few GB and the console looks dead while it streams. If you hit CUDA out-of-memory, switch the model to MiniCPM-V-4-int4 or move to the pack's GGUF node. And if you outgrow it - say, you start captioning batches or want control over output length - the Advanced node is the same pack, same install, same model, just with the knobs exposed.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | — | |
| videoopt | VIDEO | — | |
| modelopt | COMBO | MiniCPM-V-4.5-int4 | 4 options: MiniCPM-V-4.5-int4, MiniCPM-V-4-int4, MiniCPM-V-4.5, MiniCPM-V-4 |
| preset_promptopt | COMBO | Describe | 21 options: Describe, Caption, Analyze, Identify, Explain, List, +15 |
| custom_promptopt | STRING | — | |
| deviceopt | COMBO | Auto | 3 options: Auto, GPU, CPU |
| memory_managementopt | COMBO | Keep in Memory | 3 options: Keep in Memory, Clear After Run, Global Cache |
| seedopt | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |