ComfyUI Node
OpenRouter Chat
Access OpenRouter's multi-provider API for various AI models. Supports free models, vision analysis, JSON output, and comprehensive error handling.
OpenRouter Chat
- image_input
- response
- status
- help
◄api_key►
◄modelcohere/north-mini-code:free►
◄manual_model►
◄base_urlhttps://openrouter.ai/api/v1/chat/completions►
◄system_promptYou are a helpful AI assistant. Please provide clear, accurate, and ethical responses.►
◄user_prompt►
◄send_systemyes►
◄temperature0.70►
◄top_p0.70►
◄top_k50►
◄max_tokens1000►
◄frequency_penalty0.00►
◄presence_penalty0.00►
◄repetition_penalty1.10►
◄response_formattext►
◄seed_moderandom►
◄seed_value0►
◄max_retries3►
◄debug_modeoff►
◄additional_params►
CategoryOpenRouter
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | ⚠️ Your OpenRouter API key from https://openrouter.ai/keys (Note: key will be visible - take care when sharing workflows) | |
| model | COMBO | cohere/north-mini-code:free | Select a free OpenRouter model or choose 'Manual Input' for custom models. Models with 'vision' or 'vl' support image inputs. Use ComfyUI's Refresh to update this list from OpenRouter's API. |
| manual_model | STRING | Enter a custom model identifier (only used when 'Manual Input' is selected). Format: provider/model-name[:free]. Leave empty if using dropdown. | |
| base_url | STRING | https://openrouter.ai/api/v1/chat/completions | OpenRouter API endpoint URL. Leave as default unless using a proxy or alternate endpoint. |
| system_prompt | STRING | You are a helpful AI assistant. Please provide clear, accurate, and ethical responses. | Optional system prompt to set the AI's behavior and context. Defines the assistant's role, personality, and guidelines. |
| user_prompt | STRING | Main prompt or question for the model. For vision models, describe what you want to know about the image. Required field. | |
| send_system | COMBO | yes | Toggle system prompt sending. Set to 'no' if the model doesn't support system prompts or you want to skip it. |
| temperature | FLOAT | 0.700–2 | Controls response randomness and creativity. Lower values (0.0-0.3) = more focused and deterministic. Higher values (0.7-2.0) = more creative and varied. |
| top_p | FLOAT | 0.700–1 | Nucleus sampling threshold. Controls diversity of word choices. Lower values (0.0-0.3) = more focused vocabulary. Higher values (0.7-1.0) = more diverse word selection. |
| top_k | INT | 501–1000 | Limits vocabulary to top K most likely tokens. Lower values = more focused. Higher values = more diverse. 50 is a balanced default. Range: 1-1000. |
| max_tokens | INT | 10001–32768 | Maximum number of tokens to generate in the response. Note: actual limit varies by model. Higher values allow longer responses. Range: 1-32,768. |
| frequency_penalty | FLOAT | 0.00-2–2 | Penalizes tokens based on their frequency in the output. Positive values reduce word repetition. Range: -2.0 to 2.0. 0.0 = no penalty. |
| presence_penalty | FLOAT | 0.00-2–2 | Penalizes tokens that have already appeared in the output. Positive values encourage topic diversity. Range: -2.0 to 2.0. 0.0 = no penalty. |
| repetition_penalty | FLOAT | 1.101–2 | OpenRouter-specific repetition penalty. Values > 1.0 reduce repetition. 1.0 = off. Higher values = stronger penalty. Range: 1.0-2.0. |
| response_format | COMBO | text | Response format: 'text' for natural language, 'json_object' for structured JSON output. When using JSON, instruct the model in your prompt to output JSON. |
| seed_mode | COMBO | random | Seed behavior control: 'fixed' uses the seed_value below, 'random' generates new seed each time, 'increment' increases by 1, 'decrement' decreases by 1. |
| seed_value | INT | 00–9007199254740991 | Seed value for reproducibility when seed_mode is 'fixed'. Use same seed + parameters for similar outputs. Valid range: 0-9007199254740991 (JavaScript safe integer limit). |
| max_retries | INT | 30–5 | Maximum number of automatic retry attempts for recoverable errors (rate limits, temporary server issues). 0 disables retries. Range: 0-5. |
| debug_mode | COMBO | off | Enable detailed error messages and request debugging information. Useful for troubleshooting API issues or parameter problems. |
| image_inputopt | IMAGE | Optional image input for vision-capable models. Supported: llama-4-maverick/scout, nemotron-nano-12b-v2-vl, qwen2.5-vl-32b. Maximum size: 2048x2048. | |
| additional_paramsopt | STRING | Additional OpenRouter API parameters in JSON format. Example: {"min_p": 0.1, "top_a": 0.5}. Use for advanced model-specific parameters not exposed in the UI. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |
| status | STRING | — |
| help | STRING | — |