API 文档
GrogCrane 提供 OpenAI 兼容的 API,一行 base_url 即可接入现有 SDK。所有模型通过同一网关路由,自动故障转移,按 Token 计费。
快速开始
| 项 | 值 |
|---|---|
| Base URL | https://api.gorgcrane.com/v1 |
| 认证 | Authorization: Bearer sk-grog-... |
| 模型 | 见 GET /v1/models |
第一个请求(curl)
# 模型列表
$ curl https://api.gorgcrane.com/v1/models \
-H "Authorization: Bearer sk-grog-xxxx"
# 对话补全
$ curl https://api.gorgcrane.com/v1/chat/completions \
-H "Authorization: Bearer sk-grog-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello!"}]
}'
认证
在控制台创建 API Key(sk-grog- 前缀)。所有请求通过请求头携带:
Authorization: Bearer sk-grog-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
密钥安全:明文 Key 仅在创建时显示一次,请立即保存。服务端只存储哈希,泄露请立即在控制台吊销。可在控制台为 Key 设置额度上限与 QPS 限流。
Chat Completions
POST/v1/chat/completions
与 OpenAI 完全兼容,支持流式与非流式。
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| model | string | 模型别名,见 GET /v1/models |
| messages | array | 对话消息:[{role, content}] |
| stream | bool | true 时返回 SSE 流式 |
| max_tokens | int | 最大生成 Token 数 |
| temperature | float | 采样温度 0-2 |
| top_p | float | 核采样 |
流式响应(SSE)
$ curl -N .../v1/chat/completions \
-d '{"model":"gpt-4o-mini","messages":[...],"stream":true}'
data: {"id":"chatcmpl-...","choices":[{"delta":{"content":"你"}}]}
data: {"id":"chatcmpl-...","choices":[{"delta":{"content":"好"}}]}
data: {"id":"chatcmpl-...","choices":[],"usage":{...}}
data: [DONE]
Models
GET/v1/models
返回当前可用的模型列表。模型按需上架,以实际返回为准。
$ curl https://api.gorgcrane.com/v1/models \
-H "Authorization: Bearer sk-grog-xxxx"
错误码
| HTTP | code | 含义 |
|---|---|---|
| 401 | invalid_api_key | Key 无效 |
| 402 | insufficient_balance | 余额不足,请充值 |
| 403 | model_not_allowed | 模型未授权(Key 白名单) |
| 404 | model_not_found | 模型不存在或未启用 |
| 408/502 | upstream_error | 上游超时/错误(自动重试其他节点) |
| 429 | rate_limit_exceeded | QPS 超限,稍后重试 |
计费
按 Token 计费,余额以「点数」计(1 点 = 0.01 元)。
- 价格 = 输入 Token × 输入单价 + 输出 Token × 输出单价,按模型定价
- 每次请求实时扣费,余额不足返回
402 - 在控制台查看用量明细、余额流水,支持 USDT(TRC-20)充值
限流
| 维度 | 默认 | 说明 |
|---|---|---|
| QPS | 60/Key | 每秒请求数,可在控制台调整 |
| 额度上限 | 不限 | Key 累计消费上限,可配置 |
| 模型白名单 | 全部 | 可限制 Key 仅可用指定模型 |
SDK 示例
Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-grog-xxxx",
base_url="https://api.gorgcrane.com/v1",
)
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
Node.js(OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-grog-xxxx",
baseURL: "https://api.gorgcrane.com/v1",
});
const resp = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);
OpenAI 兼容(一行切换)
export OPENAI_BASE_URL="https://api.gorgcrane.com/v1"
export OPENAI_API_KEY="sk-grog-xxxx"
$ openai ... # 现有工具/SDK 零改造
提示:文档站当前为本地演示版本,接入地址为
https://api.gorgcrane.com/v1。正式上线后同步更新。