跳到主要内容

Messages API

POST 

/anthropic/v1/messages

以 Anthropic Messages API 格式创建模型响应。

每次请求都需要在 messages 中提供对话历史。Anthropic SDK 的 base_url 使用 https://api.deepseek.com/anthropic,SDK 会追加 /v1/messages。直接发送 HTTP 请求时,也可以使用兼容路径 /anthropic/messages。

支持通过 x-api-key 或 Authorization: Bearer 验证身份。同时提供两者时,优先使用 Authorization。模型映射、工具结果回传与兼容性细节请参考 Anthropic API 指南。

兼容字段 container、mcp_servers、service_tier 和 top_k 会被忽略。

Request​

Header Parameters

    anthropic-version string

    Anthropic SDK 会自动发送此请求头,服务端目前会忽略它。

    Example: 2023-06-01
    anthropic-beta string

    通过 source.type 为 file 的图片引用已上传文件时,需包含 files-api-2025-04-14。此接口的其他请求无需提供。详见 Files API 指南。

    Example: files-api-2025-04-14

Body

required

    model stringrequired

    要使用的模型 ID,可使用 deepseek-flash 或 deepseek-v4-pro。也接受 Claude 模型名称别名:claude-opus* 映射为 deepseek-v4-pro,其它 claude* 名称映射为 deepseek-flash。详见 Anthropic API 指南。

    messages

    object[]

    required

    最少元素数: 1

    对话历史。至少包含 1 条消息。该 API 是无状态的,每次请求都需要传入本轮所需的历史消息。系统提示词使用顶层 system 字段。工具调用后继续对话时,请回传完整的 assistant 内容(包括思考块和工具调用块),随后传入对应的工具结果。服务端可能根据工具调用 ID 恢复遗漏的思考内容,需要恢复但无法恢复时返回 400。为保证回传可靠性,请保留完整内容。

  • Array [

  • oneOf

    role stringrequired

    Possible values: user

    content string | object[]

    required

    oneOf

    string

  • ]

  • system string | object[] | null

    nullable

    系统提示词,仅支持字符串、文本块数组或 null。

    oneOf

    string

    max_tokens integernullable

    Possible values: >= 1

    请求的输出 token 上限,包括思考 token。HTTP API 中该字段可选,Anthropic SDK 则要求提供。默认值和有效上限取决于模型、思考模式与推理强度。超过模型上限的值会被截到上限,且输入与输出总长度不能超过上下文窗口。对于思考模式下的特定 Claude Code 或 OpenCode 主 Agent 请求,兼容处理可能在模型和上下文限制内将有效上限提高到请求值以上。详见模型 & 价格。

    stream booleannullable

    Default value: false

    设为 true 时,以带事件名称的 SSE 返回结果,并以 message_stop 结束,不发送 data: [DONE]。否则返回一个完整的消息对象。

    thinking

    object

    nullable

    控制思考模式。显式设置的 thinking.type 在选择模式时优先于 output_config.effort。省略时由 effort 决定模式;两者均未设置时,deepseek-flash 和 deepseek-v4-pro 默认开启思考。

    type stringrequired

    Possible values: enabled, disabled, adaptive

    enabled 开启思考,disabled 关闭思考;adaptive 按 enabled 处理。

    budget_tokens integernullable

    Possible values: >= 0

    兼容字段,会被忽略,不会设置思考 token 预算。

    output_config

    object

    nullable

    输出配置。目前仅支持 effort,format 等输出格式设置会被忽略。

    effort stringnullable

    Possible values: none, minimal, low, medium, high, xhigh, ultra, max, null

    控制思考模式与推理强度。none 关闭思考,但显式的 thinking.type 可以重新开启。low、high 和 max 开启思考,默认强度为 high。兼容别名:minimal 映射为 low,medium 和 xhigh 均映射为 high,ultra 映射为 max。显式设置的 thinking.type 决定是否开启思考。

    tools

    object[]

    nullable

    模型可使用的工具,支持客户端定义的工具和服务端网页搜索工具。工具名称必须唯一,空数组等同于未提供工具。cache_control 会被忽略。

  • Array [

  • oneOf

    应用收到 tool_use 块后执行该工具,并返回 tool_result 块。客户端工具应省略 type 字段;提供 type 会按服务端工具解析,custom 等不支持的值会返回 422。cache_control 会被忽略。

    name stringrequired

    最少字符数: 1

    最多字符数: 128

    Possible values: Value must match regular expression ^[a-zA-Z0-9_-]+$

    唯一的工具名称,最多 128 个字符,仅可包含英文字母、数字、下划线或连字符。

    description stringnullable

    说明工具的用途及使用时机。

    input_schema

    object

    required

    描述工具参数的有效 JSON Schema,顶层 type 必须为 object。

    property name* anynullable
  • ]

  • tool_choice object | null

    nullable

    控制工具选择,默认为 auto。any 按 auto 处理,不强制调用工具。指定客户端工具需要使用非思考模式。disable_parallel_tool_use 会被忽略。

    oneOf

    由模型决定是否调用工具,这是默认行为。

    type stringrequired

    Possible values: auto

    disable_parallel_tool_use booleannullable

    兼容字段,会被忽略,不会禁用并行工具调用。

    stop_sequences string[]nullable

    每个元素最少字符数: 1

    最多元素数: 16

    最多 16 个非空停止字符串。匹配到其中一个字符串时,stop_reason 为 stop_sequence,stop_sequence 返回匹配的字符串。

    temperature numbernullable

    Possible values: >= 0 and <= 2

    Default value: 1

    采样温度,范围为 0 到 2。较高的值使输出更多样。思考模式下固定为 1,传入的值不生效。通常建议只调整此参数或 top_p 中的一个。

    top_p numbernullable

    Possible values: > 0 and <= 1

    核采样概率,需大于 0 且不超过 1。deepseek-flash 在思考模式下默认为 1,小于 0.95 的值按 0.95 处理;非思考模式固定为 1。deepseek-v4-pro 在思考模式下启用工具时固定为 0.95,否则固定为 1,传入值被忽略;非思考模式使用传入值,默认为 1。将 tool_choice 设为 {"type":"none"} 会禁用工具调用。

    metadata

    object

    nullable

    请求元数据。仅支持 user_id,其它元数据字段会被忽略。

    user_id stringnullable

    自定义终端用户标识。建议仅使用英文字母、数字、下划线(_)和连字符(-)。UTF-8 编码后不得超过 512 字节。请勿包含个人隐私信息。详见限流与隔离。

Responses​

OK,返回一个 message 对象。内容可能包含文本、思考与工具调用内容块。

Schema

    id stringrequired

    此消息的唯一标识符。

    type stringrequired

    Possible values: message

    role stringrequired

    Possible values: assistant

    model stringrequired

    请求中提供的模型标识符。使用 Claude 兼容模型名时,响应保留该名称。

    content

    object[]

    required

    生成的内容块。在下一次请求中回传此 assistant 轮次时,请保留完整内容。

  • Array [

  • oneOf

    每个文本块的 type 必须为 "text",内容放在 text 字段中。请求中额外传入的 cache_control 和 citations 字段会被忽略。

    type stringrequired

    Possible values: text

    text stringrequired

    文本内容。

  • ]

  • stop_reason stringnullablerequired

    Possible values: end_turn, max_tokens, stop_sequence, tool_use, refusal, null

    生成停止的原因:自然结束、达到输出上限、命中停止序列、调用客户端工具或内容过滤。在 message_start 中为 null。

    stop_sequence stringnullablerequired

    命中的停止序列;未命中时为 null。

    usage

    object

    required

    input_tokens integerrequired

    Possible values: >= 0

    未命中上下文缓存的输入 token 数。总输入 token 数为 input_tokens + cache_read_input_tokens + cache_creation_input_tokens。

    cache_creation_input_tokens integerrequired

    Possible values: 0

    固定为 0。不使用 Anthropic 式的缓存创建机制;上下文缓存由服务端自动管理。

    cache_read_input_tokens integerrequired

    Possible values: >= 0

    命中上下文缓存的输入 token 数。

    output_tokens integerrequired

    Possible values: >= 0

    生成的输出 token 数,开启思考时包含思考 token。在 message_delta 中为累计值,而非增量。

    service_tier stringrequired

    Possible values: standard

    server_tool_use

    object

    服务端网页搜索次数,与 token 用量分别统计。仅在至少尝试过一次网页搜索时返回,否则省略整个字段。返回时两个子字段均存在。非流式响应读取最终消息的 usage,流式响应读取最后的 message_delta.usage。这些计数是累计值,不是增量。详见服务端工具用量。

    web_search_requests integerrequired

    Possible values: >= 0

    服务端网页搜索尝试次数,包括失败和超过 max_uses 限制的尝试。

    tool_search integerrequired

    Possible values: >= 0

    成功且返回非空结果的服务端网页搜索次数。失败或结果为空的尝试不计入。此字段可作为计费依据。

Loading...