Nodes/PoYo AI/PoYo Chat
ComfyUI Node

PoYo Chat

Chat models in your graph without the local LLM plumbing

By PoyoAPI·Created about a month ago·Updated about a month ago· 0
PoYo Chat
    • response_json
    model
    protocol
    request_json{}
    model_id_override

    You want an LLM inside your ComfyUI graph - a prompt enhancer, a captioner, a text step before generation - and you don't want to install Ollama, download a GGUF, or budget VRAM for two models at once. PoYo_Chat is the shortcut: pick a model, pick a protocol, and it calls a hosted chat API from inside the graph. No local model, no separate server, no weights.

    This is the API path of the local-vs-API decision the KB keeps coming back to. The honest read: you reach for it when you want real frontier-chat quality and don't care about the two things a local model buys you - uncensored output and free per-call. A hosted chat endpoint filters, costs per request, and your prompts leave the machine. If your job is "rewrite my rough idea into a structured prompt," that's the right trade for many people and the wrong one for others. Know which side you're on before wiring it in.

    Mechanism. The model dropdown is filled from PoYo's catalog filtered to chat-capable models (cached 15 minutes, same as the generation nodes). The protocol dropdown is the interesting part - it picks which API dialect PoYo speaks for you: openai-chat, openai-responses, anthropic, or gemini. You write request_json in the shape that protocol expects (an OpenAI-style messages array for openai-chat, Anthropic's format for anthropic, and so on). The node injects the model into the request and forces streaming off, then returns the parsed response.

    Inputs. The three required ones: model (dropdown), protocol (dropdown), and request_json (multiline JSON - this is where your actual conversation lives, so know the shape of the protocol you picked). The optional model_id_override is the escape hatch when the catalog fetch failed at ComfyUI startup and the dropdown is stuck on (enter model ID below) - type the model ID there instead.

    Output. One STRING: response_json, the raw API response as JSON. You'll almost always need to extract the actual text from it (the choices[0].message.content-style path for OpenAI, the equivalent field for the other protocols), so expect to follow it with a JSON-parse or regex node - this is a data node, not a "gimme text" node.

    Install. Part of the poyo-comfyui pack, which needs ComfyUI 0.32.0+ (native node system). ComfyUI Manager (search "PoYo"), comfy node install poyo-nodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PoyoAPI/poyo-comfyui.git
    

    then restart. No models, no heavy dependencies - the models are all on PoYo's side.

    Where people get burned. Protocol mismatch is the classic: write Anthropic-format JSON and select openai-chat, and you'll get a validation error back from the API. Second, the response shape varies by protocol, so don't assume you know where the text is until you look at a real response_json. And the security frame applies double here: this node takes your API key and calls the network by design, from a pack with essentially no community track record - that's the exact shape that's been weaponized in this ecosystem before. Set the key via POYO_API_KEY in the environment or python -m poyo_nodes.configure (writing to ~/.poyo/comfyui.json), never in a node field, and skim the source before you trust it.

    CategoryPoYo AI/Chat

    Inputs (4)

    NameTypeDefaultDescription
    modelCOMBO1 options: (enter model ID below)
    protocolCOMBO4 options: openai-chat, openai-responses, anthropic, gemini
    request_jsonSTRING{}
    model_id_overrideoptSTRING

    Outputs (1)

    NameTypeDescription
    response_jsonSTRING