SLLY API · 接口文档
专业的 AI 模型聚合与企业级接入网关 · 完全兼容 OpenAI API 格式 · 同时支持 the assistant 原生协议
1. 平台概述
1.1 什么是 SLLY API?
SLLY API 是一个面向开发者和企业的 AI 模型聚合平台,通过统一的 OpenAI 兼容接口,提供来自全球主流厂商的对话、嵌入、图像、语音模型。一次接入,覆盖 OpenAI、the provider、Google、DeepSeek、智谱、月之暗面等几十款主流模型。
1.2 核心价值
🚀 即开即用
兼容 OpenAI SDK,base_url 一键替换即可使用,无需改动业务代码。
💰 透明计费
按实际 Token 用量结算,CNY 直接计价,不再换算美元额度。
🔐 私密安全
API Key 加密存储,支持每个 Key 独立设置额度上限和速率限制。
📊 全链路审计
每一次调用都可在控制台查询日志、用量、消费,并支持自动对账。
⚡ 流式 SSE
完整支持 stream=true,长连接最长 10 分钟,自适应背压。
🛡️ 内容审核
平台已内置多层内容审核,违规内容自动拦截,账户合规优先。
1.3 架构
[你的应用 / Cursor / SillyTavern / SDK]
│ Authorization: Bearer sk-xxx
▼
https://sllyapi.com/v1/...
│
▼
┌─────────────────────────────┐
│ SLLY API 网关 │
│ - 鉴权 / 限速 / 审核 │
│ - 预冻结 / 实时计费 │
│ - 上游路由 / 故障转移 ��
└──────────────┬──────────────┘
▼
[上游模型服务商]2. 快速接入
3 分钟从零到第一次调用。
2.1 认证与令牌
所有 API 请求必须在 HTTP Header 中携带 API Key:
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
部分 the assistant 原生 SDK 也支持 x-api-key 头:
x-api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx provider-version: 2023-06-01
🔑 令牌安全建议
- • 不要将 Key 硬编码在客户端代码 / 公开仓库 / 截图中
- • 不同用途(生产 / 测试 / 第三方集成)请创建独立 Key
- • 创建时可设置 额度上限(次数)和 速率限制(次/分钟)
- • 一旦怀疑泄露,立即在控制台禁用并重新创建
2.2 接入地址
| Base URL | https://sllyapi.com/v1 |
| 协议 | HTTPS(强制) |
| 兼容格式 | OpenAI Chat Completions / the assistant Messages(原生) |
| 支持框架 | openai-python · openai-node · LangChain · LlamaIndex · Dify · n8n · … |
| Region | 中国大陆 / 海外双线智能路由 |
2.3 首次调用
用 cURL 验证你的 Key 已生效:
curl https://sllyapi.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key-here" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.2",
"messages": [
{"role": "user", "content": "你好,请用一句话介绍自己"}
]
}'返回 200 + JSON,包含 choices[0].message.content 即接入成功。
3. API 接口参考
3.1 对话补全
POST /v1/chat/completions最常用的对话接口,支持单轮 / 多轮 / 流式 / 工具调用 / 多模态。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 必填 | 模型 ID,如 gpt-5.2 / opus-4-7 / deepseek-v4-pro,详见 /models |
messages | array | 必填 | 对话历史,元素含 role(system/user/assistant/tool)和 content |
stream | boolean | 可选 | 是否流式响应。默认 false,true 返回 SSE |
temperature | number | 可选 | 采样温度 0–2,默认 1.0。值越高输出越随机 |
top_p | number | 可选 | 核采样阈值 0–1,默认 1.0 |
max_tokens | integer | 可选 | 单次输出最大 token 上限。建议显式设置 |
presence_penalty | number | 可选 | 主题重复惩罚 -2 至 2,默认 0 |
frequency_penalty | number | 可选 | 词频重复惩罚 -2 至 2,默认 0 |
tools | array | 可选 | 函数调用工具定义,详见 §4.2 |
tool_choice | string|object | 可选 | 工具选择策略:none / auto / 指���函数 |
response_format | object | 可选 | {"type":"json_object"} 强制 JSON 输出 |
seed | integer | 可选 | 复现采样的随机种子(部分模型支持) |
user | string | 可选 | 终端用户 ID,用于风控审计 |
Python(openai SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-your-key-here",
base_url="https://sllyapi.com/v1",
)
resp = client.chat.completions.create(
model="gpt-5.2",
messages=[
{"role": "system", "content": "你是一名专业助手"},
{"role": "user", "content": "用一句话解释什么是 RAG"},
],
temperature=0.7,
max_tokens=500,
)
print(resp.choices[0].message.content)
print("usage:", resp.usage)Node.js
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-key-here',
baseURL: 'https://sllyapi.com/v1',
});
const resp = await client.chat.completions.create({
model: 'gpt-5.2',
messages: [{ role: 'user', content: '你好' }],
max_tokens: 500,
});
console.log(resp.choices[0].message.content);响应格式
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1712340000,
"model": "gpt-5.2",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 31,
"total_tokens": 49
}
}3.2 the assistant 原生格式
POST /v1/messages对接 the provider 官方 SDK / the assistant Code 客户端时使用。请求体与 the provider Messages API 完全一致。
curl https://sllyapi.com/v1/messages \
-H "x-api-key: sk-your-key-here" \
-H "provider-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "opus-4-7",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'3.3 文本嵌入
POST /v1/embeddings把文本转为向量,用于检索 / 聚类 / 推荐。
resp = client.embeddings.create(
model="text-embedding-3-large",
input=["你好世界", "RAG 是什么"],
)
print(resp.data[0].embedding) # 3072 维向量
print("usage:", resp.usage) # 仅 prompt_tokens 计费3.4 图像生成
POST /v1/images/generationsresp = client.images.generate(
model="dall-e-3",
prompt="一只在月球上喝咖啡的猫,超现实主义风格",
size="1024x1024",
n=1,
)
print(resp.data[0].url) # 临时图片 URL,建议立即下载或转存3.5 语音服务
文本转语音(TTS)POST /v1/audio/speech
resp = client.audio.speech.create(
model="tts-1", voice="alloy", input="你好,欢迎使用 SLLY API"
)
resp.stream_to_file("hello.mp3")语音转文本(STT)POST /v1/audio/transcriptions
with open("audio.mp3", "rb") as f:
resp = client.audio.transcriptions.create(model="whisper-1", file=f)
print(resp.text)3.6 模型列表
GET /v1/models返回当前账号可用的模型列表。完整模型介绍 + 价格请见模型广场。
3.7 通用响应格式与错误码
成功响应
HTTP 200 + JSON,结构与 OpenAI 一致。
错误响应
{
"error": {
"type": "invalid_request_error",
"message": "model \"xxx\" has no pricing configured",
"code": "pricing_unavailable"
},
"request_id": "req_xxx"
}HTTP 状态码
| 状态 | type | 含义 / 处理建议 |
|---|---|---|
400 | invalid_request_error | 请求参数错误。检查 model / messages / max_tokens 是否合规 |
401 | authentication_error | API Key 缺失 / 错误 / 已禁用 |
402 | insufficient_balance | 余额或赠送余额不足。请到充值中心补充 |
403 | permission_denied | 账号被封禁,或调用了未授权的端点 |
413 | request_too_large | 请求体超过 16 MB 上限 |
429 | rate_limit_exceeded | 超过 Key 配置的速率限制 / 流式并发上限。请退避重试 |
500 | server_error | 平台内部错误。可凭 request_id 报障 |
502 | upstream_error | 上游模型服务异常。建议自动重试一次 |
503 | pricing_unavailable | 模型未配置定价。请改用 /models 内的有效模型 |
504 | upstream_timeout | 上游响应超时。可减小 max_tokens 或换一个 model |
4. 进阶能力
4.1 流式响应(Streaming)
把 stream: true 加入请求体,平台返回 Server-Sent Events(SSE)。
stream = client.chat.completions.create(
model="gpt-5.2",
messages=[{"role": "user", "content": "写一首关于秋天的短诗"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)• 单连接最长 10 分钟;两个数据帧之间最大间隔 30 秒,超时自动断开
• 单 SSE 数据块上限 4 MB;超过会在网关层立即终止
• 每个用户最多 5 条流式并发,超出返回 429
4.2 函数调用(Function Calling)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名"},
"unit": {"type": "string", "enum": ["c", "f"]}
},
"required": ["city"]
}
}
}]
resp = client.chat.completions.create(
model="gpt-5.2",
messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
tools=tools,
tool_choice="auto",
)
tool_call = resp.choices[0].message.tool_calls[0]
print(tool_call.function.name, tool_call.function.arguments)执行函数后把结果作为 {role:'tool', tool_call_id, content} 追加到 messages 再发一次即可拿到最终回答。
4.3 多模态(Vision)
支持视觉的模型可在 user message 里传入图片:
resp = client.chat.completions.create(
model="gpt-5.2",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张图里有什么?"},
{"type": "image_url",
"image_url": {"url": "https://example.com/cat.jpg"}}
],
}],
)URL 必须公网可访问;亦支持 base64 data URL(受 16 MB 请求上限)。
4.4 计费机制
- • 按 Token 实时计费:输入 / 输出分别计价,所有价格以 CNY 显示
- • 预冻结 → 实结算:请求前按上限预冻金额,响应完成后按实际 token 退多补少
- • 赠送余额优先扣减:充值余额仅在赠送余额耗尽后参与扣费
- • 余额不足返回 402:请提前在 充值中心 补充
- • 定时对账:平台每小时拉取上游用量与本地账本比对,差额自动入对账日志
4.5 速率限制
| 每 Key 速率限制 | 由 Key 创建时配置,未设则不限 |
| 每 Key 调用次数上限 | 同上,可在 Key 管理页设置 |
| 流式并发(每用户) | 5 个连接 |
| 非流式请求超时 | 2 分钟 |
| 流式请求超时 | 10 分钟(chunk 间隔 30s) |
| 请求体上限 | 16 MB |
| 响应体上限(非流式) | 200 MB |
建议给不同业务分别建立独立 Key 并按需配额,便于精细化成本管控。
5. 客户端配置指南
Cursor
Settings → Models → OpenAI API KeyOverride OpenAI Base URL: https://sllyapi.com/v1把任一模型 ID 写进 "Custom Models"(如 gpt-5.2)
Codex CLI
export OPENAI_BASE_URL=https://sllyapi.com/v1export OPENAI_API_KEY=sk-your-key-here直接 codex 即可
OpenCode
Settings → AI Provider → OpenAI CompatibleBase URL: https://sllyapi.com/v1API Key: sk-your-key-here
the assistant Code
export the_provider_BASE_URL=https://sllyapi.comexport the_provider_AUTH_TOKEN=sk-your-key-here可使用任一 the_provider 系列模型
Cherry Studio
设置 → 模型服务商 → 添加 OpenAI 兼容API 地址:https://sllyapi.com/v1填入 API Key 即可使用所有模型
SillyTavern
API → Chat Completion → Custom (OpenAI-compatible)Endpoint: https://sllyapi.com/v1填入 sk-your-key-here,选择对应模型
6. 常见问题
6.1 完全兼容 OpenAI SDK 吗?
是。把 base_url 设为 https://sllyapi.com/v1,api_key 用本平台的 sk- 即可,业务代码无需改动。
6.2 调用偶发 429 怎么办?
检查 Key 是否设置了过低的速率限制;若是流式,确认未超过 5 个并发。建议指数退避后重试。
6.3 余额扣减与官方账单不一致?
平台采用预冻结 + 上游真实 usage 二次结算;如发现持续偏差,请将 request_id 提交客服核查(每小时对账日志可追溯)。
6.4 调用提示 503 pricing_unavailable?
该模型暂无定价,平台拒绝按未知价格扣费。请在 /models 选择有效模型,或联系客服确认上线状态。
6.5 上游超时怎么办?
减小 max_tokens、换更快的模型(如 gpt-5.4-mini / haiku-4-5);若是网络问题可启用客户端重试。
6.6 如何给 SDK 设置代理?
本平台已提供海内外双线路由,无需额外代理。直��连 https://sllyapi.com/v1 即可。
6.7 是否支持发票?
支持,账户 → 订单 / 账单页可发起开票申请。
7. 技术支持
📩 工单 / 客服
控制台 → 通知 / 客服入口
🤝 商务合作
如需企业级 SLA / 私有部署,请联系客服
报障时请提供 request_id(响应 Header / 错误体里都有),便于快速定位。
目录