@tpmjs/tools-openrouter
Send a chat completion request to any model via OpenRouter.
Test @tpmjs/tools-openrouter (chatCompletion) with AI-powered execution
0/2000 characters
Install this tool and use it with the AI SDK
npm install @tpmjs/tools-openrouterpnpm add @tpmjs/tools-openrouteryarn add @tpmjs/tools-openrouterbun add @tpmjs/tools-openrouterdeno add npm:@tpmjs/tools-openrouterimport { chatCompletion } from '@tpmjs/tools-openrouter';import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { chatCompletion } from '@tpmjs/tools-openrouter';
const result = await generateText({
model: openai('gpt-4o'),
tools: { chatCompletion },
prompt: 'Your prompt here...',
});
console.log(result.text);(model: string, messages: { name: string; role: string; content: { } }[], seed?: number, stop?: string[], tools?: { type: string; function: { name: string; parameters: { }; description: string } }[], top_p?: number, stream?: boolean, provider?: Record<string, unknown>, max_tokens?: number, temperature?: number, tool_choice?: { }, response_format?: { type: string }, presence_penalty?: number, frequency_penalty?: number) => Promise<unknown>Available configuration options
modelstringModel identifier (e.g. "openai/gpt-4o", "anthropic/claude-sonnet-4-5-20250514")
messagesarrayArray of chat messages
streambooleanEnable streaming via SSE (default false)
temperaturenumberSampling temperature 0-2 (default 1)
top_pnumberNucleus sampling 0-1 (default 1)
max_tokensintegerMaximum tokens to generate
stoparrayStop sequences
frequency_penaltynumberFrequency penalty -2 to 2
presence_penaltynumberPresence penalty -2 to 2
seedintegerSeed for reproducibility
response_formatobjectResponse format constraint
toolsarrayTool/function definitions
tool_choiceobjectTool choice strategy: "auto", "none", "required", or specific tool
providerobjectProvider routing and fallback configuration
Schema extracted: 3/1/2026, 4:27:24 AM
Complete OpenRouter API tools for AI agents. 33 tools covering chat completions, embeddings, model discovery, API key management, credits, analytics, and guardrails.
npm install @tpmjs/tools-openrouter
| Variable | Required | Description |
|---|---|---|
OPENROUTER_API_KEY | Yes | Your OpenRouter API key |
OPENROUTER_REFERER | No | HTTP Referer header (default: https://tpmjs.com) |
OPENROUTER_TITLE | No | X-Title header (default: TPMJS Agent) |
| Tool | Description |
|---|---|
chatCompletion | Send chat completions to 400+ models |
createResponse | Responses API (beta) |
createEmbedding | Generate text embeddings |
| Tool | Description |
|---|---|
listModels | List all models with pricing |
countModels | Get total model count |
listUserModels | Models filtered by user prefs |
listEmbeddingModels | List embedding models |
listProviders | List all providers |
listEndpoints | Endpoints for a specific model |
previewZdr | Preview ZDR impact |
| Tool | Description |
|---|---|
getCredits | Get remaining credits |
createCoinbaseCharge | Add credits via crypto |
getUserActivity | Usage analytics |
getGeneration | Generation metadata by ID |
| Tool | Description |
|---|---|
listApiKeys | List all API keys |
createApiKey | Create new key |
getApiKey | Get key by hash |
getCurrentApiKey | Get current key details |
updateApiKey | Update key settings |
deleteApiKey | Delete a key |
| Tool | Description |
|---|---|
listGuardrails | List all guardrails |
createGuardrail | Create guardrail |
getGuardrail | Get guardrail details |
updateGuardrail | Update guardrail |
deleteGuardrail | Delete guardrail |
listGuardrailKeyAssignments | All key assignments |
listGuardrailMemberAssignments | All member assignments |
getGuardrailKeys | Keys for a guardrail |
assignGuardrailKeys | Assign keys |
getGuardrailMembers | Members for a guardrail |
assignGuardrailMembers | Assign members |
unassignGuardrailKeys | Unassign keys |
unassignGuardrailMembers | Unassign members |
import { chatCompletion, listModels, getCredits } from '@tpmjs/tools-openrouter'; // Chat completion const result = await chatCompletion.execute({ model: 'openai/gpt-4o', messages: [{ role: 'user', content: 'Hello!' }], }); // List models const models = await listModels.execute({}); // Check credits const credits = await getCredits.execute({});
MIT
Downloads/month
94
GitHub Stars
0
Quality Score