主题
语言

聊天补全

/v1/chat/completions — OpenAI 兼容的聊天端点。参数为 model、messages、stream、temperature。支持 SSE 流式传输。提供 curl、Python(openai)和 Node 中的请求与响应示例。

OpenAI 兼容的聊天端点。适用于任何 OpenAI SDK,只需将 base_url 更改为 https://getvibeapi.com/v1。

POSThttps://getvibeapi.com/v1/chat/completions

请求正文参数

GetVibe 实现的是兼容的 Chat Completions 契约,而不是逐字节透传:它会检查访问权限、解析公共模型 id、应用限制,并可能规范化受支持的请求字段。响应和错误也会被规范化,不保证包含上游特有的字段或请求头。对于大多数任务,前三项 — model、messages 和 stream — 就足够了。

基础版 — 适用于所有模型
参数类型描述
modelreq.string来自 catalog 的模型名称,例如 gpt-6.1-sol 或 claude-opus-5.5。
messagesreq.array消息数组 { role, content }。角色:system、user、assistant。
streambooleantrue — 通过 SSE 流式传输响应。
max_tokensinteger响应中的最大令牌数。我们建议至少设置为 64:如果值过小(例如 ≤ 16),模型可能会在第一个可见令牌之前达到限制(finish_reason: length),并返回空响应。如果你需要简短结果,请在提示词中提出要求,并为 max_tokens 留出余量。
temperaturenumber输出随机性,范围为 0–2。默认值为 1。
高级功能 — 支持情况取决于模型
参数类型描述
top_pnumbermodel-dependent核采样(0–1)。temperature 的替代参数;不建议同时更改这两个参数。
top_knumberClaudeTop-K 采样。仅限 Anthropic 模型。
seedintegerGPT固定结果以确保可复现。适用于 GPT 系列;在其他地方会被忽略。
stopstring | arraymodel-dependent停止序列:一个字符串或最多包含 4 个字符串的列表。
frequency_penaltynumberGPT · Claude按频率重复 token 的惩罚值(-2 至 2)。
presence_penaltynumberGPT · Claude已出现过的 token 的惩罚值(-2 至 2)。
logprobsboolean—当前没有路由会返回对数概率:该参数会在分发前被移除,并在 x-getvibe-warnings 标头中报告(param_dropped:logprobs);请求不会被拒绝。
top_logprobsinteger—与 logprobs 一起被移除,并在 x-getvibe-warnings 中报告。
logit_biasobjectGPTToken-ID → logit bias(-100 到 100)。
userstringmodel-dependent最终用户标识符(向上游传递,用于速率限制跟踪)。
response_formatobjectGPT · Claude强制将输出设为 JSON。了解更多 →
tools / tool_choicearray / stringGPT · Claude函数调用。了解更多 →

“Support”列中的徽章:GPT — 仅限 GPT 系列,Claude — 仅限 Anthropic 模型,GPT · Claude — 两个系列均支持,model-dependent — 请查看相应模型的文档。

各路由变体的参数支持情况

同一模型可以由不同路由提供(变体 :1、:2、……)。路由在价格、速度和支持的参数集方面有所不同。

比较路由变体
参数类型描述
Default variant (:1)basic完整的 OpenAI 参数集:temperature、top_p、seed、stop、penalties、logprobs、tools、response_format,以及包含 usage chunk 的流式传输。
Subscription variants (:2, :3…)advanced参数集与基础参数集匹配,但路由使用不同的基础设施。个别参数可能不受支持,我们会在变体描述中说明这一点。
or-* variantsor-*通过独立的聚合器代理请求。参数支持取决于具体供应商。tool_choice: "required" 以及某些采样参数可能无法使用。
未知参数会被提供商忽略或返回 400。如果某个参数很重要,请使用 :1(默认)变体,或在 Models 页面上的变体说明中检查是否支持该参数。

请求示例

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "messages": [
      {"role": "user", "content": "Hello! Who are you?"}
    ]
  }'

响应示例

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-6.1-sol",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hi! I'm an assistant available through GetVibe API."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 14,
    "total_tokens": 26
  }
}

流式传输(SSE)

使用 "stream": true 时,响应会以 Server-Sent Events 流的形式返回:包含增量内容的 data: … 事件,并以 data: [DONE] 结束。

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "stream": true,
    "messages": [{"role": "user", "content": "Count to three"}]
  }'

包含用量信息的最后一个分块

data: [DONE] 之前的最后一个块包含空的 choices: [] 和带有 token 统计信息的 usage 字段。请使用它进行计费,不要手动累加各个增量。

data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":42,"completion_tokens":87,"total_tokens":129},"model":"gpt-6.1-sol","object":"chat.completion.chunk"}

data: [DONE]

每个可以估算成本的非流式响应都包含x-pv-cost-rub响应标头。默认情况下,流式响应体不包含pv_cost_rub;发送x-pv-cost: 1可将成本添加到该协议的最终 usage 事件中。这是尽力而为的估算;如需查看实际扣款,请参阅请求历史记录GET /v1/generations。

兼容性

该端点兼容 OpenAI SDK(Python、Node 等)、Codex CLI 和 Claude Code。Claude Code 通过 /v1/messages 工作,并使用 x-api-key header,详见 Messages and Responses。

聊天补全 API GetVibe — Python 和 curl 示例 | GetVibe API