创建消息
通过 CometAPI 使用 Anthropic Messages API 调用 Claude 模型,并支持自适应思考、Prompt 缓存、工具使用、网页搜索、流式输出和 effort 控制。
x-api-key 和 Authorization: Bearer 两种请求头都支持用于身份验证。官方 Anthropic SDK 默认使用 x-api-key。快速开始
要通过 CometAPI 使用官方 Anthropic SDK,请设置 base URL:控制自适应思考
使用output_config.effort 搭配自适应思考来控制 Claude 在响应中投入多少工作量。较新的 Claude 模型会拒绝旧版的手动 thinking 结构 thinking={"type": "enabled", "budget_tokens": ...}。
缓存 Prompt
为减少后续请求的延迟和成本,可以缓存较大的 system Prompt 或对话前缀。为需要缓存的 content 块添加cache_control:
usage 字段中报告:
cache_creation_input_tokens— 写入缓存的 tokens(按更高费率计费)cache_read_input_tokens— 从缓存读取的 tokens(按较低费率计费)
流式输出响应
要使用 Server-Sent Events (SSE) 进行流式输出(Streaming)响应,请设置stream: true。事件会按以下顺序到达:
message_start— 包含消息元数据和初始 usagecontent_block_start— 标记每个 content 块的开始content_block_delta— 增量文本块(text_delta)content_block_stop— 标记每个 content 块的结束message_delta— 最终的stop_reason和完整的usagemessage_stop— 表示流结束
控制 effort
要控制 Claude 在生成响应时投入多少 effort,请使用output_config.effort:
使用服务器工具
Claude 支持在 Anthropic 基础设施上运行的服务器端工具:- Web Fetch
- Web Search
响应示例
来自 CometAPI Anthropic 端点的典型响应:与 OpenAI 兼容端点对比
授权
Your CometAPI key passed via the x-api-key header. Authorization: Bearer $COMETAPI_KEY is also supported.
请求头
The Anthropic API version to use. Defaults to 2023-06-01.
"2023-06-01"
Comma-separated list of beta features to enable. Examples: max-tokens-3-5-sonnet-2024-07-15, pdfs-2024-09-25, output-128k-2025-02-19.
请求体
The Claude model to use. See the Models page for available Claude model IDs.
"claude-sonnet-5"
The conversation messages. Must alternate between user and assistant roles. Each message's content can be a string or an array of content blocks (text, image, document, tool_use, tool_result). There is a limit of 100,000 messages per request.
The maximum number of tokens to generate. The model may stop before reaching this limit. When using thinking, the thinking tokens count towards this limit.
x >= 11024
System prompt providing context and instructions to Claude. Can be a plain string or an array of content blocks (useful for prompt caching).
Model-dependent sampling control. Many newer Claude models reject non-default temperature values on the Messages API. Omit this field unless you have verified that the selected model accepts it; if the model returns an unsupported or deprecated-parameter error, remove the field instead of substituting another sampling value.
0 <= x <= 11
Model-dependent nucleus sampling control. Many newer Claude models reject non-default top_p values on the Messages API. Omit this field unless you have verified support for the selected model. Do not set temperature and top_p together.
0 <= x <= 11
Model-dependent top-k sampling control. Many newer Claude models reject non-default top_k values on the Messages API. Omit this field unless you have verified support for the selected model.
x >= 00
If true, stream the response incrementally using Server-Sent Events (SSE). Events include message_start, content_block_start, content_block_delta, content_block_stop, message_delta, and message_stop.
Custom strings that cause the model to stop generating when encountered. The stop sequence is not included in the response.
Controls Claude thinking when the selected model supports a configurable thinking mode. For newer adaptive-thinking models, use {"type":"adaptive"} with output_config.effort, or omit thinking when adaptive thinking is already the model default. Manual {"type":"enabled","budget_tokens":...} is supported only by older models and is rejected by newer Claude models.
Tools the model may use. Supports client-defined functions, web search (web_search_20250305), web fetch (web_fetch_20250910), code execution (code_execution_20250522), and more.
Controls how the model uses tools.
Request metadata for tracking and analytics.
Configuration for response effort and output format. Field support depends on the selected Claude model.
The service tier to use. auto tries priority capacity first, standard_only uses only standard capacity.
auto, standard_only 响应
Successful response. When stream is true, the response is a stream of SSE events.
Unique identifier for this message (e.g., msg_01XFDUDYJgAACzvnptvVoYEL).
Always message.
message Always assistant.
assistant The response content blocks. May include text, thinking, tool_use, and other block types.
The specific model version that generated this response, such as claude-sonnet-5.
Why the model stopped generating. refusal can be returned as a successful HTTP response when the model declines a request.
end_turn, max_tokens, stop_sequence, tool_use, pause_turn, refusal The stop sequence that caused the model to stop, if applicable.
Token usage statistics.