PieBox
文档中心

聊天补全 API

兼容 OpenAI 格式的聊天补全接口

快速开始

cURL:

curl -X POST https://tokenhub.piegateway.me/chat/completions \
  -H "X-API-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5",
    "messages": [{"role": "user", "content": "你好"}],
    "max_tokens": 100
  }'

TypeScript:

import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: '<your-api-key>',
  baseURL: 'https://tokenhub.piegateway.me'
})

const response = await client.chat.completions.create({
  model: 'claude-haiku-4-5',
  messages: [{ role: 'user', content: '你好' }],
  max_tokens: 100
})

console.log(response.choices[0].message.content)

聊天补全接口

POST /chat/completions

请求体(JSON):

{
  "model": "gpt-5.4-mini",
  "messages": [
    { "role": "system", "content": "你是一个助手" },
    { "role": "user", "content": "你好" }
  ],
  "temperature": 0.7,
  "max_tokens": 1000,
  "stream": false
}

参数说明:

参数类型必填说明
modelstring模型名称,通过 GET /v1/models 获取可用列表
messagesarray对话消息数组
temperaturenumber随机性,0-2,默认 1
max_tokensnumber最大输出 token 数
streamboolean是否流式输出,默认 false

响应示例:

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "model": "gpt-5.4-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!有什么可以帮你的吗?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 12,
    "total_tokens": 22
  }
}

查询可用模型

GET /v1/models
curl https://tokenhub.piegateway.me/v1/models \
  -H "X-API-Key: <your-api-key>"

响应示例:

{
  "object": "list",
  "data": [
    { "id": "gpt-5.4-mini", "object": "model" },
    { "id": "gpt-4o", "object": "model" },
    { "id": "claude-sonnet-4-20250514", "object": "model" }
  ]
}

流式输出

在请求体中添加 "stream": true,响应将以 SSE(Server-Sent Events)格式返回:

curl -X POST https://tokenhub.piegateway.me/chat/completions \
  -H "X-API-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5",
    "messages": [{"role": "user", "content": "你好"}],
    "stream": true
  }'