API 参考文档

Sanki API 支持 OpenAI 和 Anthropic 两种协议格式,你可根据需求选择合适的接入方式。

快速开始

只需三步即可接入 Sanki API:

注册账号
在 Sanki 平台注册并登录
获取 API Key
在控制台 API Keys 页面创建密钥
发送请求
选择协议格式开始调用

Base URLs

Sanki 提供两种协议接入,根据你的客户端选择对应的 Base URL 和认证方式:

OpenAI 兼容
https://api.sanki.ink/v1

适用 SDK:openai (Python/Node/Go)

认证方式:Authorization: Bearer <key>

主要端点:/v1/chat/completions

Anthropic 兼容
https://api.sanki.ink/v1

适用 SDK:@anthropic-ai/sdk / Claude Code

认证方式:x-api-key: <key>

主要端点:/v1/messages

Base URL 客户端速查表

不同客户端对 base_url 的处理方式不同:有些把它当完整前缀直接使用,有些会自己再拼 /v1。如果填错会产生 /v1/v1/messages 双前缀错误。

客户端填写 Base URL说明
OpenAI Python/Node SDKhttps://api.sanki.ink/v1SDK 把 base_url 当完整前缀,需带 /v1
Anthropic Python/Node SDKhttps://api.sanki.ink/v1同上,需带 /v1
Claude Code (ANTHROPIC_BASE_URL)https://api.sanki.ink/v1不带 /v1;Claude Code 自动拼 /v1/messages
Hermes Agent (custom_providers)https://api.sanki.ink不带 /v1;Hermes 自动拼 /v1/messages
curlhttps://api.sanki.ink/v1/chat/completions完整 URL,包含 /v1 和具体端点

一分钟体验

curl (OpenAI)
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [
      {"role": "user", "content": "Hello, Sanki!"}
    ]
  }'
curl (Anthropic)
curl -X POST "https://api.sanki.ink/v1/messages" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, Sanki!"}
    ]
  }'

认证鉴权

根据协议类型使用不同的认证头。API Key 请在控制台 API Keys 页面创建和管理。

API Key 格式规范

当前平台使用 sk- 开头、总长 64 字符的 API Key(前缀 sk- + 61 字符 base62 随机串):

text
sk-yt1zAiMnFWCH3OwAfwXZEMGRnIgLq1mxkxxUSlDaHgq3jOGTlSJUc6TPUuMzo
└sk─── 61 char base62 (A-Z a-z 0-9) ───────────────────────┘

⚠ 安全提示:完整密钥仅在创建时显示一次,关闭面板后无法再次查看。创建后请立即复制或下载 .txt 备份。列表中显示的是前 12 字符前缀(如 sk-yt1zAiMnF),用于识别而非认证。

⛔ 旧 Key 已停用:历史 sk-sanki-* 格式(35 字符)的旧 Key 已全部强制吊销。请重新生成 sk- 开头的新 Key。

OpenAI 协议认证

http
Authorization: Bearer YOUR_API_KEY

适用于 /v1/chat/completions、/v1/models 等 OpenAI 兼容端点。

Anthropic 协议认证

http
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
重要:调用 /v1/messages 端点必须使用 x-api-key 头,不支持 Authorization: Bearer。这与 Anthropic 官方 API 行为一致——官方 SDK / Claude Code / Hermes(anthropic 模式)默认就用 x-api-key,无需额外配置。如果你看到 401 missing x-api-key header,请检查是否误用了 Bearer 头。

Chat Completions(OpenAI)

标准 OpenAI 兼容 Chat Completions 接口。给定对话消息列表,模型将返回响应。

POST/v1/chat/completions

请求参数

参数类型必填描述
modelstring模型 ID,如 gpt-4o、claude-sonnet-4-6、gemini-2.5-pro 等
messagesarray消息列表,每条包含 role(system/user/assistant/tool)和 content
temperaturenumber采样温度 0-2,默认 1。越高越随机
top_pnumber核采样参数 0-1,默认 1
max_tokensinteger生成最大 token 数
streamboolean是否启用 SSE 流式响应,默认 false
toolsarray函数调用工具定义列表

请求示例

curl
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [
      {"role": "system", "content": "你是专业的 AI 助手"},
      {"role": "user", "content": "解释量子计算"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.choices[0].message.content)

响应格式

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "MiniMax-M3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 9,
    "total_tokens": 19
  }
}

Messages(Anthropic)

Anthropic Messages API 兼容端点。支持 Claude Code 等工具直接接入,使用 /v1/messages 端点。

POST/v1/messages

请求参数

参数类型必填描述
modelstring模型 ID,如 gpt-4o、claude-sonnet-4-6、gemini-2.5-pro 等
messagesarray消息列表,每条包含 role(user/assistant)和 content
max_tokensinteger生成最大 token 数
systemstring | array系统提示词,可以是字符串或内容块数组
temperaturenumber采样温度 0-1,默认 1
top_pnumber核采样参数 0-1,默认 1
toolsarray函数调用工具定义列表

请求示例

curl
curl -X POST "https://api.sanki.ink/v1/messages" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "max_tokens": 1024,
    "system": "你是专业的 AI 助手",
    "messages": [
      {"role": "user", "content": "解释量子计算"}
    ]
  }'
python
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="你是专业的 AI 助手",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.content[0].text)

响应格式

json
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "model": "deepseek-v4-pro",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 9
  }
}

Responses API

OpenAI Responses API 兼容端点,支持字符串和数组两种 input 格式。

POST/v1/responses

请求示例

curl
curl -X POST "https://api.sanki.ink/v1/responses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "input": "解释量子计算的基本原理",
    "max_output_tokens": 1024
  }'

图片生成

支持 DALL·E、Wan 等图片生成模型,返回生成图片的 URL。

POST/v1/images/generations

请求示例

curl
curl -X POST "https://api.sanki.ink/v1/images/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-0-250828",
    "prompt": "a cat sitting on a cloud",
    "n": 1,
    "size": "1024x1024"
  }'

响应格式

json
{
  "created": 1720000000,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A detailed illustration of..."
    }
  ]
}

视频生成

支持 Kling、Wan 等视频生成模型。视频生成是异步任务,提交后返回 task_id,通过查询接口获取结果。

POST/v1/videos/generations

请求示例

curl
curl -X POST "https://api.sanki.ink/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v1",
    "prompt": "a sunset over the ocean with waves",
    "duration": 5,
    "size": "1920x1080"
  }'
json
{
  "task_id": "task_abc123",
  "status": "processing",
  "message": "Video generation started"
}
GET/v1/videos/:task_id

查询视频任务状态和结果。

curl
curl "https://api.sanki.ink/v1/videos/task_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
json
{
  "task_id": "task_abc123",
  "status": "completed",
  "video_url": "https://...",
  "duration": 5,
  "size": "1920x1080"
}

流式响应(SSE)

两种协议均支持 Server-Sent Events (SSE) 流式响应。设置对应参数启用:

OpenAI 流式

设置 stream: true,返回 data: 前缀的 SSE 事件。

curl
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [{"role": "user", "content": "讲个故事"}],
    "stream": true
  }'
data: {"choices":[{"delta":{"content":"从"}}]}
data: {"choices":[{"delta":{"content":"前"}}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]

模型列表

GET/v1/models

列出所有可用的模型及信息。需携带认证头。

curl (OpenAI)
curl "https://api.sanki.ink/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

错误码

参数类型必填描述
400Bad Request请求参数错误,如缺少必填字段或格式不正确
401Unauthorized认证失败,API Key 无效或已过期
402Payment Required余额不足,请充值后重试
403Forbidden无权限访问该资源
404Not Found资源不存在
429Too Many Requests请求频率超过限制,请稍后重试
500Internal Server Error服务器内部错误,请稍后重试或联系支持
503Service Unavailable服务暂不可用,上游模型可能过载

错误响应示例

json
{
  "error": {
    "type": "insufficient_quota",
    "message": "余额不足,当前余额 ¥0.50,本次调用需要 ¥0.15",
    "code": 402
  }
}

速率限制

为保障平台稳定性,Sanki API 实施速率限制。超出限制时返回 429 状态码。

免费套餐
10 RPM
10,000 TPM
基础套餐
60 RPM
100,000 TPM
专业套餐
300 RPM
1,000,000 TPM

RPM = 每分钟请求数,TPM = 每分钟 Token 数。升级套餐可获得更高限额。

SDKs

Sanki API 完全兼容 OpenAI / Anthropic 官方 SDK,直接修改 base_url 即可接入。

Python (OpenAI SDK)

bash
pip install openai
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

Node.js (OpenAI SDK)

bash
npm install openai
javascript
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://api.sanki.ink/v1',
  apiKey: 'YOUR_API_KEY',
});

const response = await client.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Hello!' }],
});

console.log(response.choices[0].message.content);

Python (Anthropic SDK)

bash
pip install anthropic
python
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.content[0].text)

Claude Code 配置

在 Claude Code 中使用 Sanki,设置环境变量指向 Sanki API:

bash
export ANTHROPIC_BASE_URL="https://api.sanki.ink/v1"
export ANTHROPIC_API_KEY="YOUR_SANKI_API_KEY"

变更日志

v2.62026-07
  • 新增图片生成 API (/v1/images/generations)
  • 新增视频生成 API (/v1/videos/generations)
  • 新增 Responses API (/v1/responses)
  • 新增计量规则体系(8 维 token + 图片/视频)
  • 销售价设置:支持按维度独立加价
  • 计量计价全链路优化
v2.52026-06
  • 生产环境深度优化
  • 断路器机制完善
  • 协议框架零转换原则落地
  • 新增 Gemini 协议入口
v2.22026-06-06
  • API Key 升级为 64 字符(sk- + 61 char base62)
  • 修复 base_url 双 /v1 拼接问题,新增客户端速查表
  • 用户中心 API Key 面板:显示/隐藏切换、多次复制、下载 .txt 备份
  • 历史 sk-sanki-* 35 字符 Key 已强制停用
v2.12026-06
  • 新增 Anthropic Messages API 入站端点 /v1/messages
  • 支持 Claude Code 直接接入
  • 更新多协议 API 文档
v2.02026-05
  • 全新统一 API 网关上线
  • 支持 OpenAI 兼容协议
  • 新增模型广场与热门排行
  • 完善三语国际化支持
v1.02025-12
  • 平台正式上线
  • 基础 Chat Completions 接口
  • API Key 管理与用量统计

还有问题?访问控制台获取 API Key,或查看模型广场了解可用模型。

客服
客服