Skip to content
API Key:点击 API调用 / APIKEY管理 界面获取,示例:ak-f30b1********fc84b82e86a
Model:点击 API调用 获取,示例:spark-x2.6

1 请求参数 ​

model
string必填
可选值: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
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 使用数组形式时,表示具体的系统提示文本。
stream
boolean可选
可选值:true / false
默认值: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
仅固定值 1 生效,建议不要显式传入该参数。
top_p
number可选
可选值:0.95
默认值:0.95
仅固定值 0.95 生效,建议不要显式传入该参数。
thinking
object可选
深度思考控制配置。
type
string可选
可选值:enabled / disabled / adaptive
默认值:enabled
控制思考模式。enabled 强制开启,disabled 强制关闭,adaptive 由模型根据请求自适应决定思考行为。
clear_thinking
boolean可选
可选值:true / false
默认值:false
是否在处理历史消息时清除历史 thinking 内容,用于控制历史思考内容是否继续参与后续上下文。
stop_sequences
array可选
兼容接收该字段,但当前不生效;传入不会报错,也不会根据其中的字符串提前停止生成。

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
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。

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 数组中的同一个内容块。
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 中的数值再次相加。
cache_read_input_tokens
integer
缓存命中的输入 Token 数;未命中时当前实现可能返回 -1。