接入文档 · DOCS

API 接入文档与资料库

从网关地址、鉴权方式到各语言调用示例与错误码,一页看懂怎么把模型接进你自己的系统。

1快速开始

四步把模型接进你自己的系统。全程只需要一个 API Key 和一个 base_url,任何支持 OpenAI 协议的 SDK 或框架都能直接用。

① 注册并登录

在 模型广场 页底部登录 51-ai.cn 账号(支持密码或邮箱验证码)。

② 创建 API Key

登录后点击「创建新密钥」。密钥格式为 sk-51-…,仅在创建时展示一次,请立即保存。

③ 配置 base_url

把 SDK 的 base_url 指向我们的网关,api_key 填刚创建的密钥。

④ 发出第一个请求

调用 /v1/chat/completions,model 填模型标准调用名称(见第 6 节)。

最小可用示例

curl https://api.51-ai.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-51-你的密钥" \
  -d '{
    "model": "DeepSeek-V4-Flash-0731",
    "messages": [
      {"role": "user", "content": "你好,介绍一下你自己"}
    ]
  }'

2网关与接入点

我们提供三个接入点,接口协议完全一致。国内业务建议走国内网关,海外业务或需要访问境外模型时走海外网关(达拉斯节点)。

统一入口https://api.51-ai.cn
国内网关https://api.gpugeek.com
海外网关 · 达拉斯https://geinfer.com

完整请求地址

能力路径方法
对话补全/v1/chat/completionsPOST
模型列表/v1/modelsGET
文本向量/v1/embeddingsPOST

例如国内网关的对话补全地址为 https://api.gpugeek.com/v1/chat/completions,海外网关为 https://geinfer.com/v1/chat/completions。

3鉴权

所有请求都需要在 HTTP 头里带上 Bearer Token。密钥与账号绑定,可在控制台随时创建或撤销。

Authorization: Bearer sk-51-你的密钥
Content-Type: application/json

安全建议

密钥等同于账号权限,请只保存在服务端环境变量中,不要写进前端代码或提交到代码仓库。发现泄露请立刻到控制台撤销并重建。

4OpenAI 兼容接口

POST /v1/chat/completions 完全兼容 OpenAI 协议,换模型只需要改 model 参数。

请求参数

参数类型必填说明
modelstring是模型标准调用名称,见 模型广场
messagesarray是system / user / assistant 角色消息数组
max_tokensinteger否最大输出长度,通用上限 4096
temperaturenumber否0–2,越大越随机
streamboolean否为 true 时以 SSE 流式返回
top_p / stop—否与 OpenAI 语义一致

响应结构

{
  "id": "chatcmpl-…",
  "object": "chat.completion",
  "created": 1757660000,
  "model": "DeepSeek-V4-Flash-0731",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "你好!我是…" },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 12, "completion_tokens": 88, "total_tokens": 100 }
}

流式模式下返回 text/event-stream,每个事件形如 data: {"choices":[{"delta":{"content":"…"}}]},以 data: [DONE] 结束。

5代码示例

同一份代码把 base_url 换成国内或海外网关即可,其余不用改。

cURL

curl https://api.51-ai.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-51-你的密钥" \
  -d '{
    "model": "DeepSeek-V4-Flash-0731",
    "messages": [
      {"role": "system", "content": "你是一个乐于助人的助手"},
      {"role": "user", "content": "你好,介绍一下你自己"}
    ]
  }'

Python(openai SDK)

from openai import OpenAI

client = OpenAI(
    api_key="sk-51-你的密钥",
    base_url="https://api.51-ai.cn/v1"
)

resp = client.chat.completions.create(
    model="DeepSeek-V4-Flash-0731",
    messages=[{"role": "user", "content": "你好,介绍一下你自己"}],
)
print(resp.choices[0].message.content)

# 流式输出
stream = client.chat.completions.create(
    model="Gemini-3.8-flash-premium",
    messages=[{"role": "user", "content": "写一首关于春天的诗"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-51-你的密钥",
  baseURL: "https://api.51-ai.cn/v1",
});

const resp = await client.chat.completions.create({
  model: "DeepSeek-V4-Flash-0731",
  messages: [{ role: "user", content: "你好,介绍一下你自己" }],
});
console.log(resp.choices[0].message.content);

原生 fetch 流式(浏览器 / 边缘运行时)

const res = await fetch("https://api.51-ai.cn/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sk-51-你的密钥",
  },
  body: JSON.stringify({
    model: "Claude-4.8-opus-premium",
    stream: true,
    messages: [{ role: "user", content: "用三句话介绍你自己" }],
  }),
});

const reader = res.body.getReader();
const decoder = new TextDecoder();
while (true) {
  const { value, done } = await reader.read();
  if (done) break;
  process.stdout.write(decoder.decode(value));
}

6模型与调用名

model 参数填模型标准调用名称(如 Gemini-3.8-flash-premium)。下表节选常用模型,完整清单、单价与销售折扣见 模型广场与报价。

厂商节选模型调用名类型
Google GeminiGemini-3.8-flash-premium · Gemini-3.1-pro-premium · Gemini-2.5-flash-image-premium文本 / 图像
Anthropic ClaudeClaude-4.8-opus-premium · Claude-4.6-Sonnet-premium · Claude-5-opus文本
OpenAI GPTGPT-6-astra-premium · GPT-5.6-sol-premium · GPT-5-codex-premium文本 / 图像
xAI GrokGrok-4.6 · Grok-4.5 · Grok-4.1-fast文本
DeepSeekDeepSeek-V4-Flash-0731文本

静态获取可用模型

调用 GET /v1/models 可以随时拉取当前账号可用的模型列表,避免把模型名写死在代码里。

7计费与额度

项目规则
计费方式按 token 用量计费(prompt + completion),流式按最终 usage 计
计价单位每百万 Token(1M tokens)。图像模型按每张图片计价
输入 / 输出分别计价,输出单价通常高于输入;部分模型按上下文长度分档(如 GPT 系列的 ≤272K / ≥272K)
上下文缓存支持缓存的模型区分「5min 缓存写入 / 1h 缓存写入 / 缓存读取」三档单价,命中缓存可显著降低成本
销售折扣按合同报价单约定的折扣结算,折扣比例见 模型广场
余额与工作台对话共用账户余额,实时扣减
余额不足返回 HTTP 402 insufficient_quota,充值后自动恢复

8错误码

HTTP含义处理建议
400请求参数错误(缺少 messages、model 不存在等)检查请求体格式与 model 名称
401密钥无效、已撤销或未带 Authorization 头到控制台重新生成密钥
402余额不足充值后重试,或联系商务开通企业额度
403模型未对该账号开通联系商务开通该模型权限
404路径不存在确认 base_url 与接口路径是否正确
429触发限流降低并发或退避重试
500 / 502上游模型服务异常或超时稍后重试;持续失败请联系客服

9限流与最佳实践

并发与限流

默认按账号设置并发与 RPM 上限。需要更高并发请在商务侧申请提额,说明模型、峰值 QPS 与业务场景。

超时与重试

建议客户端超时设为 60s 以上;对 429 / 5xx 采用指数退避重试(最多 2–3 次),不要无脑重试。

长上下文

超过 272K 上下文的请求在 GPT 系列上会命中更高档位的单价,建议先裁剪无关上下文再接缓存。

用好缓存

固定前缀(系统提示词、知识库片段)放在 messages 前部,可命中上下文缓存,明显降低输入成本。

10常见问题

已经用 OpenAI SDK 了,要改多少代码?

只改两个地方:base_url 指向我们的网关,api_key 换成 sk-51-…。其余代码不用动。

同一个 Key 能调用多个厂商的模型吗?

可以。一个 Key 通用,通过 model 参数切换模型即可,不需要为每个厂商单独申请密钥。

国内和海外网关怎么选?

国内业务走 api.gpugeek.com,延迟更低;需要直连境外模型或海外业务走 geinfer.com(达拉斯节点)。两者接口一致,可按需切换甚至做双活。

密钥找不到了怎么办?

密钥只在创建时展示一次。如果没保存,到控制台撤销旧密钥后重新创建一个即可。

如何获取企业批量价格?

到 模型广场与报价 查看当前折扣,或 联系商务 获取年度框架与批量价格。

11参考资料

以下外部资料可作为补充参考,接口协议与调用方式与我们基本一致,可以直接对照使用。

资料地址
API 在线文档(含国内外模型)https://geinfer.com/app/dev-docs
国内网关调用地址https://api.gpugeek.com
海外网关(达拉斯)https://geinfer.com
硅基流动 API 文档(协议对照)api-docs.siliconflow.cn
聚合 MaaS 平台 API 使用手册企业微信文档,可联系商务获取下载链接