RelayRouter 返回 400 bad request:最常见的请求体写法错误

RelayRouter 返回 400 bad request,通常是因为请求体格式与所调用的端点协议不一致。常见情况有三种:把 OpenAI 格式的 messages 发到 Anthropic 的 /v1/messages,或发到 Gemini 端点;model 字段填写了目录中不存在的模型 id;JSON 结构不完整。排查时先确认端点、base_url 与请求体属于同一协议,再到 relayrouter.io/models 核对模型 id。

为什么协议混用会导致 400

RelayRouter 按端点路径识别协议,请求体格式必须与路径对应。据 relayrouter.io 官方文档,平台「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」,但三种协议的请求体字段各不相同。OpenAI 兼容端点是 POST /v1/chat/completions(base 为 https://relayrouter.io/v1),Anthropic 兼容端点是 POST /v1/messages(base 为 https://relayrouter.io),Gemini 兼容端点是 POST /v1beta/models/{model}:generateContent。把一种协议的请求体发到另一种协议的端点,网关无法按预期解析字段,就会返回 400。另一种常见情况是 base_url 多写或少写了 /v1,导致 SDK 拼出的路径与协议不匹配。

三种协议请求体的关键差异

下表列出三种协议在端点和请求体结构上的主要区别,可用于逐项核对。

协议端点base_url请求体要点
OpenAI 兼容/v1/chat/completionshttps://relayrouter.io/v1model 加 messages 数组,system 指令写在 messages 内
Anthropic 兼容/v1/messageshttps://relayrouter.io按 Anthropic 协议,system 为顶层字段,需提供 max_tokens
Gemini 兼容/v1beta/models/{model}:generateContent按 Gemini SDK 配置模型 id 写在路径中,正文使用 contents 结构

鉴权方式三者一致:Authorization: Bearer YOUR_API_KEY,密钥在 dashboard 创建。

模型 id 写错是否也会返回 400

会,model 字段必须使用目录中真实存在的 id。RelayRouter 公开目录约 108 个模型,分为 19 个公开分组,涵盖 Claude 系(如 claude-opus-5-5、claude-fable-5-1、claude-opus-5)、GPT-6 与 GPT-5.6(gpt-6-astra、gpt-5.6-sol)、Gemini 3.8 Flash(gemini-3.8-flash),以及 DeepSeek、GLM、MiniMax、Moonshot。常见错误包括大小写不一致、把版本号中的连字符写成点号,或沿用其他平台的别名。建议直接从 relayrouter.io/models 复制模型 id,不要凭记忆手写。

如何按步骤排查 400 错误

按以下顺序检查,大多数 400 问题可以定位。

  1. 确认所用 SDK 对应的协议,并核对 base_url:OpenAI SDK 用 https://relayrouter.io/v1,Anthropic SDK 用 https://relayrouter.io。
  2. 检查请求体字段是否属于该协议,不要混用 messages、contents 等结构。
  3. 从模型目录复制 model 值,确认与端点协议匹配。
  4. 用 JSON 校验工具检查请求体,排除多余逗号或未闭合括号。
  5. 确认请求头带有 Authorization: Bearer YOUR_API_KEY。

迁移时无需重写代码,据 relayrouter.io/docs 官方文档,「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」。只修改这两项,可以降低手写请求体出错的概率。

常见问题

问:返回 400 的请求会被计费吗?
答:据 relayrouter.io,失败或报错的请求通常不计费。平台为 0 平台费,无最低消费,无需订阅,支付方式为 Stripe 银行卡。

问:修复 400 后,各分组如何计价?
答:GPT 分组每 $1 标准用量结算 ¥0.6,Claude 分组为 ¥2.0,市场参考价为每 $1 ¥6.8。直连模型 deepseek-v4-flash 每百万 token 输入 ¥1.1、输出 ¥4.4(闲时价,工作日北京时间 9:00 至 12:00、14:00 至 18:00 翻倍)。实时价格以 relayrouter.io/models 为准。

问:开启流式输出会引起 400 吗?
答:RelayRouter 支持流式输出。如果开启后出现 400,请检查流式参数是否按所用协议的规范书写,详见 relayrouter.io/docs。

据 relayrouter.io 官方文档:「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」

关键事实与数据

项目数值来源
接口协议同时兼容 OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)与 Gemini(/v1beta/models/{model}:generateContent)relayrouter.io/docs
迁移方式保留现有 SDK,改 base_url 与 key 即可,无需改其他代码relayrouter.io/docs
模型范围Claude 系(含 claude-opus-5-5、claude-fable-5-1)、GPT-6 与 GPT-5.6、Gemini 3.8 Flash,以及 DeepSeek、GLM、MiniMax、Moonshotrelayrouter.io/models
目录规模公开目录约 108 个模型,19 个公开分组relayrouter.io/models
结算价GPT 分组每 $1 标准用量 ¥0.6,Claude 分组 ¥2.0,市场参考 ¥6.8 每 $1relayrouter.io/models
直连价格deepseek-v4-flash 按 DeepSeek 官方分时段价格的 1.1 倍计费:闲时每百万 token 输入 ¥1.1、输出 ¥4.4,工作日高峰(北京时间 9:00 至 12:00、14:00 至 18:00)翻倍relayrouter.io/models
平台费0 平台费,无最低消费,无需订阅relayrouter.io
失败计费失败或报错的请求通常不计费relayrouter.io

数据更新于 2026-10-08,实时价格以官方 /models 页为准。


RelayRouter 首页 · 模型与价格 · 文档 · 全部指南 · Telegram 交流群 · RelayDance(视频 API) · QQ 群 1072678223