tool_use、
cache_control、thinking 块。跨厂商模型(GPT、Gemini、DeepSeek、
Doubao 等)在底下被透明翻译 —— 不管你在 model 字段写哪个值,发出的
请求都是 Anthropic 形状。
何时使用
以下情况选这个端点:- Anthropic SDK / Claude Code / Claude Desktop 想接入目录里任意模型
- Tool use 要 schema 最干净的那一套(不像 OpenAI 的
tool_calls那样套 JSON 字符串) - Prompt caching(
cache_control块)用在长且稳定的 system prompt 上 - Extended thinking 用在 Opus / Sonnet 4.x
/chat/completions。如果要 Google Native,用 /v1beta/models/{model}:generateContent。
请求
请求头
Body
响应
响应字段
计费类请求头
每个响应 —— 不论成功或失败、流式或非流式 —— 都附带网关的配额信封:X-RateLimit-Limit/Remaining—— 当前最紧的速率限制桶(5h / 1d / 7d 取最紧那一档)的 USD 预算。X-RateLimit-Reset—— 该桶重置的 Unix 时间戳。X-Quota-Remaining-Credits—— 该 key 终身剩余 credits(USD;1 USD = 1,000,000 credits)。失败请求不动这个数。X-Org-Quota-Remaining-Credits—— 组织钱包剩余,仅对组织持有的 key 返回。
GET /api/v1/usage —— 它返回每次调用的 prompt + completion tokens 以及最终计费 credits。
流式 [#streaming]
设"stream": true。响应是标准 Anthropic 格式的 SSE:
message_start → 一个或多个(content_block_start → content_block_delta× → content_block_stop)→ message_delta → message_stop —— 与 Anthropic Messages 规范一致。工具调用通过 input_json_delta 以 tool_use 内容块分块流式到达。
Tool use(多轮)
工具调用通过两次请求轮转完成。第一次带上工具 schema;模型回tool_use 块;你在本地执行工具,再把结果 POST 回去作为第二次请求。
第一轮 —— 提供工具
第二轮 —— 回传工具结果
本地执行get_weather({city: "Tokyo"}),再用 tool_result 块带上原始 tool_use.id 回传:
stop_reason: "end_turn"。
图像 / 多模态内容
把图片作为image 内容块发送。base64 和 URL 两种 source 都行;网关把字节直接转发给支持视觉的模型(Claude Sonnet/Opus 4.x、GPT-5-x、Gemini、Doubao Vision 等)。
GET /v1/models 查看模型的能力标签。
跨模型路由 [#cross-model-routing]
本端点的model 字段接受 任意 ByteSpike 目录模型 —— 网关在底下透明地把请求翻译成各模型的原生协议。按你想要的延迟 / 成本 / 能力组合挑选:
- 模型特有、无法翻译的特性(例如 OpenAI 的
response_format: {"type": "json_schema"})需要走对应的协议端点。 stop_reason和usage字段不论用哪个模型,都归一化为 Anthropic 形状。
GET /v1/models。按模型计价:bytespike.ai/pricing。
Cache control
cache_control 块的行为与 Anthropic Messages 规范完全一致。命中时按缓存读取折扣价计费;价格见 pricing table 的 “cache read” 一栏。
usage.cache_read_input_tokens 和 usage.cache_creation_input_tokens 分别报告命中和写入。
速率限制和配额头
遇到
429 时,查 x-ratelimit-reset-* 头来决定何时重试。
错误
所有非 2xx 响应免费 —— 失败不计费。
Body 形状: