# Spark-X2.5 API接口调用
# Chat
接口地址
认证信息
- API Key: 点击 API调用 (opens new window) / API管理 (opens new window) 界面获取,示例:
ak-f30b1********fc84b82e86a - Model ID: 点击 API调用 (opens new window) 获取,示例:
spark-x2.5
# 1 请求参数
model· string · 必填- 可选值:
spark-x2.5/spark-x2.5-4b/spark-x2.5-1.7b - 说明:本次请求使用的 model。
- 可选值:
user· string · 可选- 可选值:建议仅使用
a-z、A-Z、0-9、-、_,最大 512 字符 - 说明:业务侧自定义的终端用户标识,可用于区分不同用户。请勿传入用户隐私信息。
- 可选值:建议仅使用
messages· array · 必填- 可选值:至少包含 1 条消息
- 说明:对话消息列表,按时间顺序组成当前会话上下文。
role· string · 必填- 可选值:
system/user/assistant/tool - 说明:消息的发起角色。
- 可选值:
content· string / array · 必填- 可选值:字符串或 Content Part 数组
- 说明:消息内容。字符串表示纯文本;数组形式当前仅支持
type=text的文本内容。 type· string · 必填- 可选值:
text - 说明:Content Part 类型,当前仅支持文本。
- 可选值:
stream· boolean · 可选- 可选值:
true/false - 说明:是否开启流式输出。设为
true时,服务端通过 SSE 持续返回消息增量,并以data: [DONE]结束。
- 可选值:
max_tokens· integer · 可选、已废弃- 可选值:正整数,
< 256K - 说明:该字段已废弃,仅用于兼容旧版调用,请改用
max_completion_tokens。
- 可选值:正整数,
max_completion_tokens· integer · 可选- 可选值:正整数,
< 256K - 说明:单次 completion 可生成的 Token 数上限,包括最终可见输出 Token 和推理过程中使用的 reasoning tokens。
- 可选值:正整数,
temperature· number · 可选- 可选值:
1 - 说明:固定值
1生效,建议不要显式传入该参数。
- 可选值:
top_p· number · 可选- 可选值:
0.95 - 说明:固定值
0.95生效,建议不要显式传入该参数。
- 可选值:
presence_penalty· number · 可选、已废弃- 说明:该参数已不再支持。传入该参数将不会产生任何效果。
frequency_penalty· number · 可选、已废弃- 说明:该参数已不再支持。传入该参数将不会产生任何效果。
tool_choice· string / object · 可选- 可选值:
none/auto/required/ 指定函数对象 /allowed_tools对象 - 说明:控制模型是否调用工具以及调用哪些工具。
- 可选值:
tools· array · 可选- 可选值:最多 128 个工具;支持
function/web_search - 说明:模型可调用的工具列表。
type· string · 条件必填- 可选值:
function/web_search - 说明:工具类型。自定义函数使用
function;内置网络搜索使用web_search。
- 可选值:
function· object · 条件必填- 说明:Function Calling 的函数定义。
name· string · 条件必填- 可选值:仅允许字母、数字、
_、-,最大 64 字符 - 说明:要调用的 Function 名称。
- 可选值:仅允许字母、数字、
description· string · 可选- 说明:Function 的功能说明,用于帮助模型判断何时以及如何调用该函数。
parameters· object · 可选- 可选值:JSON Schema object
- 说明:Function 的输入参数定义。省略时表示该 Function 不要求输入参数。
required· array · 可选- 可选值:JSON Schema 字段名数组
- 说明:指定 Function 调用时必须生成的参数字段。
web_search· object · 条件必填- 说明:当
tools[].type=web_search时使用。 enable· boolean · 条件必填- 可选值:
true/false - 说明:网络搜索开关。
- 可选值:
- 说明:当
- 可选值:最多 128 个工具;支持
thinking· object · 可选- 说明:深度思考控制配置。
type· string · 可选- 可选值:
enabled/disabled/auto - 说明:控制思考模式。
enabled强制开启,disabled强制关闭,auto由模型自行判断;其中auto为本服务扩展取值。
- 可选值:
# 2 调用示例
CURL
curl https://maas-api.cn-huabei-1.xf-yun.com/v2/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $APIKEY" \
-d '{
"model": "spark-x2.5",
"messages": [
{"role": "user", "content": "你好。"}
],
"stream": false
}'
Python
import requests
response = requests.post(
"https://maas-api.cn-huabei-1.xf-yun.com/v2/chat/completions",
headers={
"Authorization": "Bearer <你的 APIKEY>",
"Content-Type": "application/json",
},
json={
"model": "spark-x2.5",
"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.5",
"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/v2/chat/completions",
bytes.NewReader(data),
)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer <你的 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))
}
Node.js
const response = await fetch("https://maas-api.cn-huabei-1.xf-yun.com/v2/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.APIKEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "spark-x2.5",
messages: [{ role: "user", content: "你好。" }],
stream: false,
}),
});
console.log(await response.json());
# 3 响应
# 3.1 非流式
code· integer- 可选值:
0表示成功,非0表示错误 - 说明:业务错误码;发生业务错误时使用。
- 可选值:
message· string- 说明:业务错误描述信息。
id· string- 说明:本次 Chat Completion 的唯一标识。
object· string- 可选值:固定为
chat.completion - 说明:响应对象类型。
- 可选值:固定为
created· integer- 可选值:Unix 时间戳,单位为秒
- 说明:Chat Completion 的创建时间。
model· string- 说明:实际用于生成 completion 的模型 ID。
choices· array- 说明:模型生成的 completion 结果列表。
index· integer- 可选值:
>= 0 - 说明:当前 completion 在
choices中的索引。
- 可选值:
finish_reason· string- 可选值:
stop/length/tool_calls - 说明:模型停止生成的原因:自然结束、达到长度限制,或模型生成了工具调用。
- 可选值:
message· object- 说明:模型生成的 assistant 消息。
role· string- 可选值:固定为
assistant - 说明:生成消息的角色。
- 可选值:固定为
content· string / null- 说明:模型最终生成的正文内容。工具调用场景下可能为空。
reasoning_content· string / null- 说明:思考模式下,在最终答案之前生成的推理内容。
tool_calls· array / null- 说明:模型生成的工具调用列表。
id· string- 说明:工具调用 ID。
type· string- 可选值:固定为
function - 说明:工具调用类型。
- 可选值:固定为
function.name· string- 说明:模型选择调用的 Function 名称。
function.arguments· string- 可选值:JSON 字符串
- 说明:模型生成的 Function 调用参数。执行 Function 前应由调用方校验 JSON 和参数合法性。
usage· object- 说明:本次请求的 Token 使用统计。
prompt_tokens· integer- 可选值:
>= 0 - 说明:输入消息消耗的 Token 数。
- 可选值:
prompt_tokens_details· object / null- 说明:输入 Token 的详细统计。
cached_tokens· integer- 可选值:
>= 0 - 说明:输入中命中缓存的 Token 数。
- 可选值:
completion_tokens· integer- 可选值:
>= 0 - 说明:模型生成 completion 消耗的 Token 数。
- 可选值:
completion_tokens_details· object / null- 说明:completion Token 的详细统计。
reasoning_tokens· integer- 可选值:
>= 0 - 说明:思考模式产生的推理 Token 数。
- 可选值:
total_tokens· integer- 可选值:
>= 0 - 说明:输入 Token 与输出 Token 的总和。
- 可选值:
# 3.2 流式
code· integer- 可选值:
0表示成功,非0表示错误 - 说明:业务错误码;发生业务错误时使用。
- 可选值:
message· string- 说明:业务错误描述信息。
id· string- 说明:本次 Chat Completion 的唯一标识,同一次流式请求中的 chunk 使用同一请求标识。
object· string- 可选值:固定为
chat.completion.chunk - 说明:流式响应对象类型。
- 可选值:固定为
created· integer- 可选值:Unix 时间戳,单位为秒
- 说明:当前 chunk 的创建时间。
model· string- 说明:实际用于生成 completion 的模型 ID。
choices· array- 说明:当前流式 chunk 中的 completion 增量列表。
delta· object- 说明:当前流式结果增量。
role· string / null- 可选值:
assistant/null - 说明:生成消息的角色,通常在首个 chunk 中返回。
- 可选值:
reasoning_content· string / null- 说明:思考模式下的推理内容增量。
content· string / null- 说明:最终正文内容增量。
index· integer- 可选值:
>= 0 - 说明:当前 completion 在
choices中的索引。
- 可选值:
finish_reason· string / null- 可选值:
stop/length/tool_calls/null - 说明:生成过程中通常为
null;生成结束时支持stop、length或tool_calls。
- 可选值:
usage· object / null- 说明:Token 使用统计,通常在结束阶段返回。
prompt_tokens· integer- 可选值:
>= 0 - 说明:输入 Token 数。
- 可选值:
prompt_tokens_details· object / null- 说明:输入 Token 详细统计。
cached_tokens· integer- 可选值:
>= 0 - 说明:输入中命中缓存的 Token 数。
- 可选值:
completion_tokens· integer- 可选值:
>= 0 - 说明:输出 Token 数。
- 可选值:
completion_tokens_details· object / null- 说明:completion Token 详细统计。
reasoning_tokens· integer- 可选值:
>= 0 - 说明:思考模式产生的推理 Token 数。
- 可选值:
total_tokens· integer- 可选值:
>= 0 - 说明:输入 Token 与输出 Token 的总和。
- 可选值:
# Responses
接口地址
认证信息
- API Key: 点击 API调用 (opens new window) / API管理 (opens new window) 界面获取,示例:
ak-f30b1********fc84b82e86a - Model ID: 点击 API调用 (opens new window) 获取,示例:
spark-x2.5
# 1 请求参数
model· string · 必填- 可选值:
spark-x2.5/spark-x2.5-4b/spark-x2.5-1.7b - 说明:指定用于生成响应的模型 ID。
- 可选值:
input· string / array · 必填- 可选值:字符串或输入项数组
- 说明:模型输入。字符串形式用于直接传入文本;数组形式用于传入结构化输入项。当前服务支持的数组项可包含
message、function_call、tool_search等类型。
instructions· string · 可选- 说明:插入模型上下文中的系统级或开发者级指令,用于约束模型整体行为。
stream· boolean · 可选- 可选值:
true/false - 说明:是否开启流式响应。设为
true时,服务端通过 SSE 按事件持续返回响应增量。
- 可选值:
tools· array · 可选- 可选值:工具定义数组
- 说明:模型在生成响应过程中可以调用的工具集合。
type· string · 必填- 可选值:
function/web_search - 说明:函数工具使用
function;内置网络搜索使用web_search。
- 可选值:
tool_choice· string / object · 可选- 可选值:
none/auto/required/ 指定工具对象 - 说明:控制模型如何选择工具。
none表示不调用工具;auto表示模型自行决定是否调用;required表示必须调用一个或多个工具;对象形式可用于指定或限制具体工具。
- 可选值:
reasoning· string / object · 可选- 说明:推理配置,用于控制模型在生成最终输出前投入的推理程度。本服务兼容直接传入 effort 字符串,也支持对象形式。
effort· string · 可选- 可选值:
none/low/medium/high/max - 说明:控制推理强度。
none:关闭思考;low:低推理强度;medium:中等推理强度;high:高推理强度;max:最高推理强度。
- 可选值:
text· object · 可选- 说明:配置模型文本输出,包括普通文本或结构化 JSON 输出格式。
format· object · 可选- 默认值:
{"type": "text"} - 说明:指定模型必须生成的文本格式。支持普通文本、JSON Schema 结构化输出以及兼容的 JSON Object 模式。
type· string · 可选- 可选值:
text/json_schema/json_object - 说明:输出格式类型。
text为普通文本;json_schema使用 JSON Schema 约束输出结构;json_object为兼容的 JSON 模式,保证输出为合法 JSON,但不提供完整 Schema 约束。
- 可选值:
name· string · 条件必填- 说明:
type=json_schema时使用 - 说明:结构化输出 Schema 的名称,用于标识当前 JSON Schema。
- 说明:
schema· object · 条件必填- 可选值:合法 JSON Schema
- 说明:
type=json_schema时用于描述模型输出必须遵循的 JSON 结构。
strict· boolean · 可选- 可选值:
true/false - 说明:
type=json_schema时控制是否严格遵循所提供的 JSON Schema。
- 可选值:
- 默认值:
max_output_tokens· integer · 可选- 可选值:非负整数;具体最大值受模型最大输出长度限制
- 说明:本次响应允许生成的 Token 数上限,包含最终可见输出 Token 和推理 Token。
temperature· number · 可选- 可选值:
1 - 说明:仅固定值
1生效,建议不要显式传入该参数。
- 可选值:
top_p· number · 可选- 可选值:
0.95 - 说明:仅固定值
0.95生效,建议不要显式传入该参数。
- 可选值:
user· string · 可选- 说明:终端用户的稳定标识,用于区分不同调用用户。该字段为兼容保留字段。
# 2 请求示例
CURL
curl https://maas-api.cn-huabei-1.xf-yun.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $APIKEY" \
-d '{
"model": "spark-x2.5",
"input": "你好",
"stream": false
}'
Python
import requests
response = requests.post(
"https://maas-api.cn-huabei-1.xf-yun.com/v1/responses",
headers={
"Authorization": "Bearer <你的 APIKEY>",
"Content-Type": "application/json",
},
json={
"model": "spark-x2.5",
"input": "你好",
"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.5",
"input": "你好",
"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/v1/responses",
bytes.NewReader(data),
)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer <你的 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))
}
Node.js
const response = await fetch("https://maas-api.cn-huabei-1.xf-yun.com/v1/responses", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.APIKEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "spark-x2.5",
input: "你好",
stream: false,
}),
});
console.log(await response.json());
# 3 响应
# 3.1 非流式
id· string- 说明:本次 Response 的唯一标识。
object· string- 可选值:固定为
response - 说明:对象类型。
- 可选值:固定为
created_at· integer- 说明:Response 创建时间,Unix 时间戳,单位为秒。
status· string- 可选值:
completed/failed/in_progress/cancelled/queued/incomplete - 说明:Response 的生成状态。
- 可选值:
model· string- 说明:实际用于生成响应的模型 ID。
output· array- 说明:模型生成的输出项数组。数组长度和各输出项顺序取决于实际模型响应,不应假设第一个输出项一定是
message或固定按照某种类型顺序出现。 type· string- 可选值:
reasoning/message/function_call/tool_search_call - 说明:输出项类型。
- 可选值:
id· string- 说明:当前输出项的唯一标识。
status· string- 可选值:
in_progress/completed/incomplete - 说明:当前输出项的状态。
- 可选值:
summary· array- 说明:
reasoning类型输出中的推理摘要内容块数组。 type· string- 可选值:固定为
summary_text - 说明:推理摘要块类型。
- 可选值:固定为
text· string- 说明:推理摘要文本。
- 说明:
role· string- 可选值:固定为
assistant - 说明:
message类型输出的角色。
- 可选值:固定为
content· array- 说明:
message类型输出包含的内容块数组。 type· string- 可选值:固定为
output_text - 说明:正文内容块类型。
- 可选值:固定为
text· string- 说明:模型生成的最终文本内容。
annotations· array- 说明:与输出文本关联的注解数组;无注解时为空数组。
- 说明:
call_id· string- 说明:工具调用关联 ID,用于关联
function_call/tool_search_call与对应工具执行结果。
- 说明:工具调用关联 ID,用于关联
name· string- 说明:
function_call类型输出中模型选择调用的函数名称。
- 说明:
arguments· string / object- 说明:工具调用参数。
function_call通常为 JSON 字符串;tool_search_call可返回结构化对象。
- 说明:工具调用参数。
- 说明:模型生成的输出项数组。数组长度和各输出项顺序取决于实际模型响应,不应假设第一个输出项一定是
usage· object- 说明:本次响应的 Token 使用统计。
input_tokens· integer- 说明:输入消耗的 Token 数。
input_tokens_details· object- 说明:输入 Token 的详细统计信息。
cached_tokens· integer- 说明:输入 Token 中命中缓存的 Token 数。
output_tokens· integer- 说明:输出消耗的 Token 数,包含可见输出和推理相关 Token。
output_tokens_details· object- 说明:输出 Token 的详细统计信息。
reasoning_tokens· integer- 说明:输出 Token 中用于推理的 Token 数。
total_tokens· integer- 说明:输入与输出 Token 总数。
# 3.2 流式
type· string- 说明:当前 SSE 事件类型,例如
response.created、response.output_text.delta、response.completed。
- 说明:当前 SSE 事件类型,例如
output_index· integer- 说明:当前输出项在
response.output数组中的索引,从0开始。不同输出项使用各自的索引,不应假设不同类型共享同一个索引。
- 说明:当前输出项在
item_id· string- 说明:当前输出项的唯一 ID,用于关联同一输出项的增量事件和完成事件。
content_index· integer- 说明:
message.content中内容块的索引,从0开始。
- 说明:
delta· string- 说明:当前事件携带的增量文本或增量参数片段,需要按对应索引顺序拼接。
part· object- 说明:内容块开始或完成事件中携带的完整内容块对象。
type· string- 可选值:
output_text/summary_text - 说明:内容块类型。
- 可选值:
text· string- 说明:内容块中的完整文本。
response· object- 说明:
response.created/response.in_progress/response.completed等事件中携带的完整 Response 对象。 id· string- 说明:Response 唯一标识。
status· string- 可选值:
completed/failed/in_progress/cancelled/queued/incomplete - 说明:Response 状态。
- 可选值:
model· string- 说明:实际用于生成响应的模型 ID。
- 说明:
# Anthropic
接口地址
认证信息
- API Key: 点击 API调用 (opens new window) / API管理 (opens new window) 界面获取,示例:
ak-f30b1********fc84b82e86a - Model ID: 点击 API调用 (opens new window) 获取,示例:
spark-x2.5
# 1 请求参数
model· string · 必填- 可选值:
spark-x2.5/spark-x2.5-4b/spark-x2.5-1.7b - 说明:指定本次请求用于生成下一条消息的模型 ID;响应中的
model字段会回显实际使用的模型 ID。
- 可选值:
messages· array · 必填- 可选值:至少包含 1 条消息
- 说明:输入消息序列,用于构成当前请求的会话上下文。支持单轮和多轮对话;多轮调用时,调用方需要将希望模型继续参考的历史
user/assistant消息随本次请求一并传入。 role· string · 必填- 可选值:
user/assistant - 说明:消息角色。
user表示用户输入或工具执行结果,assistant表示历史模型回复或模型发起的工具调用。系统级指令请使用顶层system字段。
- 可选值:
content· string / array · 必填- 可选值:字符串或 Content Block 数组
- 说明:消息内容。字符串写法表示普通文本消息;数组写法用于组合多个 Content Block,例如文本、思考内容、工具调用和工具执行结果。
type· string · 必填- 可选值:
text/thinking/tool_use/tool_result - 说明:Content Block 类型,用于标识当前内容块的语义。不同类型需要配合对应字段使用。
- 可选值:
text· string · 可选- 说明:
type=text时的文本内容,可用于用户输入或历史 assistant 文本回复。
- 说明:
thinking· string · 可选- 说明:
type=thinking时的历史思考内容,通常出现在assistant消息中。需要保留历史思考块时,建议按模型原始返回内容回传。
- 说明:
signature· string · 可选- 说明:
type=thinking时的思考签名,用于兼容 Anthropic Thinking Block 结构。该字段应视为不透明数据,不建议解析或修改。本服务当前响应中该字段为空字符串。
- 说明:
id· string · 可选- 说明:
type=tool_use时的工具调用唯一 ID。客户端返回工具执行结果时,需要通过tool_result.tool_use_id与该 ID 建立对应关系。
- 说明:
name· string · 可选- 说明:
type=tool_use时模型选择调用的工具名称,应与本次请求tools[].name中定义的工具名称一致。
- 说明:
input· object · 可选- 说明:
type=tool_use时模型为工具生成的输入参数对象,参数结构应与对应工具的input_schema定义匹配。
- 说明:
tool_use_id· string · 可选- 说明:
type=tool_result时必需,用于指定该工具结果对应哪个tool_use。其值应等于前一轮 assistant 返回的tool_use.id。
- 说明:
content· string · 可选- 说明:
type=tool_result时的工具执行结果。客户端执行工具后,将结果放在user消息中返回给模型,模型可基于该结果继续生成回复或发起后续工具调用。
- 说明:
max_tokens· integer · 必填- 可选值:正整数,
< 256K - 说明:限制单次请求中模型最多生成的 Token 数。取值必须小于
256K;输入 Token 与输出 Token 总和不能超过256K。
- 可选值:正整数,
system· string / array · 可选- 说明:系统提示词,用于向模型提供全局上下文、角色、目标或行为约束。Anthropic Messages 风格使用顶层
system,而不是在messages中设置system角色。 type· string · 条件必填- 可选值:固定为
text - 说明:当
system使用数组形式时,标识系统提示内容块类型。
- 可选值:固定为
text· string · 条件必填- 说明:当
system使用数组形式时,表示具体的系统提示文本。
- 说明:当
- 说明:系统提示词,用于向模型提供全局上下文、角色、目标或行为约束。Anthropic Messages 风格使用顶层
stream· boolean · 可选- 可选值:
true/false - 说明:是否开启流式输出。设为
true时,服务端通过 SSE 按message_start → content_block_* → message_delta → message_stop的事件序列持续返回消息增量。
- 可选值:
tools· array · 可选- 可选值:自定义工具 /
web_search_20250305 - 说明:模型可调用的工具列表。
type· string · 可选- 可选值:
web_search_20250305 - 说明:开启内置网络搜索时固定为
web_search_20250305;自定义工具无需设置该值。
- 可选值:
name· string · 必填- 可选值:匹配
^[a-zA-Z0-9_-]{1,64}$ - 说明:工具名称。自定义工具使用业务定义名称;网络搜索工具固定为
web_search。
- 可选值:匹配
description· string · 可选- 说明:工具的自然语言说明。建议明确描述工具"做什么、什么时候使用、返回什么",该描述会直接影响模型选择工具及生成参数的准确性。
input_schema· object · 条件必填- 可选值:JSON Schema object
- 说明:自定义工具的输入参数 JSON Schema;内置
web_search_20250305不需要该字段。
- 可选值:自定义工具 /
temperature· number · 可选- 可选值:
1 - 说明:仅固定值
1生效,建议不要显式传入该参数。
- 可选值:
top_p· number · 可选- 可选值:
0.95 - 说明:仅固定值
0.95生效,建议不要显式传入该参数。
- 可选值:
thinking· object · 可选- 说明:深度思考控制配置。
type· string · 可选- 可选值:
enabled/disabled/adaptive - 说明:控制思考模式。
enabled强制开启,disabled强制关闭,adaptive由模型根据请求自适应决定思考行为。
- 可选值:
clear_thinking· boolean · 可选- 可选值:
true/false - 说明:是否在处理历史消息时清除历史
thinking内容,用于控制历史思考内容是否继续参与后续上下文。
- 可选值:
stop_sequences· array · 可选- 说明:兼容接收该字段,但当前不生效;传入不会报错,也不会根据其中的字符串提前停止生成。
# 2 请求示例
CURL
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.5",
"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.5",
"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.5",
"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))
}
Node.js
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.5",
max_tokens: 1024,
messages: [{ role: "user", content: "你好。" }],
stream: false,
}),
});
console.log(await response.json());
# 3 响应
# 3.1 非流式
id· string- 说明:本次 Response 的唯一标识。
type· string- 可选值:固定为
message - 说明:响应对象类型。
- 可选值:固定为
role· string- 可选值:固定为
assistant - 说明:生成消息的角色。
- 可选值:固定为
content· array- 说明:模型生成的内容块数组,可能包含
thinking、text、tool_use等类型。 type· string- 可选值:
thinking/text/tool_use - 说明:内容块类型。
- 可选值:
text· string- 说明:
type=text时的正文内容。
- 说明:
thinking· string- 说明:
type=thinking时的思考内容。
- 说明:
- 说明:模型生成的内容块数组,可能包含
model· string- 说明:实际用于生成响应的模型 ID。
stop_reason· string- 可选值:
end_turn/tool_use - 说明:模型停止生成的原因。
end_turn表示自然结束,tool_use表示模型发起了工具调用。
- 可选值:
usage· object- 说明:本次响应的 Token 使用统计。
input_tokens· integer- 说明:输入消耗的 Token 数,不包含缓存命中部分。
output_tokens· integer- 说明:输出消耗的 Token 数。
cache_read_input_tokens· integer- 说明:缓存命中的输入 Token 数;未命中时当前实现可能返回
-1。
- 说明:缓存命中的输入 Token 数;未命中时当前实现可能返回
# 3.2 流式
type· string- 可选值:
message_start/content_block_start/content_block_delta/content_block_stop/message_delta/message_stop - 说明:当前 SSE 事件的数据类型,与事件阶段对应。
- 可选值:
index· integer- 说明:Content Block 的从 0 开始的索引,用于把
start、多个delta与stop事件关联到最终content数组中的同一个内容块。
- 说明:Content Block 的从 0 开始的索引,用于把
delta· object- 说明:
content_block_delta/message_delta事件中携带的增量数据。 type· string- 可选值:
thinking_delta/signature_delta/text_delta/input_json_delta - 说明:当前增量类型,分别对应思考、签名、正文和工具输入参数增量。
- 可选值:
thinking· string- 说明:
thinking_delta时的思考文本增量,应按相同index的事件顺序拼接。
- 说明:
text· string- 说明:
text_delta时的正文文本增量,应按事件到达顺序拼接为最终text内容。
- 说明:
partial_json· string- 说明:
input_json_delta时的工具参数 JSON 片段。单个片段不保证是完整、可独立解析的 JSON;应按相同index顺序累计,并在对应content_block_stop后解析为完整工具参数。
- 说明:
stop_reason· string- 可选值:
end_turn/tool_use - 说明:本轮最终停止原因,在
message_delta事件中返回。
- 可选值:
- 说明:
usage· object- 说明:
message_delta事件中携带的 Token 统计,为累计值。 input_tokens· integer- 说明:截至当前响应阶段的累计普通输入 Token 数,不包含缓存命中部分。
output_tokens· integer- 说明:截至当前响应阶段的累计输出 Token 数。该值是累计值,不应将多帧
message_delta中的数值再次相加。
- 说明:截至当前响应阶段的累计输出 Token 数。该值是累计值,不应将多帧
cache_read_input_tokens· integer- 说明:缓存命中的输入 Token 数;未命中时当前实现可能返回
-1。
- 说明:缓存命中的输入 Token 数;未命中时当前实现可能返回
- 说明: