PoYo AI
Official PoYo AI model nodes for ComfyUI
PoYo AI nodes for ComfyUI
Official ComfyUI V3 nodes for the PoYo model catalog. The node pack calls PoYo's existing REST endpoints directly; it does not introduce another job API or another task-state model.
Install
After the first registry release, install by node ID with Comfy CLI:
comfy node install poyo-nodes
You can also clone the source repository into ComfyUI/custom_nodes, then restart ComfyUI:
cd ComfyUI/custom_nodes
git clone https://github.com/PoyoAPI/poyo-comfyui.git
ComfyUI 0.32.0 or newer is required.
Configure
The API key is deliberately kept outside workflow JSON. Environment variables take precedence:
set POYO_API_KEY=your_poyo_api_key
set POYO_BASE_URL=https://api.poyo.ai
On macOS/Linux, use export instead of set. You can also write the local user configuration:
python -m poyo_nodes.configure
This saves credentials to ~/.poyo/comfyui.json. Do not commit that file or paste API keys into
node fields.
Nodes
| Node | Purpose |
| --- | --- |
| PoYo Generate Image | Friendly image generation/editing with an IMAGE output |
| PoYo Generate Video | Video generation with URL and local output path |
| PoYo Generate Audio | Audio generation/editing with an AUDIO output |
| PoYo Run Any Model | Generic access to the full live catalog and model input JSON |
| PoYo Submit Job | Submit without waiting |
| PoYo Get Job Status | Query a task once |
| PoYo Await Job | Poll until the task finishes or fails |
| PoYo Upload Media | Upload IMAGE, AUDIO, or a local file |
| PoYo Save Result File | Download a public result URL under ComfyUI/output/poyo |
| PoYo Chat | OpenAI Chat/Responses, Anthropic, or Gemini-compatible chat |
The dropdowns are populated from GET /v1/catalog/models and cached for 15 minutes. If PoYo is
unavailable while ComfyUI starts, use the advanced model_id_override field. input_json follows
the selected model's existing catalog schema.
API and task behavior
The pack reuses these current endpoints:
GET /api/user/balanceGET /v1/catalog/modelsandGET /v1/catalog/models/{model_id}POST /api/generate/submitGET /api/generate/status/{task_id}POST /api/common/upload/stream- Existing OpenAI, Anthropic, and Gemini-compatible chat routes
PoYo task status is passed through as-is: not_started, running, finished, or failed.
No ComfyUI-only status is stored or returned. Network errors, HTTP 429, and server errors are
retried with exponential backoff; Retry-After is honored when present.
Development
python -m pip install -e ".[dev]"
pytest
ruff check .
Sample workflows are in workflows.