文档OriHub
OpenAI Responses API
平台直接兼容 OpenAI 的 Responses API —— POST /v1/responses,比 Chat Completions 简洁:input 可以直接传一段字符串。官方 SDK 只是把它包了一层。
用 SDK 就看OpenAI SDK,自己发 HTTP 请求就看这页。
对话生成
POST /v1/responses —— 生成一次对话响应。
鉴权是 Authorization: Bearer {API_KEY}。
curl https://api.lk888.ai/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tt-4o",
"input": "你好"
}'
请求参数
model—— 模型名(必填)input—— 输入内容,一段字符串或者消息数组(必填)stream—— 是否流式输出(可选)
响应
{
"id": "resp-xxx",
"object": "response",
"model": "tt-4o",
"output": [
{
"type": "message",
"content": [{ "type": "output_text", "text": "你好!" }]
}
],
"usage": { "input_tokens": 5, "output_tokens": 8 }
}
output[0].content[0].text—— 回复正文usage.input_tokens/usage.output_tokens—— token 用量
流式
加 stream: true 返回 SSE。事件跟 Chat Completions 不一样 —— Responses 是语义事件(response.created → response.output_text.delta → response.completed),不是一个 chunk 一个 chunk 往外吐。
特别注意
- 这个端点是无状态透传。平台每次请求独立调度线路,同一段对话可能落到不同上游。所以
previous_response_id不保证能用(跨线路会返回previous_response_not_found),store=true也不跨线路生效 - 多轮要自己重放:把上一轮完整的 output 项(
reasoning/message/function_call原样带上)追加到本轮input数组,再加function_call_output,全量重放上下文。别指望服务端替你记着 - 错误格式和状态码跟 Chat Completions 一样:401 密钥无效、402 余额不足、429 请求过多
- 这个端点跟 Chat Completions 是同一批模型 —— GPT 全系都能走,两个端点二选一(Chat Completions 那边优先)
- 分组路由由密钥的调度策略决定,请求体里的
channel_group和请求头X-Channel-Group都不改路由 - 这次调用花了多少:响应头
X-Task-Id是本平台的任务号(流式非流式都带,响应体里的id是上游生成的、不能用来查),拿它调GET /v1/skills/task-status?task_id={X-Task-Id},is_final = true时的cost就是结算金额