文本生成(Anthropic API兼容)

通过兼容 Anthropic 格式的 Messages API 调用模型。

POST/anthropic/v1/messages

授权

接口支持以下两种认证方式,请选择其中一种添加到请求头中:

  1. 方式一:x-api-key认证,格式:
    x-api-key: $UNISOUND_API_KEY
  2. 方式二:Authorization: Bearer认证,格式:
    Authorization: Bearer $UNISOUND_API_KEY

$UNISOUND_API_KEY 用于验证账户信息,可在按量计费&资源包>API Key 管理中查看。

请求体application/json

modelstring必填

模型编码,可选值:u2、u2-med、kimi-k3、glm-5.2

max_tokensinteger必填

生成 Token 的最大数量。max_tokens 不限制思考过程的长度;开启深度思考时,思考部分的 Token 数由 thinking.budget_tokens 单独控制。

systemstring | array选填

系统提示词,用于设定模型的角色或行为。

system 通过顶层参数传入,messages 数组中不接受 system 角色。

传入字符串等价于单个 type="text" 的内容块。

typestring必填

固定为 text

textstring必填

系统提示词文本。

messagesarray必填

消息数组,按 user / assistant 交替轮次排列。

messages 数组中不接受 system 角色。

rolestring必填

消息角色,可选值:userassistant

contentstring | array必填

消息内容。可以是纯文本字符串,也可以是结构化内容数组。

content 为字符串时,等价于单个 type="text" 的内容块。

文本信息object

typestring必填

固定为 text

textstring必填

文本内容。

工具调用信息object

(assistant 角色,模型返回的工具调用指令)

typestring必填

固定为 tool_use

idstring必填

工具调用的唯一标识,用于在后续 tool_result 中关联结果。

namestring必填

被调用的工具名称。

inputobject必填

工具调用的入参,结构由 tools 中对应工具的 input_schema 决定。工具调用内容本身会参与缓存前缀。

工具结果信息object

(user 角色,工具执行结果回传给模型)

typestring必填

固定为 tool_result

tool_use_idstring必填

对应 tool_use 信息中的 id

contentstring必填

工具执行返回的内容。

streamboolean选填默认值: false

是否启用流式输出,默认为 false

temperaturenumber选填

控制生成文本的多样性,取值范围 [0, 2)。值越大,生成结果越随机。

该范围与 Anthropic 官方的 [0.0, 1.0] 不同,从 Anthropic 迁移时请确认该参数取值。

top_kinteger选填

生成过程中采样候选集的大小。

stop_sequencesarray选填

停止序列;命中后停止生成,且不包含命中的序列本身。

命中后,响应的 stop_reason 仍为 end_turn

thinkingobject选填

深度思考配置。开启后,模型会在生成回复前先进行推理,以提升回答准确度。开启后,响应会包含 thinking 类型的内容块。

u2默认开启思考,不支持关闭。

typestring必填

可选值:enabled(开启思考模式)、disabled(关闭思考模式)。

budget_tokensinteger选填

思考过程可使用的最大 Token 数,与 max_tokens 互不重叠:本参数限制思考,max_tokens 限制最终回复。当 typeenabled 时生效。

toolsarray选填

工具定义数组,用于 Function Call 场景。

namestring必填

工具名称。

descriptionstring选填

工具的功能描述。

input_schemaobject必填

工具输入参数的 JSON Schema 定义。

tool_choiceobject选填

工具选择策略。

typestring必填

可选值:auto(模型自行决定是否调用工具,默认)、any(强制模型调用任意一个工具)、none(禁止模型调用工具)、tool(强制模型调用指定工具)。

namestring选填

typetool 时,指定要调用的工具名称。

output_configobject选填

结构化输出配置。开启后,模型将输出 JSON 字符串。

严格结构化输出:适用模型:glm-5.2。模型严格按照传入的 JSON Schema 进行强约束输出,确保字段类型与层级完全一致。

普通结构化输出:适用于上述以外的其他模型。Schema 的具体字段约束默认不生效,API 会自动将其转换为普通 JSON 模式(仅保证输出为合法的 JSON 字符串)。须同时满足:1、显式传入 output_config;2、systemmessages 的内容中须包含不区分大小写的 JSON 关键词。

formatobject必填

输出格式配置。

typestring必填

固定为 json_schema

schemaobject必填

JSON Schema 对象;须包含 typepropertiesrequiredadditionalProperties(须设为 false)等字段。

非流式响应

idstring

消息的唯一标识。

typestring

固定为 message

rolestring

固定为 assistant

modelstring

使用的模型名称。

contentarray

内容数组。

文本信息object

typestring

固定为 text

textstring

模型生成的文本回复。

开启 output_config 时,该字段为 JSON 字符串,客户端需自行解析。

思考信息object

(开启深度思考时返回)

typestring

固定为 thinking

thinkingstring

模型在生成最终回复前的思考过程。

signaturestring

当前固定为空字符串。

工具调用信息object

(Function Call 场景)

typestring

固定为 tool_use

idstring

工具调用的唯一标识,用于在后续 tool_result 中关联结果。

namestring

被调用的工具名称。

inputobject

工具调用的入参。

stop_reasonstring

停止原因。可选值:

  • end_turn(正常结束)
  • max_tokens(达到 Token 上限)
  • tool_use(工具调用)

usageobject

Token 用量统计。

流式调用中,message_start 事件的 usage 仅包含 input_tokensoutput_tokens;完整 4 个字段在 message_delta 事件中返回。

input_tokensinteger

输入 Token 数量。

output_tokensinteger

输出 Token 数量。

cache_creation_input_tokensinteger

缓存创建消耗的输入 Token 数量。

cache_read_input_tokensinteger

缓存读取消耗的输入 Token 数量。

流式响应

message_start

流的第一个事件,标记消息开始。

typestring

固定为 message_start

messageobject

初始消息对象,content 为空数组,usage 仅含 input_tokensoutput_tokens

content_block_start

每个内容块开始时发送,标记新内容块的索引和类型。

typestring

固定为 content_block_start

indexinteger

内容块索引,从 0 开始,对应该消息 content 数组中的位置。

content_blockobject

内容块的初始对象。type 取值为 textthinkingtool_usetool_use 类型在此事件中 input 为空对象,完整入参由后续 content_block_delta 增量拼接。

content_block_delta

内容块的增量更新事件。同一内容块会发送多个该事件。

typestring

固定为 content_block_delta

indexinteger

所属内容块索引。

deltaobject

增量对象,type 取值:

  • text_delta:文本增量,含 text 字段。
  • thinking_delta:思考增量,含 thinking 字段。
  • signature_delta:签名增量,含 signature 字段(当前固定为空字符串)。
  • input_json_delta:工具调用入参增量,含 partial_json 字段。

content_block_stop

内容块结束事件。

typestring

固定为 content_block_stop

indexinteger

结束的内容块索引。

message_delta

消息级更新事件,在所有内容块结束后发送,包含停止原因和完整的 Token 用量统计。

typestring

固定为 message_delta

deltaobject

包含 stop_reasonstop_sequence,取值参见上方非流式响应表格。

usageobject

完整的 Token 用量统计,包含 input_tokensoutput_tokenscache_creation_input_tokenscache_read_input_tokens

message_stop

流的最后一个事件,标记消息结束。

typestring

固定为 message_stop