快速开始
Nebula API 完全兼容 OpenAI 协议。任何支持自定义 base_url 的 SDK 或工具都可以直接使用。
BASE_URL = "https://your-domain.com/v1" API_KEY = "sk-xxxxxxxx-xxxxxxxx" # 控制台 → API 密钥 创建
鉴权
所有接口都需要在请求头中携带密钥:
Authorization: Bearer sk-xxxxxxxx-xxxxxxxx
对话补全
POST /v1/chat/completions
curl https://your-domain.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "model": "gpt-4o", "messages": [ {"role": "system", "content": "你是一个有帮助的助手"}, {"role": "user", "content": "用一句话解释量子纠缠"} ], "temperature": 0.7 }'
响应中的 usage 字段即本次调用的计费依据。
流式输出
设置 "stream": true 后返回标准 SSE 流,以 data: [DONE] 结束。
# Python stream = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "写一首诗"}], stream=True, ) for chunk in stream: delta = chunk.choices[0].delta.content if delta: print(delta, end="")
模型列表
GET /v1/models — 返回当前可用模型与价格信息。
| 模型 | 上下文 | 输入 | 输出 |
|---|---|---|---|
| glm-5.3-flash | 128K | ¥76.68 | ¥268.38 |
| deepseek-v4.1-flash | 128K | ¥95.85 | ¥383.40 |
| minimax-m3 | 128K | ¥201.29 | ¥402.57 |
| deepseek-v4-pro | 128K | ¥431.33 | ¥1293.97 |
| kimi-k2.7 | 128K | ¥623.03 | ¥2587.95 |
| glm-5.3 | 128K | ¥766.80 | ¥2683.80 |
| kimi-k3 | 128K | ¥1917.00 | ¥9585.00 |
| kimi-k3-1 | 128K | ¥1917.00 | ¥9585.00 |
向量化
POST /v1/embeddings — 请求体与 OpenAI 一致。
错误码
| HTTP | code | 说明 |
|---|---|---|
| 400 | invalid_request_error | 参数缺失或格式错误 |
| 401 | invalid_api_key | 密钥缺失或无效 |
| 402 | insufficient_balance | 余额不足,请充值 |
| 402 | quota_exceeded | 密钥额度已用尽 |
| 403 | key_disabled / key_expired | 密钥被禁用或过期 |
| 403 | model_not_allowed | 密钥无权调用该模型 |
| 403 | ip_not_allowed | 来源 IP 不在白名单 |
| 404 | model_not_found | 模型不存在 |
| 429 | rate_limited | 请求过于频繁,请退避重试 |
| 502 | upstream_unavailable | 上游渠道暂时不可用 |
| 503 | no_channel_available | 暂无渠道支持该模型 |
所有错误响应都包含 request_id,联系支持时请提供该值。
FAQ
请求超时时间是多少?+
默认上游超时 120 秒,可在服务端通过环境变量 UPSTREAM_TIMEOUT_MS 调整。
支持 function calling / tools 吗?+
支持。请求体中的 tools、tool_choice 等字段会原样透传给上游模型。
并发有限制吗?+
每个密钥默认 60 请求/分钟,可在后台按需调整。