Skill: luntanwang/ezrouter (version 1.0.0)

--- name: ezrouter description: Set up and use EZRouter — unified LLM API with one key for Claude, GPT, and Gemini. 2x credits on every purchase. Native API compatibility for each provider. --- # EZRouter — Unified LLM API EZRouter gives you **one API key** to access Claude, GPT, and Gemini models through **native API-compatible** endpoints. Pay once, get **2x credits**, with automatic failover across providers. **Dashboard:** https://openrouter.ezsite.ai --- ## Quick Setup 1. Sign up at https://openrouter.ezsite.ai 2. Add credits (you get **2x** what you pay — $5 becomes $10) 3. Create an API key (prefix: `cr_`) 4. Use the appropriate base URL for your tool or provider --- ## Base URLs | Provider | Base URL | Use With | |----------|----------|----------| | **Claude / Anthropic** | `https://openrouter.ezsite.ai/api/claude` | Claude Code, Anthropic SDK | | **OpenAI** | `https://openrouter.ezsite.ai/api/openai/v1` | Cursor, OpenAI SDK, ChatGPT-compatible tools | | **Gemini** | `https://openrouter.ezsite.ai/api/gemini` | Gemini SDK, Google AI tools | --- ## Integration Examples ### Claude Code ```bash # Set environment variables export ANTHROPIC_BASE_URL=https://openrouter.ezsite.ai/api/claude export ANTHROPIC_API_KEY=your_cr_key_here # Run Claude Code as usual claude ``` ### OpenClaw ```jsonc // openclaw.json { "models": { "providers": { "ezrouter": { "baseUrl": "https://openrouter.ezsite.ai/api/claude", "apiKey": "${EZROUTER_API_KEY}", "api": "anthropic-messages", "models": [ { "id": "claude-sonnet-4-6-20250627", "name": "Claude Sonnet 4.6", "reasoning": false, "input": ["text"], "contextWindow": 200000, "maxTokens": 64000 } ] } } }, "agents": { "defaults": { "model": [REDACTED_SECRET] } } } ``` ```bash export EZROUTER_API_KEY=your_cr_key_here ``` ### Cursor / OpenAI-Compatible Tools ``` API Base URL: https://openrouter.ezsite.ai/api/openai/v1 API Key: your_cr_key_here ``` --- ## Native API Examples ### Claude — Messages API ```bash curl https://openrouter.ezsite.ai/api/claude/v1/messages \ -H "[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -H "anthropic-version: 2023-06-01" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}] }' ``` ### OpenAI — Responses API ```bash curl https://openrouter.ezsite.ai/api/openai/v1/responses \ -H "[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5", "input": [ { "type": "message", "role": "user", "content": [{"type": "input_text", "text": "Hello"}] } ] }' ``` ### OpenAI — Chat Completions API ```bash curl https://openrouter.ezsite.ai/api/openai/v1/chat/completions \ -H "[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4.1", "messages": [{"role": "user", "content": "Hello"}] }' ``` ### Gemini — GenerateContent API ```bash curl https://openrouter.ezsite.ai/api/gemini/v1beta/models/gemini-2.5-flash:generateContent \ -H "[REDACTED_SECRET]" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [{"text": "Hello"}]}] }' ``` ### Python (OpenAI SDK) ```python from openai import OpenAI client = OpenAI( [REDACTED_SECRET]", base_url="https://openrouter.ezsite.ai/api/openai/v1" ) response = client.chat.completions.create( model="gpt-4.1", messages=[{"role": "user", "content": "Hello!"}] ) print(response.choices[0].message.content) ``` ### Python (Anthropic SDK) ```python import anthropic client = anthropic.Anthropic( [REDACTED_SECRET]", base_url="https://openrouter.ezsite.ai/api/claude" ) message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}] ) print(message.content[0].text) ``` ### TypeScript (OpenAI SDK) ```typescript import OpenAI from "openai"; const client = new OpenAI({ [REDACTED_SECRET]", baseURL: "https://openrouter.ezsite.ai/api/openai/v1", }); const response = await client.chat.completions.create({ model: "gpt-5", messages: [{ role: "user", content: "Hello!" }], }); console.log(response.choices[0].message.content); ``` --- ## Available Models Models are updated dynamically. Query the models endpoint for each provider to get the current list: ```bash # EZRouter format (no auth required) — includes pricing info curl https://openrouter.ezsite.ai/api/model/list # OpenAI format curl https://openrouter.ezsite.ai/api/openai/v1/models \ -H "[REDACTED_SECRET]" # Claude / Anthropic format curl https://openrouter.ezsite.ai/api/claude/v1/models \ -H "[REDACTED_SECRET]" # Gemini format curl https://openrouter.ezsite.ai/api/gemini/v1beta/models \ -H "[REDACTED_SECRET]" ``` Supported providers: **Claude** (Opus, Sonnet, Haiku), **OpenAI** (GPT-5.x, GPT-4.1, GPT-4o, o3/o4, Codex), **Google Gemini** (Pro, Flash, Flash-Lite). --- ## Pricing - **2x Credits:** Pay $5, get $10 in credits. Every dollar goes further. - **Same rates as providers:** No markup on per-token pricing. - **Pay-as-you-go:** No subscriptions. Add credits when you need them. - **Minimum purchase:** $5 | **Maximum:** $1,000 --- ## Links - **Dashboard:** https://openrouter.ezsite.ai - **Claude API:** https://openrouter.ezsite.ai/api/claude - **OpenAI API:** https://openrouter.ezsite.ai/api/openai/v1 - **Gemini API:** https://openrouter.ezsite.ai/api/gemini


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)