VibeAPIVibeAPI 开发者文档

快速开始

五分钟发出第一个请求。拿 key、装 SDK、选端点,以及一条能省掉大半工单的建议

VibeAPI 兼容 OpenAI、Anthropic、Google 三家的官方协议,官方 SDK 只需要换一个 base URL。一把 key 可调用 GPT、Claude、Gemini、Grok 与国产模型。

获取 key 与地址

Base URL(OpenAI SDK / 直接调 HTTP)https://www.vibeapi.cn/v1
Base URL(Anthropic / Google SDK)https://www.vibeapi.cn,SDK 自己拼 /v1/messages/v1beta/...
认证请求头 Authorization: Bearer <API_KEY>
可用模型GET /v1/models,或看模型与入口

/v1 只属于 OpenAI 协议这一族的路径。Anthropic SDK 与 Google google-genai SDK 填 base URL 时不带 /v1,写 https://www.vibeapi.cn 即可,SDK 会自己拼上 /v1/messages/v1beta/...;直接调 Gemini 原生 HTTP 时也是 /v1beta/...,不是 /v1

使用官方 SDK

SDK 处理了以下几类容易出错的细节:

SSE 流式解析最容易出错的一块

手写的 SSE 解析器几乎都会在这几处翻车:一个事件跨越多个 TCP 包、data: 出现多行、 注释行(以 : 开头)、以及最后的 [DONE] 哨兵。SDK 的迭代器直接给你解析好的事件对象。

工具调用参数的拼接第二容易出错

流式下函数参数是分片下发的,要按 index 累积拼成完整 JSON 才能解析。 自己写很容易在多个并行工具调用时串行错位。

超时与重试容易被忽略

SDK 自带合理的超时默认值和对 429 / 5xx 的指数退避重试。裸 requests.post 不设超时, 一次网络抖动就是一个挂死的请求。

请求形状写代码时就能发现

参数名写错、该用 max_completion_tokens 却用了 max_tokens、Messages 忘了必填的 max_tokens——这些在有类型提示的 SDK 里当场就能发现,不用等线上报 400。

安装:

pip install openai        # Responses / Chat / 图像 / Grok
pip install anthropic     # Claude Messages
pip install google-genai  # Gemini
npm install openai             # Responses / Chat / 图像 / Grok
npm install @anthropic-ai/sdk  # Claude Messages
npm install @google/genai      # Gemini

发第一个请求

from openai import OpenAI

client = OpenAI(base_url="https://www.vibeapi.cn/v1", api_key="YOUR_API_KEY")

stream = client.responses.create(
    model="gpt-6-astra",
    input="用一句话解释什么是幂等。",
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://www.vibeapi.cn/v1",
  apiKey: "YOUR_API_KEY",
});

const stream = await client.responses.create({
  model: "gpt-6-astra",
  input: "用一句话解释什么是幂等。",
  stream: true,
});

for await (const event of stream) {
  if (event.type === "response.output_text.delta") process.stdout.write(event.delta);
}
curl -N -X POST "https://www.vibeapi.cn/v1/responses" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-astra","input":"用一句话解释什么是幂等。","stream":true}'

用环境变量更省事,两家 SDK 都认:

# OpenAI SDK
export OPENAI_BASE_URL="https://www.vibeapi.cn/v1"
export OPENAI_API_KEY="sk-..."

# Anthropic SDK
export ANTHROPIC_BASE_URL="https://www.vibeapi.cn"
export ANTHROPIC_API_KEY="sk-..."

设好之后 OpenAI() / Anthropic() 不传参数就能直接用。

开启流式

请求超时上限是 120 秒。 非流式请求在生成完成前没有任何数据下行,单次生成一旦超过 这个时间,连接会被中断,表现为「调用超时」。

短输出的非流式请求正常可用;长输出与推理型模型容易触发上限。该超时为硬约束, 无法通过配置放宽,而单次生成耗时又无法预先判断,因此生产环境建议默认开启流式

需要一次性获得完整结果时,请在客户端聚合流式事件。两家 SDK 均提供了聚合接口: OpenAI SDK 的 stream.get_final_response()、Anthropic SDK 的 stream.get_final_message()

选择端点

按模型家族选它的原生协议,功能最全;跨协议调用是网关翻译的,只保证消息、流式和基本工具调用。

你要做的事端点SDK
GPT 系对话(gpt-*codex-*OpenAI Responses,推荐openai
Claude 系对话(claude-*Claude Messagesanthropic
Gemini 系对话(gemini-*Gemini generateContentgoogle-genai
Grok 对话与国产模型OpenAI Chat Completions / Grok 对话openai
生图GPT 图像 · Gemini 图像 · Grok 图像openai / google-genai
生视频视频生成(万相 / Seedance / MiniMax)· Grok 视频直接 HTTP

拿不准就查模型与入口,那里逐个模型写明了推荐入口、可用入口,以及哪些是网关转换出来的。

给 AI 编程代理装 Skill

本站打包成了一个 Skill。装进代理之后,涉及 VibeAPI 的任务里它会自动读:该走哪套协议、 为什么建议流式、网关会改写哪些参数、两类 key 的差异,以及每个参数的实测结果。内容与本站同源,随站点构建更新。

把这句话发给你的代理,它自己会装:

帮我安装这个 Skill:https://docs.vibeapi.cn/vibeapi-skill.zip

想手动装:解压得到 vibeapi/SKILL.md + references/),放进代理的 skills 目录。 SKILL.md 是一份带 frontmatter 的普通 Markdown,不支持 Agent Skills 规范的工具, 把它贴进 AGENTS.md 或系统提示也能用,references/ 下的文件按需附上。

官方文档

我们只写与本网关有关的部分。参数语义的权威定义仍以官方为准: