豆包 — Responses API
POST
/v1/responses调用豆包 Responses API,以更简洁的请求体完成对话与工具调用。
Bearer Token
模型介绍
Responses API 是豆包提供的新一代调用协议,相比 Chat Completions 更简洁:无需构造 messages 数组,直接传入 input 字符串即可;内置工具(搜索、代码执行)可通过 tools 中的类型字段直接启用,无需自行实现。
支持模型
豆包模型列表
| 模型 | 上下文长度 | 最大输出 | 思考模式 | 工具调用 | 缓存 | 多模态 |
|---|---|---|---|---|---|---|
doubao-seed-2.0-pro | 128,000 | 8,000 | ✅ | ✅ | ✅ | 文本+图像 |
doubao-seed-2.0-lite | 32,000 | 4,000 | ❌ | ✅ | ✅ | 仅文本 |
请求参数
请求参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| model | string | 是 | - | 模型名称:doubao-seed-2.0-pro / doubao-seed-2.0-lite |
| input | string 或 array | 是 | - | 用户输入,无需构造 messages 数组 |
| instructions | string | 否 | - | 系统指令,对应 Chat Completions 中的 system 消息 |
| previous_response_id | string | 否 | - | 上一轮响应 ID,用于延续多轮会话 |
| stream | boolean | 否 | false | 是否流式返回(SSE) |
| max_output_tokens | integer | 否 | - | 最大输出 token 数 |
| temperature | number | 否 | 1.0 | 采样温度,0~2 |
| top_p | number | 否 | 1.0 | 核采样概率 |
| reasoning_effort | string | 否 | - | 思考模式强度:none / minimal / low / medium / high / xhigh / max(官方 7 值,无 ultra);入口会映射为规范写法 reasoning.effort。仅 doubao-seed-2.0-pro |
| tools | array | 否 | - | 工具定义;内置联网搜索的 type 为 web_search_preview(传 web_search 会被原样转发,但不触发内置工具计数与附加费) |
| tool_choice | string | 否 | auto | 工具调用策略 |
请求示例
bash
curl -X POST /v1/responses \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seed-2.0-pro",
"input": "用一句话介绍你自己。"
}'多轮对话示例(使用 previous_response_id)
python
import requests
HEADERS = {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json",
}
# 第一轮
r1 = requests.post("/v1/responses", headers=HEADERS, json={
"model": "doubao-seed-2.0-pro",
"input": "我叫张三。",
}).json()
# 第二轮:通过 previous_response_id 延续
r2 = requests.post("/v1/responses", headers=HEADERS, json={
"model": "doubao-seed-2.0-pro",
"input": "我叫什么名字?",
"previous_response_id": r1["id"],
}).json()
print(r2["output"][0]["content"][0]["text"]) # 张三内置工具(搜索)示例
python
r = requests.post("/v1/responses", headers=HEADERS, json={
"model": "doubao-seed-2.0-pro",
"input": "今天上海天气如何?",
"tools": [{"type": "web_search_preview"}],
}).json()响应示例
成功响应
json
{
"id": "0217426318107460cfa43dc3f3683b1de1c09624ff49085a456ac",
"object": "response",
"created": 1735661400,
"model": "doubao-seed-2.0-pro",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "黑洞是时空中引力极强、连光都无法逃逸的天体。"
}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 20,
"total_tokens": 30
}
}示例
id为豆包(方舟)族的 53 字符形态(02+ 13 位毫秒时间戳 + 32 位 hex + 6 位 hex),每次请求随机生成;不是resp_/resp-前缀。
注意事项
- ⚠️ 本页能力表的上下文长度 / 最大输出(
doubao-seed-2.0-pro128,000 / 8,000 等)未在官方基线中登记(未取证),且与 OpenAI 格式页(256,000 / 32,768 等)互相矛盾——两者必有一处不准,请以控制台与方舟官方文档为准。 - Responses API 与 Chat Completions 的计费口径一致(同一套 token 倍率),但内置工具会在 token 用量之外产生按次工具附加费(价格见本站定价页)。
- 使用
previous_response_id延续会话时,请求被原样转发给上游,上下文由上游(方舟)保存与回放;宁享Token 不存储响应、不重放历史、也不做历史补全。经 Chat Completions 转换的渠道不支持该字段(请求会被直接拒绝)。 - 内置工具目前支持
web_search_preview(联网搜索);code_interpreter我方未实现(后端代码零命中),传入会被原样转发,语义由上游决定。调用内置工具除消耗 token 外,还会按调用次数产生工具附加费。 instructions字段对应 Chat Completions 中的system消息。- Responses API 的响应结构与 Chat Completions 不同,不能直接复用 OpenAI SDK 的
chat.completions方法。
