对话补全 POST /v1/chat/completions
绝大多数业务都走这个端点:一问一答、流式输出、工具调用。
请求
| 字段 | 必填 | 说明 |
|---|---|---|
model |
是 | 平台公开模型名(控制台「模型与价格」里复制) |
messages |
是 | 对话数组;支持 system / user / assistant / tool |
stream |
否 | true 时以 SSE 逐块返回 |
max_tokens |
否 | 输出上限,直接影响费用,建议显式设置 |
temperature / top_p |
否 | 采样参数,按上游支持情况透传 |
tools / tool_choice |
否 | 工具调用,需模型与上游支持 |
response_format |
否 | 结构化输出,需模型与上游支持 |
stream_options |
否 | include_usage=true 可在流末尾拿到用量 |
curl https://api.token.heimatianqi.com/v1/chat/completions \
-H "Authorization: Bearer sk-heima-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"你好"}],"max_tokens":64}'
计费口径
输入按输入价、缓存命中按缓存价、输出按输出价;高峰时段乘高峰倍率;命中限免/折扣活动时按活动让利。
错误
| 状态 | 典型原因 |
|---|---|
| 400 | 请求体不合法 |
| 401 | Key 无效或被禁用 |
| 403 | 无模型权限 / 需实名 / 来源被临时限制 |
| 429 | 限流或渠道容量已满 |
| 5xx | 上游异常 |
错误响应里会带 request id,排查与对账时请保留(见错误码与限流)。
端点可达性验证
下面这段由文档验收套件真实执行:向本机网关发起一次未带 Key 的请求,
必须得到 401 与结构化 JSON 错误——证明该路径已被网关注册、且受鉴权中间件保护。
python3 -c "
import os,urllib.error,urllib.request
base=(os.environ.get('HEIMA_PROBE_BASE') or os.environ.get('HEIMA_BASE_URL','http://127.0.0.1:3000/v1')).split('/v1')[0]
req=urllib.request.Request(base+'/v1/chat/completions',data=b'{}',method='POST',headers={'Content-Type':'application/json'})
try:
urllib.request.urlopen(req,timeout=15)
raise SystemExit('expected 401 for unauthenticated request')
except urllib.error.HTTPError as e:
body=e.read().decode('utf-8','ignore')
assert e.code==401, 'unexpected status %s: %s'%(e.code,body[:160])
assert 'error' in body or 'message' in body, 'non-JSON error body: %s'%body[:160]
print('endpoint reachable & auth-guarded: /v1/chat/completions')
"
说明:探针只证明"路由存在 + 鉴权生效",不产生任何上游调用与费用。
常见问题
- 这个端点要额外开通吗? 取决于模型与上游:模型详情页会标注支持的端点;未开放时会返回明确错误, 不会静默降级到别的接口。
- 并发/限流如何? 平台有三层保护(模型 RPM、渠道容量、临时黑名单), 拒绝时返回 429/403 且不消耗上游。
相关端点
- 文本补全 POST /v1/completions
- 向量化 POST /v1/embeddings
- 重排 POST /v1/rerank
- 文生图 POST /v1/images/generations
- 图像编辑 POST /v1/images/edits
- 图像变体 POST /v1/images/variations
- 语音合成 POST /v1/audio/speech
- 语音转写 POST /v1/audio/transcriptions
- 语音翻译 POST /v1/audio/translations
- 模型清单 GET /v1/models
- 模型详情 GET /v1/models/{model}
- Anthropic 协议 POST /v1/messages
- Responses 接口 POST /v1/responses
- 实时会话 WebSocket /v1/realtime
- 内容审核 POST /v1/moderations
- 联网检索 POST /v1/alpha/search
- 文件接口 /v1/files
- 微调接口 /v1/fine-tunes
- 操练场接口 POST /pg/chat/completions
- 绘图任务 /mj/*
- 音乐任务 /suno/*
- 任务查询 GET /mj/task/{id}/fetch