创建对话请求(Anthropic)
Cloubie 的 Claude 原生 Chat Completions 接口面向已接入 Claude 生态或计划统一接入多家模型的团队,提供一条与官方接口规格高度一致的接入路径。平台在协议层兼容 POST /v1/messages 等 Claude 官方规范:请求体沿用 model、messages(含多段内容块)、工具调用等字段设计,并支持流式响应与多模态扩展。
请求
Endpoint
POST https://api.token-hubs.com
text
Headers
Bearer Token,格式:Bearer YOUR_API_KEY
请求体格式,固定为 application/json
API 版本号,例如:2023-06-01
请求示例
Request Body
在模型停止前最多生成的 token 数(最小值 ≥ 1)。模型可能会在达到上限前自然结束;不同模型支持的最大值不同,请参考模型文档。
输入对话消息列表(最多 100,000 条)。Claude 以「用户 / 助手」交替轮次进行对话:
每条消息必须包含
role与content字段可只传一条
user消息,也可传多轮user / assistant消息如果最后一条消息是
assistant角色,则模型输出会直接从该消息内容后继续(可用于强制前缀)- roleLiteral["user", "assistant"](必填):
消息角色仅支持:
"user"、"assistant"(系统提示需用顶层system字段,而不是这里的system角色) - contentstring | object:
content 可以是字符串,等价于单个内容块数组;具体可参考官方文档。
本次调用使用的模型 ID,例如:claude-3-7-sonnet-latest 等;也支持传入字符串形式的自定义/未来模型名。
描述本次请求的元数据对象,便于你在业务侧做审计、统计、追踪等。
终端用户的标识(例如经哈希后的用户 ID),用于安全审计和用量分析。
控制本次请求使用的服务层级:
- auto:
根据项目配置自动选择(默认)
- standard_only:
始终使用标准容量,不使用优先容量
自定义停止序列列表。模型生成内容遇到任一序列会立即停止,此时响应的 stop_reason 为 "stop_sequence",同时 stop_sequence 字段会返回命中的具体序列。
是否以 Server-Sent Events 形式增量流式返回结果。目前该参数仅支持 false,流式模式需使用专门的流式接口/客户端。
系统提示词,用于为 Claude 提供统一的角色设定与行为准则(如「你是一名资深 Python 开发助手」等)。可以是简单字符串,也可以是文本块数组。
控制输出的随机性,默认 1.0,范围 [0.0, 1.0]:
接近 0.0:更稳定、更偏向确定性(适合分析 / 选择题)
接近 1.0:更有创意和发散性。即使温度为 0.0,结果也不保证完全确定。
启用 Claude 扩展思考能力的配置:
启用后,响应中会包含模型思考过程的内容块
需至少预留 1024 个
max_tokens作为思考预算,这部分也计入总 token 消耗通过
ThinkingConfigEnabled / ThinkingConfigDisabled控制
控制模型如何使用提供的工具:
- ToolChoiceAuto:
模型自行决定是否使用工具、使用哪个工具
- typeLiteral["auto"](必填):
值只能为 auto
- disable_parallel_tool_useOptional[bool]:
是否禁用并行工具的使用,默认值为 false。如果设置为 true,则模型最多输出一次工具使用情况。
- typeLiteral["auto"](必填):
- ToolChoiceAny:
模型必须使用某个可用工具,但你不指定哪一个
- typeLiteral["any"](必填):
值只能为 any
- disable_parallel_tool_useOptional[bool]:
是否禁用并行工具的使用,默认值为 false。
- typeLiteral["any"](必填):
- ToolChoiceTool:
强制模型使用某个指定工具
- namestr:
指定的工具名称
- typeLiteral["tool"]:
值只能为 tool
- disable_parallel_tool_useOptional[bool]:
是否禁用并行工具的使用,默认值为 false。
- namestr:
- ToolChoiceNone:
禁止模型调用任何工具
- typeLiteral["none"]:
值只能为 none
- typeLiteral["none"]:
定义模型可以使用的工具列表(客户端工具或服务端工具):
每个工具包含:name(名称)、description(推荐提供)、input_schema(输入 JSON Schema)
当模型决定调用某个工具时,会在输出中生成 tool_use 内容块(包含 name 和 input)
你在应用侧根据 tool_use 中的 input 实际调用工具,然后将结果通过 tool_result 内容块发回 Claude 完成后续对话。
仅从概率最高的前 K 个 token 中采样(≥ 0),用于截断「长尾」低概率选项。属于高级参数,一般只需调用 temperature 即可。
核采样(nucleus sampling)参数,范围 [0, 1]:按照概率从高到低累积,直到达到 top_p 为止,只在该集合内采样。建议与 temperature 二选一调整。
Response Body
对象的唯一标识符。ID 的格式和长度可能会随着时间变化。
模型生成的内容,为一组内容块数组,每个块有一个 type 决定结构。示例:
[{"type": "text", "text": "Hi, I'm Claude."}]如果请求中最后一条消息是 assistant 角色,则响应内容会直接从该消息继续,可用于约束模型输出前缀。
内容块可能的类型包括:
TextBlock、ThinkingBlock、RedactedThinkingBlock、ToolUseBlock、ServerToolUseBlock、WebSearchToolResultBlock等。
实际用于完成本次补全的模型 ID,例如 claude-3-7-sonnet-latest 等,也可为字符串。
生成消息的会话角色。对于 Claude Messages 响应,该字段始终为 "assistant"。
本次生成停止的原因,可能值:
- end_turn:
模型到达自然结束点
- max_tokens:
达到请求的 max_tokens 或模型上限
- stop_sequence:
生成了你提供的某个 stop_sequences
- tool_use:
模型调用了一个或多个工具
- pause_turn:
长轮次对话被暂停,可将本次响应原样带回下一次请求继续
- refusal:
流式分类器因疑似策略违规而介入
如果触发了自定义停止序列,则为实际命中的那条 stop 序列;否则为 null。
对象类型。对于 Messages 响应,该字段始终为 "message"。
计费与速率限制相关的 token 用量统计。
请注意,请求在内部会被转换为模型可接受的格式,再由模型输出并解析,因此
usage中的 token 计数与可见文本不一定一一对应,即使返回空字符串也可能有非零output_tokens。总输入 token 数 =
input_tokens + cache_creation_input_tokens + cache_read_input_tokens。- cache_creation CacheCreation | null:
按 TTL 维度拆分的缓存 token
- cache_creation_input_tokens int | null:
用于创建缓存条目的输入 token 数
- cache_read_input_tokens int | null:
从缓存中读取的输入 token 数
- input_tokens int:
本次请求中实际使用的输入 token 数
- output_tokens int:
本次请求中实际生成的输出 token 数
- server_tool_use ServerToolUsage | null:
服务端工具调用的次数统计
- web_search_requests int:
Web 搜索工具请求次数
- service_tier "standard" | "priority" | "batch" | null:
本次请求实际使用的服务层级

