MinusZone - deprecated - ImageInterrogator(BaseLLava)
The raw-path LLaVA interrogator — old, but the pairing logic still teaches
- image
- clip
- llama_cpp_options
- customize_instruct
- captioner_config
- text
- conditioning
deprecated - ImageInterrogator(BaseLLava) is the raw-path sibling of the old LLaVA interrogator: instead of the preset dropdowns on ImageInterrogator(LLava), both the vision model and its projector are plain STRING fields where you type file paths. Per the README, these base nodes exist so you can "直接传入模型路径 / directly pass in the model path." It's the v1 escape hatch for the v1 vision node, and like every v1 node it's been superseded - here by CLIPTextEncode(ImageInterrogator) plus the manual/downloader model-config selectors.
The inputs are the v1 interrogator's minus the presets: llama_cpp_model (path to a LLaVA-capable GGUF) and mmproj_model (path to the matching projector) are both free-text. Then resolution (default 512, resize before the model sees the image), sd_format (none / v1 - a vestigial SD 1.5-era flag), keep_device, seed. Optional: image, clip, llama_cpp_options, customize_instruct, captioner_config. Outputs: text (the image description) and conditioning (only with clip wired).
The one thing worth taking from it
The mechanism is the canonical LLaVA-in-llama.cpp pattern, and it explains why vision nodes in this pack need two files at all: a base LLM that does the text generation and an mmproj projector that turns image embeddings into text tokens. The base node forces you to confront that pairing by hand - you pick both paths, and if they don't match, the output is garbage or an error. The modern ModelConfigManualSelect(ImageInterrogator) automates the pairing by SHA256 and gives you dropdowns; the downloader variant fetches both files for you. That's the upgrade path, and it's the honest recommendation: understand the two-file concept from this node, then never use it again.
Installing
Ships in the pack's v1 subpackage, always registered:
cd ComfyUI/custom_nodes
git clone https://github.com/MinusZoneAI/ComfyUI-Prompt-MZ
Restart. Needs llama-cpp-python + diskcache; the files are yours to supply, no auto-download.
Troubleshooting
Raw-path nodes fail on paths first: absolute paths, files present, correct names - there's no dropdown to save you. Then the pairing: the mmproj must be the one built for your exact base model family (a LLaVA-1.6 Mistral projector won't pair with a Llama-3 base, etc.). The pack-wide FAQ applies as always: upgrade llama-cpp-python for the LLAMA_SPLIT_MODE_LAYER error, CUDA 12.1 PyTorch for LLama.dll, network fixes for wheel-build failures. And if the interrogator produces empty or boilerplate text, it's usually a weak Q4 model or a mismatched pair - check those before blaming the node.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| llama_cpp_model | STRING | — | |
| mmproj_model | STRING | — | |
| resolution | INT | 512128–2048 | — |
| sd_format | COMBO | none | 2 options: none, v1 |
| keep_device | COMBO | false | 2 options: false, true |
| seed | INT | 00–18446744073709550000 | — |
| imageopt | IMAGE | — | |
| clipopt | CLIP | — | |
| llama_cpp_optionsopt | LLamaCPPOptions | — | |
| customize_instructopt | CustomizeInstruct | — | |
| captioner_configopt | ImageCaptionerConfig | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| conditioning | CONDITIONING | — |