# Spark-X2.5 API接口调用

# Chat

接口地址

认证信息

# 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
        • 说明:网络搜索开关。
  • 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

接口地址

认证信息

# 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 与对应工具执行结果。
    • 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。
  • 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

接口地址

认证信息

# 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 使用数组形式时,表示具体的系统提示文本。
  • 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。

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

在这篇文章中:
在线咨询
体验中心