1 请求参数
model可选值:
spark-x2.6 / spark-x2.6-4b / spark-x2.6-preview / spark-x2.5 / spark-x2.5-4b / spark-x2.5-1.7b指定本次请求用于生成下一条消息的模型 ID;响应中的
model 字段会回显实际使用的模型 ID。messages可选值:至少包含 1 条消息
输入消息序列,用于构成当前请求的会话上下文。支持单轮和多轮对话;多轮调用时,调用方需要将希望模型继续参考的历史
user / assistant 消息随本次请求一并传入。role可选值:
user / assistant消息角色。
user 表示用户输入或工具执行结果,assistant 表示历史模型回复或模型发起的工具调用。系统级指令请使用顶层 system 字段。content可选值:字符串或 Content Block 数组
消息内容。字符串写法表示普通文本消息;数组写法用于组合多个 Content Block,例如文本、思考内容、工具调用和工具执行结果。
type可选值:
text / thinking / tool_use / tool_resultContent Block 类型,用于标识当前内容块的语义。不同类型需要配合对应字段使用。
texttype=text 时的文本内容,可用于用户输入或历史 assistant 文本回复。thinkingtype=thinking 时的历史思考内容,通常出现在 assistant 消息中。需要保留历史思考块时,建议按模型原始返回内容回传。signaturetype=thinking 时的思考签名,用于兼容 Anthropic Thinking Block 结构。该字段应视为不透明数据,不建议解析或修改。本服务当前响应中该字段为空字符串。idtype=tool_use 时的工具调用唯一 ID。客户端返回工具执行结果时,需要通过 tool_result.tool_use_id 与该 ID 建立对应关系。nametype=tool_use 时模型选择调用的工具名称,应与本次请求 tools[].name 中定义的工具名称一致。inputtype=tool_use 时模型为工具生成的输入参数对象,参数结构应与对应工具的 input_schema 定义匹配。tool_use_idtype=tool_result 时必需,用于指定该工具结果对应哪个 tool_use。其值应等于前一轮 assistant 返回的 tool_use.id。contenttype=tool_result 时的工具执行结果。客户端执行工具后,将结果放在 user 消息中返回给模型,模型可基于该结果继续生成回复或发起后续工具调用。max_tokens可选值:正整数,
< 256K限制单次请求中模型最多生成的 Token 数。取值必须小于
256K;输入 Token 与输出 Token 总和不能超过 256K。system系统提示词,用于向模型提供全局上下文、角色、目标或行为约束。Anthropic Messages 风格使用顶层
system,而不是在 messages 中设置 system 角色。type可选值:固定为
text当
system 使用数组形式时,标识系统提示内容块类型。text当
system 使用数组形式时,表示具体的系统提示文本。stream可选值:
true / false默认值:
false是否开启流式输出。设为
true 时,服务端通过 SSE 按 message_start → content_block_* → message_delta → message_stop 的事件序列持续返回消息增量。tools可选值:自定义工具 /
web_search_20250305模型可调用的工具列表。
type可选值:
web_search_20250305开启内置网络搜索时固定为
web_search_20250305;自定义工具无需设置该值。name可选值:匹配
^[a-zA-Z0-9_-]{1,64}$工具名称。自定义工具使用业务定义名称;网络搜索工具固定为
web_search。description工具的自然语言说明。建议明确描述工具"做什么、什么时候使用、返回什么",该描述会直接影响模型选择工具及生成参数的准确性。
input_schema可选值:JSON Schema object
自定义工具的输入参数 JSON Schema;内置
web_search_20250305 不需要该字段。temperature可选值:
1默认值:
1仅固定值
1 生效,建议不要显式传入该参数。top_p可选值:
0.95默认值:
0.95仅固定值
0.95 生效,建议不要显式传入该参数。thinking深度思考控制配置。
type可选值:
enabled / disabled / adaptive默认值:
enabled控制思考模式。
enabled 强制开启,disabled 强制关闭,adaptive 由模型根据请求自适应决定思考行为。clear_thinking可选值:
true / false默认值:
false是否在处理历史消息时清除历史
thinking 内容,用于控制历史思考内容是否继续参与后续上下文。stop_sequences兼容接收该字段,但当前不生效;传入不会报错,也不会根据其中的字符串提前停止生成。
2 请求示例
bash
curl https://maas-api.cn-huabei-1.xf-yun.com/anthropic/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: $APIKEY" \
-d '{
"model": "spark-x2.6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "你好。"}
],
"stream": false
}'python
import requests
response = requests.post(
"https://maas-api.cn-huabei-1.xf-yun.com/anthropic/v1/messages",
headers={
"x-api-key": "<你的 APIKEY>",
"Content-Type": "application/json",
},
json={
"model": "spark-x2.6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好。"}],
"stream": False,
},
)
print(response.json())go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
body := map[string]any{
"model": "spark-x2.6",
"max_tokens": 1024,
"messages": []map[string]string{
{"role": "user", "content": "你好。"},
},
"stream": false,
}
data, err := json.Marshal(body)
if err != nil {
panic(err)
}
req, err := http.NewRequest(
http.MethodPost,
"https://maas-api.cn-huabei-1.xf-yun.com/anthropic/v1/messages",
bytes.NewReader(data),
)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("x-api-key", "<你的 APIKEY>")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
result, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(result))
}javascript
const response = await fetch("https://maas-api.cn-huabei-1.xf-yun.com/anthropic/v1/messages", {
method: "POST",
headers: {
"x-api-key": "<你的 APIKEY>",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "spark-x2.6",
max_tokens: 1024,
messages: [{ role: "user", content: "你好。" }],
stream: false,
}),
});
console.log(await response.json());3 响应
3.1 非流式
id本次 Response 的唯一标识。
type可选值:固定为
message响应对象类型。
role可选值:固定为
assistant生成消息的角色。
content模型生成的内容块数组,可能包含
thinking、text、tool_use 等类型。type可选值:
thinking / text / tool_use内容块类型。
texttype=text 时的正文内容。thinkingtype=thinking 时的思考内容。model实际用于生成响应的模型 ID。
stop_reason可选值:
end_turn / tool_use模型停止生成的原因。
end_turn 表示自然结束,tool_use 表示模型发起了工具调用。usage本次响应的 Token 使用统计。
input_tokens输入消耗的 Token 数,不包含缓存命中部分。
output_tokens输出消耗的 Token 数。
cache_read_input_tokens缓存命中的输入 Token 数;未命中时当前实现可能返回
-1。3.2 流式
type可选值:
message_start / content_block_start / content_block_delta / content_block_stop / message_delta / message_stop当前 SSE 事件的数据类型,与事件阶段对应。
indexContent Block 的从 0 开始的索引,用于把
start、多个 delta 与 stop 事件关联到最终 content 数组中的同一个内容块。deltacontent_block_delta / message_delta 事件中携带的增量数据。type可选值:
thinking_delta / signature_delta / text_delta / input_json_delta当前增量类型,分别对应思考、签名、正文和工具输入参数增量。
thinkingthinking_delta 时的思考文本增量,应按相同 index 的事件顺序拼接。texttext_delta 时的正文文本增量,应按事件到达顺序拼接为最终 text 内容。partial_jsoninput_json_delta 时的工具参数 JSON 片段。单个片段不保证是完整、可独立解析的 JSON;应按相同 index 顺序累计,并在对应 content_block_stop 后解析为完整工具参数。stop_reason可选值:
end_turn / tool_use本轮最终停止原因,在
message_delta 事件中返回。usagemessage_delta 事件中携带的 Token 统计,为累计值。input_tokens截至当前响应阶段的累计普通输入 Token 数,不包含缓存命中部分。
output_tokens截至当前响应阶段的累计输出 Token 数。该值是累计值,不应将多帧
message_delta 中的数值再次相加。cache_read_input_tokens缓存命中的输入 Token 数;未命中时当前实现可能返回
-1。