Skip to Content
接口调用Anthropic Claude API

Anthropic Claude API

鉴权方式

  • Header:x-api-key: $ANTHROPIC_API_KEY
  • Header:anthropic-version: 2023-06-01
  • Header:content-type: application/json
  • 可选 Header:anthropic-beta

请求地址

  • 方法:POST
  • 地址:https://api.anthropic.com/v1/messages

请求参数

参数类型必填说明
modelstring是模型 ID。
max_tokensinteger是最大输出 token 数。
messagesarray是输入消息数组。
messages[].rolestring是消息角色,例如 user、assistant。
messages[].contentstring | array是消息内容,可以是字符串,也可以是内容块数组。
messages[].content[].typestring否内容块类型,例如 text、image、tool_result、document。
messages[].content[].textstring否文本内容。
messages[].content[].sourceobject否图片、文档等内容块的来源对象。
containerstring否容器 ID。
mcp_serversarray否MCP server 列表。
mcp_servers[].typestring否MCP server 类型。
mcp_servers[].urlstring否MCP server URL。
metadataobject否元数据对象。
metadata.user_idstring否用户标识。
service_tierstring否服务层级。
stop_sequencesarray否停止序列数组。
streamboolean否是否流式返回。
systemstring | array否系统提示。
system[].typestring否系统内容块类型,例如 text。
system[].textstring否系统文本内容。
temperaturenumber否温度。
thinkingobject否Thinking 配置。
thinking.typestring否Thinking 类型,例如 enabled、disabled、adaptive。
thinking.budget_tokensinteger否Thinking token 预算。
tool_choicestring | object否工具选择策略。
tool_choice.typestring否工具选择类型,例如 auto、any、tool。
tool_choice.namestring否指定工具名。
toolsarray否工具定义数组。
tools[].namestring否工具名。
tools[].descriptionstring否工具说明。
tools[].input_schemaobject否工具输入 JSON Schema。
top_kinteger否top-k。
top_pnumber否top-p。

请求示例

curl https://api.anthropic.com/v1/messages \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \ -H "X-Api-Key: $ANTHROPIC_API_KEY" \ --max-time 600 \ -d "{ \"max_tokens\": 1024, \"messages\": [ { \"content\": \"Hello, world\", \"role\": \"user\" } ], \"model\": \"claude-opus-4-6\", \"system\": [ { \"text\": \"Today's date is 2024-06-01.\", \"type\": \"text\" } ], \"temperature\": 1, \"thinking\": { \"type\": \"adaptive\" }, \"tools\": [ { \"input_schema\": { \"type\": \"object\", \"properties\": { \"location\": \"bar\", \"unit\": \"bar\" }, \"required\": [ \"location\" ] }, \"name\": \"name\" } ], \"top_k\": 5, \"top_p\": 0.7 }"

请求返回结果

参数类型说明
idstring消息 ID。
containerobject | null容器对象。
container.idstring容器 ID。
container.expires_atstring容器过期时间。
contentarray输出内容块数组。
content[].typestring内容块类型。
content[].textstring文本内容。
content[].citationsarray引用数组。
content[].citations[].typestring引用类型,例如 char_location。
content[].citations[].cited_textstring被引用文本。
content[].citations[].document_indexinteger文档索引。
content[].citations[].document_titlestring文档标题。
content[].citations[].start_char_indexinteger起始字符位置。
content[].citations[].end_char_indexinteger结束字符位置。
content[].citations[].file_idstring文件 ID。
modelstring模型 ID。
rolestring返回角色,通常为 assistant。
stop_detailsobject | null停止详情对象。
stop_details.typestring停止详情类型。
stop_details.categorystring停止分类。
stop_details.explanationstring停止解释。
stop_reasonstring停止原因。
stop_sequencestring | null命中的停止序列。
typestring对象类型,通常为 message。
usageobject用量对象。
usage.cache_creationobject缓存创建用量。
usage.cache_creation.ephemeral_1h_input_tokensinteger1 小时缓存创建输入 token。
usage.cache_creation.ephemeral_5m_input_tokensinteger5 分钟缓存创建输入 token。
usage.cache_creation_input_tokensinteger缓存创建输入 token 总数。
usage.cache_read_input_tokensinteger缓存读取输入 token 总数。
usage.inference_geostring推理地理区域。
usage.input_tokensinteger输入 token 数。
usage.output_tokensinteger输出 token 数。
usage.server_tool_useobject服务端工具调用用量。
usage.server_tool_use.web_fetch_requestsintegerWeb fetch 请求次数。
usage.server_tool_use.web_search_requestsintegerWeb search 请求次数。
usage.service_tierstring实际服务层级。

请求返回示例

{ "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF", "container": { "id": "id", "expires_at": "2019-12-27T18:11:19.117Z" }, "content": [ { "citations": [ { "cited_text": "cited_text", "document_index": 0, "document_title": "document_title", "end_char_index": 0, "file_id": "file_id", "start_char_index": 0, "type": "char_location" } ], "text": "Hi! My name is Claude.", "type": "text" } ], "model": "claude-opus-4-6", "role": "assistant", "stop_details": { "category": "cyber", "explanation": "explanation", "type": "refusal" }, "stop_reason": "end_turn", "stop_sequence": null, "type": "message", "usage": { "cache_creation": { "ephemeral_1h_input_tokens": 0, "ephemeral_5m_input_tokens": 0 }, "cache_creation_input_tokens": 2051, "cache_read_input_tokens": 2051, "inference_geo": "inference_geo", "input_tokens": 2095, "output_tokens": 503, "server_tool_use": { "web_fetch_requests": 2, "web_search_requests": 0 }, "service_tier": "standard" } }