Nodes/ERPK Collection/OpenAI Vision
ComfyUI Node

OpenAI Vision

Make GPT-5.5 look at your images and tell you what it sees

By eRepublik-Labs·Created 12 months ago·Updated 5 days ago· 2
OpenAI Vision
  • image
  • client
  • analysis
◄promptDescribe this image in detail.►
◄seed-1►
◄modelgpt-6.1-sol►
◄detailauto►
◄max_tokens4096►
◄temperature0.40►
◄reasoning_effortnone►
◄verbositydefault►

Some of the most useful ComfyUI nodes don't generate anything - they look. OpenAI Vision hands an image (or a batch of them) to a GPT model and returns text: descriptions, critiques, quality checks, prompt round-trips. It's the natural next step after generation: you made an image, now ask the model how well it matches what you asked for, or feed the analysis back into a prompt-builder node to close the loop.

It's part of the ERPK Collection, the community pack wrapping the OpenAI API for ComfyUI. Billed per token like any OpenAI call, no local model.

How it works

You connect an image tensor, ask a question, and the node sends it to OpenAI's API with the image. The model reads the pixels (GPT-4o-style vision, with GPT-5.5 as the default) and returns a single analysis STRING. That string is the whole output - wire it into a text display, a "show text" node, or a prompt-building chain. Because it accepts a ComfyUI IMAGE tensor, it works inline after a generation node without any file juggling.

The inputs that matter

  • image - the image(s) to analyze, as a ComfyUI tensor. Required. It takes batches too, so you can run a whole contact sheet through one node.
  • prompt - your question or instruction. Default is "Describe this image in detail." Ask for what you actually need: "Does this match: a red car in snow?" gets you a verdict, not an essay.
  • model - defaults to gpt-5.5. Drop to a cheaper model for throwaway checks; the combo box has the full family.
  • detail - auto, low, or high. Low is faster and cheaper; high reads finer details. Start at auto.
  • max_tokens - caps the analysis length (256–16384, default 4096). Generous enough for a real description.
  • temperature - default 0.4, already leaning factual. Lower it further for strict checks; a vision task rarely wants creative.
  • reasoning_effort / verbosity - for the reasoning-capable and gpt-5.x models respectively. Ignored silently by models that don't support them.

The seed widget is best-effort here - reproducibility for vision isn't guaranteed, so treat it as a hint, not a contract.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk
pip install -r requirements.txt

Or ComfyUI Manager → search erpk → ERPK Custom Nodes. Add your OpenAI key under right-click canvas > ERPK Settings (Settings > ERPK > API Keys); the client input is optional if the key is there.

Common issues

  • Auth errors - key not set. It lives in ERPK Settings or openai/config.ini, not on this node.
  • Rambling output when you wanted a verdict - write a tighter prompt. "Answer in one sentence: is there a cat?" beats "Describe this image."
  • Unexpected token cost - detail: high on large images is the expensive setting. Drop to low for bulk checks.
  • Vision says something obviously wrong - GPT vision isn't infallible on small, subtle, or heavily stylized details; high detail and a more specific question usually fix it.

This is the node that turns ComfyUI from a generator into a feedback loop: generate, critique, revise. If you're doing prompt-to-prompt iteration, wire the analysis output into your text node and let the model argue with itself.

CategoryERPK/OpenAI

Inputs (10)

NameTypeDefaultDescription
imageIMAGEImage(s) to analyze (ComfyUI tensor)
promptSTRINGDescribe this image in detail.Question or instruction about the image(s)
seedINT-1-1–2147483647Seed for reproducible outputs (best-effort). Randomizes by default.
clientoptOPENAI_API_CLIENTOpenAI API client from OpenAI API Config node (optional if API key is configured in Settings)
modeloptCOMBOgpt-6.1-solOpenAI model to use for vision analysis
detailoptCOMBOautoImage detail level (low=faster/cheaper, high=more detailed)
max_tokensoptINT4096256–128000Maximum length of analysis
temperatureoptFLOAT0.400–2Creativity level (lower=more factual). Ignored by every current model, which accepts only the default.
reasoning_effortoptCOMBOnoneReasoning depth for the gpt-5.6 and gpt-6.x models. 'none' sends no effort (the model uses its own default). 'minimal' is rejected by every current model and is sent as 'low'. Ignored by chat-latest.
verbosityoptCOMBOdefaultOutput verbosity for the gpt-5.6 and gpt-6.x models. 'low' produces terse responses, 'high' produces more detailed ones. Distinct from max_tokens — shapes style, not the hard length cap. 'default' lets the model choose. Ignored by chat-latest, which does not accept verbosity.

Outputs (1)

NameTypeDescription
analysisSTRING—