响应协议兼容性
Token360 可以把同一个对外模型路由到多个上游供应商,业务应用不需要理解每家供应商各自的返回格式。对外返回契约由请求的接口决定,而不是由本次请求选中的供应商决定。
接口契约
POST /v1/chat/completions | 兼容 OpenAI Chat Completions 的 JSON 与 SSE chunk |
POST /v1/responses | 兼容 OpenAI Responses 的 JSON 与流式事件 |
POST /v1/messages | 兼容 Anthropic Messages 的 JSON 与流式事件 |
只有声明支持相应接口的模型和 SKU 才能用于该接口。接入前请查看模型目录与模型能力。
Token360 会归一化什么
请求成功时,Token360 会在协议出口对供应商返回进行归一化,包括:
- 对外的 Token360 模型名;
- 接口标准定义的 response、message、content、choice、output 与 event 结构;
- 位于该接口标准位置的 usage 字段;
- 目标模型支持的工具调用与推理字段;
- 流式结束语义;
- 从公开响应中移除供应商私有的路由与诊断元数据。
因此,即使 Token360 在多个上游供应商之间切换路由,业务应用也不需要按供应商分别解析。请始终按照上表中对应接口的协议处理响应。
Token360 可能提供文档明确说明的兼容扩展。对于支持推理的 Chat Completions 模型,reasoning 与 reasoning_content 是稳定别名。如果业务会保存 assistant 消息并用于后续多轮请求,请保留 API 返回的这些字段。
流式行为
流式归一化针对事件结构与字段,不保证字节或 token 的切分边界完全相同。不同供应商可能返回不同数量的 chunk,也可能在不同位置切分同一段文本。客户端应当:
- 按所选接口协议逐个处理事件;
- 将可选或可空字段按可选字段处理;
- 按顺序拼接文本与推理 delta;
- 按 index 累积工具调用参数;
- 等待该协议定义的终止事件(Chat Completions 为
[DONE])。
不要依赖供应商名称、供应商原始 payload、chunk 数量或 chunk 切分边界。
适用范围与限制
协议兼容不代表每个模型都支持所有可选字段或所有接口。模型能力与参数取值范围仍然生效。对于 Responses API,Token360 支持通过 previous_response_id 与 store 延续上游响应,并将续接请求固定到生成该响应的供应商路由。显式传入的 store: true 或 store: false 会被保留;未传 store 或传入 null 时,Token360 不指定该字段,由所选上游采用自身默认行为。当前不支持 conversation、background: true,也不支持查询、取消或删除 /v1/responses/{response_id} 等响应生命周期操作。
媒体接口、异步任务、Batch、账单与资产接口分别遵循各自 API 参考中说明的契约。Token360-Native-Params: true 只会把受支持接口的请求体切换为供应商原生结构;供应商私有响应元数据不会因此成为稳定的公开接口。
延伸阅读: