{ "id": "openrouter", "name": "Openrouter", "description": "OpenRouter provider for routing requests across many hosted models through one API.", "npmName": "@elizaos/plugin-openrouter", "version": "2.0.0-beta.0", "source": "bundled", "tags": [ "ai-provider", "llm", "openrouter", "routing" ], "config": { "OPENROUTER_API_KEY": { "type": "secret", "required": true, "sensitive": true, "label": "Api Key", "help": "API key used by the OpenRouter plugin for authenticating requests.", "advanced": false, "autoEnableProvider": true }, "OPENROUTER_IMAGE_MODEL": { "type": "string", "required": false, "sensitive": false, "label": "Image Model", "help": "Overrides the default image description model used by the OpenRouter plugin.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "OPENROUTER_BASE_URL": { "type": "url", "required": false, "sensitive": false, "default": "https://openrouter.ai/api/v1", "label": "Base Url", "help": "Base URL for the OpenRouter API endpoints.", "advanced": false }, "OPENROUTER_BROWSER_BASE_URL": { "type": "url", "required": false, "sensitive": false, "label": "Browser Base Url", "help": "Browser-only proxy endpoint base URL for OpenRouter requests (no secrets in the client).", "advanced": false }, "OPENROUTER_SMALL_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash-lite", "label": "Small Model", "help": "Overrides the default small language model used for text/object generation.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "OPENROUTER_LARGE_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash", "label": "Large Model", "help": "Overrides the default large language model used for text/object generation.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "SMALL_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash-lite", "label": "Model", "help": "General fallback environment variable for the small model name when OPENROUTER_SMALL_MODEL is not set.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "LARGE_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash", "label": "Model", "help": "General fallback environment variable for the large model name when OPENROUTER_LARGE_MODEL is not set.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "IMAGE_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "x-ai/grok-2-vision-1212", "label": "Model", "help": "General fallback environment variable for the image model name when OPENROUTER_IMAGE_MODEL is not set.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "OPENROUTER_IMAGE_GENERATION_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash-image-preview", "label": "Image Generation Model", "help": "Overrides the default image generation model used by the OpenRouter plugin.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "IMAGE_GENERATION_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "google/gemini-2.5-flash-image-preview", "label": "Generation Model", "help": "General fallback environment variable for the image generation model name when OPENROUTER_IMAGE_GENERATION_MODEL is not set.", "placeholder": "e.g., gpt-4o, claude-sonnet-4-20250514", "advanced": false }, "OPENROUTER_EMBEDDING_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "openai/text-embedding-3-small", "label": "Embedding Model", "help": "Overrides the default text embedding model used by the OpenRouter plugin.", "placeholder": "e.g., text-embedding-3-small", "advanced": false }, "EMBEDDING_MODEL": { "type": "string", "required": false, "sensitive": false, "default": "openai/text-embedding-3-small", "label": "Model", "help": "General fallback environment variable for the embedding model name when OPENROUTER_EMBEDDING_MODEL is not set.", "placeholder": "e.g., text-embedding-3-small", "advanced": false }, "OPENROUTER_EMBEDDING_DIMENSIONS": { "type": "number", "required": false, "sensitive": false, "default": "1536", "label": "Embedding Dimensions", "help": "Number of dimensions for embedding vectors. Supported values: 256, 384, 512, 768, 1024, 1536, 2048, 3072.", "advanced": false }, "EMBEDDING_DIMENSIONS": { "type": "number", "required": false, "sensitive": false, "default": "1536", "label": "Dimensions", "help": "General fallback environment variable for the embedding dimensions when OPENROUTER_EMBEDDING_DIMENSIONS is not set.", "advanced": false }, "OPENROUTER_AUTO_CLEANUP_IMAGES": { "type": "boolean", "required": false, "sensitive": false, "default": "False", "label": "Auto Cleanup Images", "help": "Whether to automatically cleanup generated images after a short delay.", "advanced": false }, "OPENROUTER_TOOL_EXECUTION_MAX_STEPS": { "type": "number", "required": false, "sensitive": false, "default": "15", "label": "Tool Execution Max Steps", "help": "Maximum number of steps for multi-step tool execution. Allows the AI to generate descriptive text after calling tools in AI SDK v5.", "advanced": false } }, "render": { "visible": true, "pinTo": [], "style": "card", "icon": "Shuffle", "group": "ai-provider", "groupOrder": 0, "actions": [ "enable", "configure" ] }, "resources": { "homepage": "https://github.com/elizaos-plugins/plugin-openrouter#readme", "repository": "https://github.com/elizaos-plugins/plugin-openrouter", "setupGuideUrl": "https://docs.eliza.ai/plugin-setup-guide#openrouter" }, "dependsOn": [], "kind": "plugin", "subtype": "ai-provider" }