@memberjunction/ai-openrouter
MemberJunction AI provider for OpenRouter, a unified API gateway that provides access to 100+ AI models from multiple providers (OpenAI, Anthropic, Google, Meta, Mistral, and more) through a single endpoint.
Architecture
Section titled “Architecture”graph TD
A["OpenRouterLLM<br/>(Provider)"] -->|extends| B["OpenAILLM<br/>(@memberjunction/ai-openai)"]
B -->|extends| C["BaseLLM<br/>(@memberjunction/ai)"]
A -->|overrides base URL| D["OpenRouter API<br/>(openrouter.ai/api/v1)"]
D -->|routes to| E["OpenAI"]
D -->|routes to| F["Anthropic"]
D -->|routes to| G["Google"]
D -->|routes to| H["Meta / Mistral / Others"]
C -->|registered via| I["@RegisterClass"]
style A fill:#7c5295,stroke:#563a6b,color:#fff
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
style C fill:#2d6a9f,stroke:#1a4971,color:#fff
style D fill:#2d8659,stroke:#1a5c3a,color:#fff
style E fill:#b8762f,stroke:#8a5722,color:#fff
style F fill:#b8762f,stroke:#8a5722,color:#fff
style G fill:#b8762f,stroke:#8a5722,color:#fff
style H fill:#b8762f,stroke:#8a5722,color:#fff
style I fill:#b8762f,stroke:#8a5722,color:#fff
Features
Section titled “Features”- Multi-Model Access: Access models from OpenAI, Anthropic, Google, Meta, Mistral, xAI, and many more
- Automatic Routing: OpenRouter handles provider selection and failover
- OpenAI Compatible: Inherits all features from the OpenAI provider
- Streaming: Full streaming support for real-time responses
- Thinking/Reasoning: Thinking block extraction for reasoning models
- Response Formats: JSON mode support for compatible models
Installation
Section titled “Installation”npm install @memberjunction/ai-openrouterimport { OpenRouterLLM } from '@memberjunction/ai-openrouter';
const llm = new OpenRouterLLM('your-openrouter-api-key');
const result = await llm.ChatCompletion({ model: 'anthropic/claude-sonnet-4-20250514', messages: [ { role: 'user', content: 'Explain quantum computing in simple terms.' } ]});
console.log(result.data.choices[0].message.content);How It Works
Section titled “How It Works”OpenRouterLLM is a thin subclass of OpenAILLM that redirects all API calls to OpenRouter’s endpoint at https://openrouter.ai/api/v1. Since OpenRouter implements an OpenAI-compatible API, all chat, streaming, and parameter handling logic is inherited from the OpenAI provider.
Supported Models
Section titled “Supported Models”OpenRouter provides access to models from many providers. Use the provider-prefixed model names:
openai/gpt-4,openai/gpt-4-turboanthropic/claude-sonnet-4-20250514,anthropic/claude-3-opusgoogle/gemini-pro,google/gemini-flashmeta-llama/llama-3.1-70bmistralai/mistral-large- And 100+ more at openrouter.ai/models
Class Registration
Section titled “Class Registration”Registered as OpenRouterLLM via @RegisterClass(BaseLLM, 'OpenRouterLLM').
Dependencies
Section titled “Dependencies”@memberjunction/ai- Core AI abstractions@memberjunction/ai-openai- OpenAI provider (parent class)@memberjunction/global- Class registration