Skip to content

OpenAI Chat Completions

兼容 OpenAI 官方 POST /v1/chat/completions 接口,根据对话历史创建模型响应,支持流式与非流式响应、工具调用、多模态输入等。

WARNING

建议使用官方原生接口。本接口为 OpenAI 原生格式,用于调用 GPT 系列模型最稳定。若通过本接口调用非 OpenAI 模型(如 Claude、Gemini),由代理侧进行格式转换,可能存在参数缺失或行为差异等问题。具体支持范围请咨询 FreeAPI。

请求

Endpoint

http
POST https://www.free-api.ai/api/v1/chat/completions

请求头

名称必填说明
AuthorizationBearer your-api-key
Content-Typeapplication/json

请求参数

字段类型必填说明
modelstring模型 ID,例如 gpt-4ogpt-5
messagesarray对话消息列表,每条消息包含 rolecontent
temperaturenumber采样温度,范围 [0, 2],默认 1
top_pnumber核采样参数,范围 [0, 1],默认 1
ninteger为每条输入生成的候选数量,默认 1
streamboolean是否使用流式响应,默认 false
stream_optionsobject流式选项,例如 { "include_usage": true }
stopstring | string[]停止序列
max_tokensinteger最大生成 Token 数
max_completion_tokensinteger最大补全 Token 数(推理模型推荐使用)
presence_penaltynumber出现惩罚,范围 [-2, 2]
frequency_penaltynumber频率惩罚,范围 [-2, 2]
logit_biasobjectToken 级别偏置
userstring终端用户标识
toolsarray可调用的工具定义
tool_choicestring | object工具选择策略,可选 none / auto / required,或指定具体函数
response_formatobject响应格式,例如 { "type": "json_object" }
seedinteger随机种子
reasoning_effortstring推理强度,low / medium / high,仅推理模型支持
modalitiesstring[]模态,可选 text / audio
audioobject音频输出配置,如 { "voice": "alloy", "format": "wav" }

消息结构

json
{
  "role": "user | assistant | system | tool",
  "content": "字符串或多模态数组"
}

请求示例

cURL

bash
curl https://www.free-api.ai/api/v1/chat/completions \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      { "role": "system", "content": "你是一个乐于助人的 AI 助手。" },
      { "role": "user", "content": "用一句话介绍一下你自己。" }
    ],
    "temperature": 0.7
  }'

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="your-api-key",
    base_url="https://www.free-api.ai/api/v1",
)

resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个乐于助人的 AI 助手。"},
        {"role": "user", "content": "用一句话介绍一下你自己。"},
    ],
)
print(resp.choices[0].message.content)

响应示例

非流式

json
{
  "id": "chatcmpl-xxxxxxxx",
  "object": "chat.completion",
  "created": 1730000000,
  "model": "gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!我是一个乐于助人的 AI 助手。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 12,
    "total_tokens": 36
  }
}

流式 (stream: true)

每条数据以 data: 开头,最后以 data: [DONE] 结束:

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":"你好"},"finish_reason":null}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

data: [DONE]

常见错误

HTTP 状态说明
400请求参数错误
401鉴权失败,API Key 无效或已失效
429请求频率限制
5xx上游服务异常

错误响应体:

json
{
  "error": {
    "message": "错误描述",
    "type": "invalid_request_error",
    "code": "xxx"
  }
}

Made with docs by FreeAPI Team