Emu 3.5 VQA
The node that turns your 65B model into a local vision analyst
- model
- tokenizer
- vq_model
- image
- image2
- response
Emu 3.5 isn't just an image generator - it's a native multimodal model, which means it can also read images. Emu 3.5 VQA is the node that puts that to work: feed it an image and it can caption it, describe it in detail, analyze composition and mood, read text off it (OCR), answer free-form questions, or compare two images. The same 65B base model that writes stories is doing the analysis, and it's genuinely good at it.
Mechanically it's the mirror image of the generation nodes: your image is encoded through the vision tokenizer into visual tokens, inserted into the prompt stream before the question (image comes first, which is the format Emu expects for understanding tasks), and the model generates an answer autoregressively. The task_type dropdown swaps in a purpose-built prompt for each job - the OCR preset gets an optimized transcription prompt, the compare preset labels your images [First Image] / [Second Image] so the model doesn't mix them up. Generation uses a repetition penalty and low temperature by default, because you want a factual answer, not a hallucination with style.
The inputs that matter
- image - required
IMAGE. For comparisons, also wire image2. - task_type -
caption,describe,analyze,ocr,question,compare,custom.questionandcustomrequire you to fill inquestion; the presets work on their own but will append your question if you add one. - max_tokens - answer length cap, default 512 (up to 2048).
- temperature - default 0.3. The pack's advice is worth following: keep it at 0.1–0.3 for counting, OCR, identification (facts), and raise it toward 0.5–0.7 for creative description or artistic analysis.
- image_resolution -
256x256,384x384(default), or512x512. Lower is faster and lighter on VRAM; higher is better for OCR on fine text.
Output
- response (
STRING) - the model's answer. That's the whole output; wire it into a text display or a Show Text node.
The model choice that matters
Use the base Emu 3.5 model (65B), not Emu3.5-Image (34B). The pack is explicit about this: the Image model is optimized for generation, not understanding, and VQA quality on the 34B is noticeably weaker. The practical sting is that the 65B base is a serious piece of hardware - NF4 quantized it can split across two 24GB cards, and single-24GB cards are out of the running.
Install
cd ComfyUI/custom_nodes
git clone --recursive https://github.com/EricRollei/Emu35-Comfyui-Nodes.git emu35
cd emu35
pip install -r requirements.txt
Weights: huggingface-cli download BAAI/Emu3.5 --local-dir models/emu35/Emu3.5 plus BAAI/Emu3.5-VisionTokenizer.
Where it fits
If you already have Emu 3.5 loaded for story generation, VQA is effectively free - same model, new task. That's the honest use case: it's a niche add-on to a niche model, and most people who just want image captioning or OCR are better served by a smaller, purpose-built vision model that doesn't need 65B and two GPUs. But if you're in the Emu ecosystem anyway and want everything on one stack - generate the image, then ask the same model what it made - this is the node that closes the loop.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | EMU_MODEL | — | |
| tokenizer | EMU_TOKENIZER | — | |
| vq_model | EMU_VQ | — | |
| image | IMAGE | — | |
| task_type | COMBO | 7 options: caption, describe, analyze, ocr, question, compare, +1 | |
| max_tokens | INT | 51264–2048 | — |
| questionopt | STRING | — | |
| temperatureopt | FLOAT | 0.30–2 | — |
| image_resolutionopt | COMBO | 3 options: 256x256, 384x384, 512x512 | |
| image2opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |