模型 API
Anthropic Messages 与 Token 预估
配置 Anthropic 原生请求、system、内容块、流式输出和 count_tokens。
更新于
POST
/v1/messagesPOST
/v1/messages/count_tokens原生 Messages 请求
POST /v1/messages 保留 Anthropic 消息结构。system 是顶层字段,不应写成 messages 中的 system 角色。为输出设置明确的 max_tokens,避免依赖不同客户端或供应商的默认值。
cURL
curl --fail-with-body https://api.token4ai.cloud/v1/messages \
-H "x-api-key: $TOKEN4AI_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
--data '{"model":"YOUR_MODEL_ID","max_tokens":256,"system":"Be concise.","messages":[{"role":"user","content":"Hello"}]}' 内容块与工具回合
响应 content 是内容块数组,不一定只有一段文本。读取 type:text 的 text 字段;遇到 tool_use 时,应用执行获准工具,再提交对应 tool_result。检查 stop_reason 和 usage;不要将整个 content 数组直接转成字符串显示。
设置 stream:true 可请求原生事件流。它包含消息和内容块生命周期事件,与 OpenAI 的 choices[].delta 不同。不要混用协议解析器。
Token 预估
POST /v1/messages/count_tokens 接受同类 Messages 请求体并返回 input_tokens。当前网关使用本地估算逻辑,并非上游厂商的精确分词结果,也不会发起模型生成。它适合容量规划,最终费用仍应按实际用量记录核对。
cURL
curl --fail-with-body https://api.token4ai.cloud/v1/messages/count_tokens \
-H "Authorization: Bearer $TOKEN4AI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "YOUR_MODEL_ID",
"messages": [
{
"role": "user",
"content": "Estimate this input."
}
]
}'