需将Chat API切换为Responses API,同步调整路径、参数、鉴权及响应解析;仅doubao-seed-2.0系列及mini-260428+版本支持;/compatible-mode路径无需迁移;prompt替代messages;移除stream;top_p不可显式传值;签名需重算或用SDK;响应答案位于output.text。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

将已上线的Chat API调用切换为Responses API调用,需同步调整请求路径、参数结构、鉴权头字段及响应解析逻辑,否则会返回404或400错误。
确认模型与调用方式是否支持Responses API
进入火山引擎「模型服务」控制台→点击目标模型→查看「API文档」标签页→确认「Responses API」在「支持的接口类型」中已勾选。当前仅 doubao-seed-2.0-lite 系列全版本、doubao-seed-2.0-pro 系列全版本、doubao-seed-2.0-mini-260428 及后续版本支持该接口;【doubao-seed-1.x 系列及早期 mini 版本明确不支持】。
检查当前调用方式:若代码中使用的是 /api/v1/chat/completions 路径且未启用 OpenAI 兼容模式,则必须迁移;若已通过 /compatible-mode/v1/chat/completions 调用,则无需切换至 Responses API,因该路径本质是兼容层封装,非原生 Responses 接口。
替换请求路径与基础参数
将原 Chat API 的 POST 请求地址 https://ark.cn-beijing.volces.com/api/v1/chat/completions → 改为 https://ark.cn-beijing.volces.com/api/v1/responses。
删除原请求体中 messages 字段;改为使用 prompt 字符串字段,直接传入用户输入文本(如:{"prompt": "请总结以下会议纪要:..."})。
移除 stream 字段——Responses API 不支持流式响应,强制关闭;若原逻辑依赖流式处理,必须重构为单次完整响应解析。
保留 model、max_tokens、temperature 等通用参数,但注意:【top_p 参数在 Responses API 中默认为 1.0,显式传 0.9 会导致 400 错误】,如需调控多样性,改用 temperature 调节。
重签鉴权头(关键步骤)
方法一:手动重算 X-BC-Signature
① 将请求路径更新为 /api/v1/responses;
② 时间戳(X-BC-Timestamp)保持秒级 Unix 时间,复用原逻辑即可;
③ 签名原文拼接规则不变:HTTP方法 + \n + 新路径 + \n + 时间戳 + \n + 紧凑JSON请求体;但注意——此时请求体不含 messages 数组,体积更小,JSON序列化后不可带空格或换行;
④ 重新计算 HMAC-SHA256 并 Base64 编码,覆盖原 X-BC-Signature 头值;Authorization 头仍为 Bearer {AccessKeyID},无需改动。
方法二:改用官方 SDK(推荐)
升级火山引擎 .NET SDK 至 v2.3.0+,调用 ResponsesClient.CreateResponseAsync() 方法,传入 ResponsesRequest 对象;SDK 内部自动完成路径、签名、头字段适配,避免手写签名出错。
解析响应结构差异
原 Chat API 响应中,答案在 choices[0].message.content 路径下;
Responses API 响应结构扁平化,答案直接位于 output.text 字段;
若原代码对 usage 字段做 token 统计,需改为读取 usage.input_tokens 和 usage.output_tokens,二者均为整数类型,不再嵌套于 prompt_tokens/completion_tokens。
错误响应体格式一致,仍含 error.code 与 error.message,可复用原有错误处理分支。

















