Skip to main content
OpenAI 原生协议。逐字讲 Chat Completions,所以任何为 Chat Completions API 构建的客户端(OpenAI Python / Node SDK、LangChain 默认、LlamaIndex 等)都能 不改代码直接用 —— 把 base URL 指向 https://llm.bytespike.ai/v1、换 key 即可。非 GPT 模型(Claude、Gemini、DeepSeek、Doubao)在底下被翻译。

何时使用

以下情况选这个端点:
  • 作为 openai SDK 调用的直接替换OpenAI(base_url=…, api_key=…)
  • OpenAI 独有的特性 比如 response_format: {"type": "json_schema"}logprobs
  • 硬编码 OpenAI 形状的框架
工具调用直接用 OpenAI 的 tool_calls 形状。要在 Claude 上用 prompt caching,建议改用 /v1/messages —— OpenAI 形状装不下 cache_control

请求

请求头

Body

响应

响应字段

计费类请求头

与其他端点一致的信封:
详见 API 参考总览

流式 [#streaming]

"stream": true。响应是 SSE,data: {json} 行加结尾 data: [DONE]
设了 stream_options: {"include_usage": true} 时,token 用量会在最后一个非 [DONE] 帧里返回。

工具调用 [#tool-calling]

工具遵循 OpenAI 的 function 形状。两次请求轮转:

第一轮 —— 提供工具

响应:
注意 argumentsJSON 字符串 而不是对象 —— 这是 OpenAI 的约定。

第二轮 —— 回传工具结果

视觉(image_url 内容)

通过 image_url 内容块发送图像。data URL 和 HTTPS URL 都行;网关把字节直接转发给支持视觉的模型(GPT-5-x、Claude Sonnet/Opus 4.x、Gemini、Doubao Vision)。
支持该字段的模型上,detail"low" / "high" / "auto")会被尊重。

跨模型路由 [#cross-model-routing]

本端点的 model 字段接受 任意 ByteSpike 目录模型 —— 网关透明地把 OpenAI 形状翻译成各模型的原生协议:
注意:
  • response_format: {"type": "json_schema"} 需要模型原生支持结构化输出(GPT 4.x+、部分 Gemini Pro 变体)。其他模型会返回 400 unsupported_feature
  • seed 是 best-effort;跨模型的确定性无法保证。
  • tool_calls.arguments 不论用哪个模型,恒返回 JSON 字符串 —— 哪怕 Claude 模型内部返回的是结构化 input。
完整目录:GET /v1/models。按模型计价:bytespike.ai/pricing

速率限制和配额头

错误

所有非 2xx 响应 免费 —— 失败不计费。Body 形状与 OpenAI 的错误信封一致:

SDK 示例

OpenAI Python SDK,把 base URL 换掉:
不需要 fork SDK —— 我方就是用上游 openai 包做的测试。