端点
https://vibetoken.cn/v1 并使用你的 VibeToken API key。
请求头
请求体
array
必填
OpenAI 消息数组:
[{role: "user", content: "..."}]。支持具备视觉能力的模型使用多模态内容片段。number
采样温度,0–2。默认值取决于具体模型。
integer
生成的最大 token 数。
number
核采样概率,0–1。
boolean
若为
true,响应将是一个 Server-Sent Events 流,由 data: {chunk}\n\n 形式的数据块组成,并以 data: [DONE] 结束。string | array
停止序列。
integer
用于可复现输出的采样随机种子。
object
例如
{ "type": "json_object" },用于支持 JSON 模式的模型。number
根据 token 是否已在文本中出现过对新 token 进行惩罚,取值 -2 到 2。
number
根据 token 在文本中出现的频率对新 token 进行惩罚,取值 -2 到 2。
array
针对支持工具调用的模型的工具/函数定义。
string
可选的 OpenAI 风格缓存分区键。共享同一个键的请求会路由到
同一个提示缓存。VibeToken 会自动设置一个按终端用户区分的键
(参见提示缓存);仅在需要覆盖时才传入你自己的键——
例如在某个工作区内跨用户共享缓存。
Anthropic 和 Gemini 模型会忽略该字段,转而使用它们自己的缓存
原语(VibeToken 也会自动处理这些)。
示例
响应
usage 会包含一个 prompt_tokens_details 对象:
cached_tokens— OpenAI 标准的从缓存中提供的 token 计数 (缓存读取),按该模型折扣后的缓存读取(Cache Read)费率计费。cache_read_input_tokens— 同一数值的 Anthropic 风格别名, 为保持一致性而一并给出。cache_creation_input_tokens— 本次请求写入缓存的 token 数(仅限 Anthropic;OpenAI/Gemini 无写入溢价)。
usage 中。
提示缓存
对于上游支持提示缓存的模型,VibeToken 会自动缓存—— 无需任何标志。命中缓存的输入 token 按该模型折扣后的 缓存读取(Cache Read)费率计费;对于 Anthropic 模型,缓存写入(创建缓存条目的 首次请求)按约 1.25× 的缓存写入(Cache Write) 溢价计费。这两种费率(若已定义)均显示在各模型的定价页面上。按用户隔离
缓存是按终端用户隔离的:你的客户缓存的前缀 绝不会与其他客户共享,也无法被其读取——即便他们通过 同一个 VibeToken 账户发送完全相同的提示词。VibeToken 会派生出 一个稳定、不透明的按用户 token,并将其接入 上游所遵循的相应缓存原语:- OpenAI / GPT-5 — 标准的
prompt_cache_key字段。仅当你想覆盖 VibeToken 的按用户 分区时才传入你自己的prompt_cache_key(例如在某个工作区内跨用户共享缓存)。 - Anthropic / Claude — 通过
session-id头进行分区,并在系统块上 设置一个cache_control: ephemeral断点(Claude 只有在显式断点 存在时才缓存,并会忽略prompt_cache_key)。 - Google / Gemini — Gemini 的隐式缓存没有按请求的键, 因此 VibeToken 会在缓存前缀前面加上一个按用户的盐值注释。 每个用户会得到不同的内容哈希 → 不同的缓存分区。
阈值与 TTL
上游缓存通常需要**≥1024 个输入 token** 才会生效。 各模型的例外情况:- Anthropic Haiku 4.5、Opus 4.5 / 4.6 / 4.7 → ≥4096 个 token
- Anthropic Sonnet 4.6 → ≥2048 个 token
- Gemini 2.5 Pro → ≥4096 个 token
流式输出
设置"stream": true 即可接收 SSE 数据块。每个数据块都是一个 chat.completion.chunk 对象,其 delta 中包含增量内容。数据流以 data: [DONE] 结束。