文档目录
本页目录

核心 API

文字 API

下文列出 OpenAI Responses、Chat Completions 和 Claude Anthropic Messages 的请求地址、认证方式与最小示例;Grok 与 Gemini 暂未上线。

协议与地址

三种协议的请求体、响应结构和流式事件并不相同。SDK 配置填写 Base URL,直接发送 HTTP 请求则使用表中的完整 endpoint。

API / 协议完整 endpoint认证读取文字
OpenAI · ResponsesPOST https://api.khaix.net/v1/responsesAuthorization: Beareroutput[].content[].text
OpenAI · Chat CompletionsPOST https://api.khaix.net/v1/chat/completionsAuthorization: Bearerchoices[0].message.content
Claude · Anthropic MessagesPOST https://api.khaix.net/v1/messagesx-api-keycontent[].text
Grok暂未上线不适用不适用
Gemini暂未上线不适用不适用

OpenAI 与 Claude 的模型 ID、价格和可用状态以控制台为准。

Responses API

Responses 通过 input 提交文字,并提供流式事件、函数工具和结构化输出。Codex 等编码 Agent 也会使用该协议。

cURL · Responses
curl https://api.khaix.net/v1/responses \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "用一句话说明 API 连接成功。"
  }'

请求完成后会返回 status: "completed",文字位于类型为 message 的输出项中。SDK 的 output_text 是便捷属性,REST 响应顶层不一定包含这个字段。

Chat Completions

多数 OpenAI Compatible 客户端通过 Chat Completions 接入。角色和对话内容放在 messages 数组中。

cURL · Chat Completions
curl https://api.khaix.net/v1/chat/completions \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [
      {"role": "user", "content": "用一句话说明 API 连接成功。"}
    ]
  }'

响应文字通常位于 choices[0].message.content。Responses 使用的 inputtext.format 和流式事件处理器不适用于本协议。

Anthropic Messages

Messages 采用 Anthropic 请求结构,其中 max_tokens 必填,API 版本通过请求头传递。

cURL · Messages
curl https://api.khaix.net/v1/messages \
  -H "x-api-key: sk-请替换为你的密钥" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 128,
    "messages": [
      {"role": "user", "content": "用一句话说明 API 连接成功。"}
    ]
  }'

从响应的 content 数组读取文字。Claude Code 通过 ANTHROPIC_AUTH_TOKEN 连接网关时会发送授权头,配置方法见客户端文档

Grok 与 Gemini

Grok 和 Gemini 文字 API 均暂未上线,当前没有 endpoint、专用密钥配置或请求示例。其他平台的地址和兼容配置不能直接用于 KHaiXAPI。

流式文字输出

在 Responses、Chat Completions 或 Messages 的请求体中加入 "stream": true 即可启用流式输出。下面是 Responses 的最小 SSE 请求:

cURL · Responses SSE
curl -N https://api.khaix.net/v1/responses \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "分三行输出一段简短文字。",
    "stream": true
  }'
协议关键事件或结束方式
Responses处理 response.output_text.deltaresponse.completederror
Chat Completions累加 choices[].delta.content,直到结束标记
Messagescontent_block_delta 等 Anthropic 事件类型处理
Grok 与 Gemini暂未上线,当前不提供流式调用方式

接入时分别处理 HTTP 错误、SSE 错误事件、客户端断开和整体超时。三种协议的分块结构不同,需要使用各自的解析逻辑。

标准函数工具

模型只会返回函数名称和参数,实际执行仍由应用负责。校验参数并执行受控函数后,把结果连同原始 call_id 返回模型。

cURL · 声明函数
curl https://api.khaix.net/v1/responses \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "查询上海现在的时间。",
    "tools": [{
      "type": "function",
      "name": "get_city_time",
      "description": "返回指定城市的当地时间",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"],
        "additionalProperties": false
      },
      "strict": true
    }]
  }'

响应的 output 中会出现 type: "function_call"nameargumentscall_id。执行函数后发送第二次请求:

cURL · 返回函数结果
curl https://api.khaix.net/v1/responses \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "previous_response_id": "请替换为上一响应ID",
    "input": [{
      "type": "function_call_output",
      "call_id": "请替换为函数调用ID",
      "output": "{\"city\":\"上海\",\"time\":\"10:30\"}"
    }]
  }'

结构化文字输出

需要固定 JSON 结构时可使用 JSON Schema。返回结果仍要经过解析、类型和业务规则校验;完整 Schema 的支持范围取决于模型。

cURL · Responses JSON Schema
curl https://api.khaix.net/v1/responses \
  -H "Authorization: Bearer sk-请替换为你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "把这句话分类:服务器已恢复,问题解决。",
    "text": {
      "format": {
        "type": "json_schema",
        "name": "ticket_result",
        "strict": true,
        "schema": {
          "type": "object",
          "properties": {
            "status": {"type": "string", "enum": ["open", "resolved"]},
            "summary": {"type": "string"}
          },
          "required": ["status", "summary"],
          "additionalProperties": false
        }
      }
    }
  }'
协议Schema 配置位置注意事项
Responsestext.format字段名与 Chat Completions 不同
Chat Completionsresponse_format.json_schemaSchema 外层还需包含名称与严格模式

结构化结果仍通过文字内容返回。只有内容通过解析和业务校验后才算成功;拒答、输出中断、Schema 不受支持或 JSON 解析失败都需要单独处理。