Nodes/ComfyUI-YogurtNodes/FreedomGPT Image Understand
ComfyUI Node

FreedomGPT Image Understand

Ask a cloud vision model what's actually in your image

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
FreedomGPT Image Understand
  • image
  • image1
  • image2
  • image3
  • image4
  • history
  • text
  • history
  • payload
api_key
model_nameliberty
system_prompt
prompt
temperature1.00
top_p1.00
top_k40
max_tokens4096
retry_count1
chat_template<-system-> {{system_instruction}} <-/system-> <-user-> {{prompt}} <-/user->
seed-1
proxy_url
timeout0
extra{}

FreedomGPT Image Understand is the "describe what you see" node: you feed it an image and a question, and it returns a text answer from FreedomGPT's vision model. "Is this person wearing a hat?" "Transcribe the text in this logo." "What's wrong with this render?" It's the read-the-image counterpart to the pack's cloud image generation node, and it opens up the whole auto-prompt / image-analysis workflow family - a vision model describing an output, that description feeding a prompt builder, a new image generated from it. Round-trip loops without any local captioning model.

The mechanism is standard vision-API plumbing: your ComfyUI IMAGE tensors (up to five, via image plus image1image4) get converted to PIL and base64, sent to https://chat.freedomgpt.com/api/v1 with the prompt, and the model's text answer comes back. Because it's an API call, there's no local model download and no VRAM - but there's also a round-trip, an API key, and, for anyone outside regions with easy access, possibly a proxy to think about.

Inputs that matter

  • api_key - or the shared key file / FREEDOMGPT_API_KEY env var.
  • prompt - the question or instruction about the image. system_prompt shapes the overall tone.
  • model_name - defaults to liberty; verify against FreedomGPT's current vision model list if it errors.
  • temperature (0–2), top_p, top_k, max_tokens - the usual sampling knobs. Defaults are sensible; most people never touch them.
  • chat_template - the message formatting template, with {{system_instruction}} and {{prompt}} placeholders. The default works; changing it is for advanced users.
  • seed, proxy_url, timeout - reproducibility, proxy support, and request timeout (0 = none).

Outputs

  • text - the model's answer, a STRING you can pipe into a prompt builder, a Switch, or StringConcat.
  • history - the conversation history, so you can chain follow-up questions across nodes.
  • payload - the raw request payload, *-typed, useful for debugging what was actually sent.

Install & key setup

Part of ComfyUI-YogurtNodes:

cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt

Restart ComfyUI; the node lives under "Yogurt Nodes" → LLM. Keys resolve in this order: the node's api_key field → api_key.json in custom_nodes/ComfyUI-YogurtNodes/yogurt_nodes/llm/ ({"freedomgpt": "YOUR_KEY"}) → the FREEDOMGPT_API_KEY env var.

Common issues

  • "No text comes back" - check the text output is actually empty vs. just short, then check payload to see what got sent.
  • "It can't see my image" - make sure an image is actually wired into one of the image ports; the node only sends what's connected.
  • "Auth / timeout errors" - same key-resolution and proxy story as the generation node: check key sources in priority order and set proxy_url if the API is blocked in your region.
  • "The answer is generic" - vision models are literal; ask precise questions. "What color is the subject's shirt?" beats "describe this."

Honest take: if you're already paying for a big API, you may have a preferred vision provider - the pack offers Gemini, OpenAI, Grok, OpenRouter, and Vertex variants too. This node is the right call specifically when FreedomGPT is your provider of choice or your only reachable one.

CategoryYogurtNodes/LLM

Inputs (20)

NameTypeDefaultDescription
api_keySTRINGAPI key for accessing FreedomGPT API
model_nameSTRINGlibertyFreedomGPT vision model name
system_promptSTRINGSystem-level prompt that affects the overall conversation style
promptSTRINGQuestion or instruction about the image
temperatureFLOAT1.000–2Sampling temperature, higher values produce more random outputs
top_pFLOAT1.000–1Sampling probability threshold, controls output diversity
top_kINT401–100Top-K sampling parameter, limits vocabulary to top K tokens
max_tokensINT40960–32768Maximum number of tokens in the generated text
retry_countINT11–10Number of retry attempts if the request fails
chat_templateSTRING<-system-> {{system_instruction}} <-/system-> <-user-> {{prompt}} <-/user->Content template for the generated text
seedINT-1-1–2147483647Random seed for reproducible results, -1 for random
proxy_urlSTRING代理URL,格式: protocol://user:pass@addr:port,支持http,https,socks5,socks5h
timeoutINT00–2147483647Timeout for the request in seconds, 0 means no timeout
imageoptIMAGE
image1optIMAGE
image2optIMAGE
image3optIMAGE
image4optIMAGE
historyoptHISTORY
extraoptSTRING{}Extra parameters for the request, in JSON format

Outputs (3)

NameTypeDescription
textSTRING
historyHISTORY
payload*