OpenRouter API
One key, every LLM, into your workflow
- LLM_API
First thing to understand: this node doesn't generate anything by itself. It's a credential-and-connection node. You give it your OpenRouter key, it hands back an LLM_API handle, and that gets plugged into ArtVenture's LLM Chat or LLM Completion nodes where the actual prompting happens. Think of it as the "log in to OpenRouter" step, not the "talk to a model" step.
Why bother routing through OpenRouter instead of OpenAI or Claude directly? Because OpenRouter is a single gateway to a huge menu of models - OpenAI, Anthropic, Google, Meta, Mistral, plus a pile of open-weight ones - all behind one API key and one billing account. In a ComfyUI context that's genuinely convenient. You caption an image with one model today, swap to a cheaper one tomorrow, and you never touch the connection node - you just change the model name in the downstream chat node. One key, the whole zoo.
How it works
The node builds an API config object pointed at OpenRouter's endpoint and stamped with your key. OpenRouter speaks an OpenAI-compatible protocol, so anything the ArtVenture LLM nodes can do against OpenAI, they can do here - text prompts, and vision (image input) on the models that support it. The config flows downstream; the LLM Chat/Completion node is where you pick the model and send the actual request.
Inputs and outputs
Two inputs, both required:
openrouter_api_key- your key from openrouter.ai. Single-line string, typed straight in.endpoint- defaults tohttps://openrouter.ai/api/v1and you almost never change it. It's there so you can point at a proxy or a mirror if you have one.
The output is LLM_API - the connection handle. Wire it into an ArtVenture LLM node's api input.
Installing it
Ships with the ArtVenture pack. ComfyUI Manager: search comfyui-art-venture, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/sipherxyz/comfyui-art-venture
Then restart ComfyUI. No model download - the model lives on OpenRouter's servers, you're just calling it. You will need network access and, obviously, a funded OpenRouter account.
Common issues
Your API key is sitting in the workflow file. This is the one to actually care about. The key is typed into a node, which means it gets saved into the workflow JSON and travels with it. Share that .json - post it, upload it to a template gallery, hand it to a teammate - and you've leaked a live key. Strip it before you share, and rotate the key if you've already shared. On a shared or cloud runner, treat the key as exposed the moment it's in the graph.
401 / auth errors. Wrong or expired key, or an OpenRouter account with no credit. Check the key and your balance on openrouter.ai first.
The model name is rejected. OpenRouter uses namespaced model IDs like anthropic/claude-3.5-sonnet or openai/gpt-4o. That name goes in the downstream LLM node, not here - but a bad ID there will surface as an error even when this node is fine. Copy the exact slug from OpenRouter's model list.
Nothing happens. Remember this node only makes the connection. If you haven't wired its LLM_API output into a chat/completion node, there's nothing to run.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| openrouter_api_key | STRING | — | |
| endpoint | STRING | https://openrouter.ai/api/v1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LLM_API | LLM_API | — |