XTCER API RELAY
Multi-Provider AI Gateway
Active Keys
-
Running
Providers
-
Connected
Today Requests
-
24h
Total Keys
-
All
Available Providers
Provider Configuration
| Name | Base URL | Type | Free | Status | Actions |
|---|
API Keys
| Name | Provider | Key | Model | Weight | Requests | Status | Actions |
|---|
Relay API Keys
These keys are used by your clients to access the relay. Authorization: Bearer xcer-xxxx
| Name | Key | Plan | Requests | Status | Actions |
|---|
Custom Plans
Use X-Plan: xtc:free header to select plan
Agent Pools
Use X-Pool header to select pool
Usage Examples
# Tool Calling Pool
curl -X POST /api/v1/chat/completions \
-H "X-Pool: tool_calling" \
-d '{"model":"groq/llama-3.3-70b-versatile","messages":[...],"tools":[...]}'
# Free Pool
curl -X POST /api/v1/chat/completions \
-H "X-Pool: free" \
-d '{"model":"gemini/gemini-1.5-flash","messages":[...]}'
# Long Text Pool
curl -X POST /api/v1/chat/completions \
-H "X-Pool: long_text" \
-d '{"model":"nvidia/meta/llama-3.1-405b-instruct","messages":[...]}'
curl -X POST /api/v1/chat/completions \
-H "X-Pool: tool_calling" \
-d '{"model":"groq/llama-3.3-70b-versatile","messages":[...],"tools":[...]}'
# Free Pool
curl -X POST /api/v1/chat/completions \
-H "X-Pool: free" \
-d '{"model":"gemini/gemini-1.5-flash","messages":[...]}'
# Long Text Pool
curl -X POST /api/v1/chat/completions \
-H "X-Pool: long_text" \
-d '{"model":"nvidia/meta/llama-3.1-405b-instruct","messages":[...]}'
API Documentation
Quick Start
# Base URL
https://your-domain.workers.dev
# Authentication
Authorization: Bearer YOUR_API_KEY
# Chat Completions (OpenAI Compatible)
POST /api/v1/chat/completions
https://your-domain.workers.dev
# Authentication
Authorization: Bearer YOUR_API_KEY
# Chat Completions (OpenAI Compatible)
POST /api/v1/chat/completions
Client Configuration
OpenCode (CLI)
# ~/.opencode.json 或环境变量
{
"provider": "openai",
"model": "openrouter/anthropic/claude-sonnet-4",
"apiBase": "https://your-domain.workers.dev/api/v1",
"apiKey": "YOUR_API_KEY"
}
# 或使用环境变量
export OPENAI_API_KEY="YOUR_API_KEY"
export OPENAI_BASE_URL="https://your-domain.workers.dev/api/v1"
{
"provider": "openai",
"model": "openrouter/anthropic/claude-sonnet-4",
"apiBase": "https://your-domain.workers.dev/api/v1",
"apiKey": "YOUR_API_KEY"
}
# 或使用环境变量
export OPENAI_API_KEY="YOUR_API_KEY"
export OPENAI_BASE_URL="https://your-domain.workers.dev/api/v1"
Cursor / Windsurf
# Settings → Models → OpenAI API Key
API Key: YOUR_API_KEY
Base URL: https://your-domain.workers.dev/api/v1
# 模型名格式: provider/model
# 例: openrouter/anthropic/claude-sonnet-4
# 例: groq/llama-3.3-70b-versatile
API Key: YOUR_API_KEY
Base URL: https://your-domain.workers.dev/api/v1
# 模型名格式: provider/model
# 例: openrouter/anthropic/claude-sonnet-4
# 例: groq/llama-3.3-70b-versatile
cURL
curl -X POST https://your-domain.workers.dev/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "groq/llama-3.3-70b-versatile",
"messages": [{"role":"user","content":"Hello"}]
}'
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "groq/llama-3.3-70b-versatile",
"messages": [{"role":"user","content":"Hello"}]
}'
Python (openai SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://your-domain.workers.dev/api/v1"
)
response = client.chat.completions.create(
model="groq/llama-3.3-70b-versatile",
messages=[{"role": "user", "content": "Hello"}]
)
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://your-domain.workers.dev/api/v1"
)
response = client.chat.completions.create(
model="groq/llama-3.3-70b-versatile",
messages=[{"role": "user", "content": "Hello"}]
)
Node.js (openai SDK)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://your-domain.workers.dev/api/v1'
});
const res = await client.chat.completions.create({
model: 'groq/llama-3.3-70b-versatile',
messages: [{ role: 'user', content: 'Hello' }]
});
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://your-domain.workers.dev/api/v1'
});
const res = await client.chat.completions.create({
model: 'groq/llama-3.3-70b-versatile',
messages: [{ role: 'user', content: 'Hello' }]
});
Routing Headers
X-Plan: xtc:free|xtc:bigpick|xtc:chatfree|xtc:code|xtc:reason|xtc:fast
X-Provider: groq|nvidia|openrouter|glm|gemini|deepseek|...
X-Pool: tool_calling|long_text|reasoning|code|fast|free|chinese|general
X-Account-ID: (for Cloudflare Workers AI only)
# 使用自定义 Plan (推荐)
curl -H "X-Plan: xtc:free" ...
# 指定 Provider
curl -H "X-Provider: groq" ...
# 指定 Pool (自动选最优 provider)
curl -H "X-Pool: tool_calling" ...
# 直接指定模型 (model 字段格式: provider/model)
"model": "openrouter/anthropic/claude-sonnet-4"
X-Provider: groq|nvidia|openrouter|glm|gemini|deepseek|...
X-Pool: tool_calling|long_text|reasoning|code|fast|free|chinese|general
X-Account-ID: (for Cloudflare Workers AI only)
# 使用自定义 Plan (推荐)
curl -H "X-Plan: xtc:free" ...
# 指定 Provider
curl -H "X-Provider: groq" ...
# 指定 Pool (自动选最优 provider)
curl -H "X-Pool: tool_calling" ...
# 直接指定模型 (model 字段格式: provider/model)
"model": "openrouter/anthropic/claude-sonnet-4"
Custom Plans
# 在 Admin 面板 → Plans 页面创建自定义计划
# 每个 Plan 可以配置:
# - 多条 Route (provider + key + model 组合)
# - 策略: round_robin | random | weighted | priority
# - 每条 Route 的优先级和权重
# 预设计划:
# xtc:free → 免费模型轮询
# xtc:bigpick → 高端模型优先
# xtc:chatfree → 中文聊天免费
# xtc:code → 代码生成优化
# xtc:reason → 复杂推理
# xtc:fast → 超低延迟
# 每个 Plan 可以配置:
# - 多条 Route (provider + key + model 组合)
# - 策略: round_robin | random | weighted | priority
# - 每条 Route 的优先级和权重
# 预设计划:
# xtc:free → 免费模型轮询
# xtc:bigpick → 高端模型优先
# xtc:chatfree → 中文聊天免费
# xtc:code → 代码生成优化
# xtc:reason → 复杂推理
# xtc:fast → 超低延迟
Model Format
# 格式: provider/model_id
# 例:
openrouter/anthropic/claude-sonnet-4
groq/llama-3.3-70b-versatile
nvidia/meta/llama-3.1-405b-instruct
gemini/gemini-2.5-flash
deepseek/deepseek-chat
glm/glm-4-plus
# 查看所有可用模型
GET /api/v1/models
# 例:
openrouter/anthropic/claude-sonnet-4
groq/llama-3.3-70b-versatile
nvidia/meta/llama-3.1-405b-instruct
gemini/gemini-2.5-flash
deepseek/deepseek-chat
glm/glm-4-plus
# 查看所有可用模型
GET /api/v1/models