快速开始

XycAi 是一个统一的 AI API 网关,通过单一 OpenAI 兼容接口接入数十家上游模型厂商。如果你使用过 OpenAI SDK,几乎不需要修改任何代码——只需替换 base_urlapi_key

准备工作

  1. 注册并登录控制台。
  2. API 密钥页面创建一个密钥,形如 sk-xxxxxxxx
  3. 确保账户有可用余额。

接口地址

所有请求都发往同一个网关域名。根据 SDK 或调用方式的不同,base_url 有以下三种形式:

使用场景URL
仅域名(自行拼接路径)https://apicdn.xyc.ai
OpenAI SDK 的 base_urlhttps://apicdn.xyc.ai/v1
完整的 chat completions 地址https://apicdn.xyc.ai/v1/chat/completions
提示

OpenAI 官方 SDK 会自动在 base_url 后拼接 /chat/completions 等路径,因此应将其设置为 /v1——不要填写完整路径。

鉴权

在请求头中传入你的密钥:

Authorization: Bearer sk-xxxxxxxx

少数原生协议使用不同的请求头:Claude 原生的 /v1/messages 使用 x-api-key,Gemini 原生的 /v1beta 使用 x-goog-api-key。详见鉴权认证

你的第一个请求

下面的示例使用 claude-sonnet-4-6 发送一次 chat completion 请求。

from openai import OpenAI

client = OpenAI(
    base_url="https://apicdn.xyc.ai/v1",
    api_key="sk-xxxxxxxx",
)

resp = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "user", "content": "Introduce yourself in one sentence."},
    ],
)

print(resp.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://apicdn.xyc.ai/v1",
  apiKey: "sk-xxxxxxxx",
});

const resp = await client.chat.completions.create({
  model: "claude-sonnet-4-6",
  messages: [
    { role: "user", content: "Introduce yourself in one sentence." },
  ],
});

console.log(resp.choices[0].message.content);
curl https://apicdn.xyc.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {"role": "user", "content": "Introduce yourself in one sentence."}
    ]
  }'

响应结构

返回标准的 OpenAI 兼容结构:

{
  "id": "chatcmpl-xxxxxxxx",
  "object": "chat.completion",
  "created": 1748600000,
  "model": "claude-sonnet-4-6",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am an AI assistant ..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 18,
    "total_tokens": 30
  }
}

流式输出

添加 "stream": true 即可逐块接收响应(Server-Sent Events)。

stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Write a four-line poem."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)
curl https://apicdn.xyc.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "messages": [{"role": "user", "content": "Write a four-line poem."}],
    "stream": true
  }'

同一个端点可以在不同厂商的模型之间切换——只需修改 model 字段。以下是一些热门模型:

模型类型说明
claude-opus-4-8对话Anthropic 旗舰,复杂推理与长上下文
claude-sonnet-4-6对话速度与质量兼顾,日常默认之选
gpt-5.4对话OpenAI 通用对话模型
gpt-5.3-codex对话 / 代码代码专用模型
gemini-3-pro-preview对话Google 多模态模型
deepseek-v4-pro对话高性能 DeepSeek 模型
nano-banana-pro图像图像生成
sora-2视频视频生成

完整列表请见模型列表

常见错误

请求失败时响应为以下结构,message 末尾附带 request id 以便排查:

{
  "error": {
    "code": "",
    "message": "Invalid token (request id: 2026053012xxxx)",
    "type": "new_api_error"
  }
}

常见 HTTP 状态码:401 未鉴权,403 无权限,429 限流 / 余额不足,400 请求有误,500/503 上游错误。详见错误码

下一步