文本生成
使用 Messages API
向原生支持 Messages 协议的模型发送请求和接收 SSE 事件。
接口地址:
POST /v1/messages
该接口会直接请求所选 Provider 的 /messages。服务不会在 Messages 和 Chat Completions 之间转换,所以只有上游原生支持 Messages 协议的模型才能使用。
如果不确定模型是否支持,优先使用 /v1/chat/completions。
普通请求
curl https://api.picccai.cn/v1/messages \
-H "Authorization: Bearer $PICCC_API_KEY" \
-H "Content-Type: application/json" \
-H "Anthropic-Version: 2023-06-01" \
-d '{
"model": "YOUR_MODEL_NAME",
"max_tokens": 512,
"messages": [
{
"role": "user",
"content": "把这句话改得更自然:本产品旨在全面提升您的创作效率。"
}
]
}'
model 使用 GET /v1/models 返回的 data[].id。Anthropic-Version 和 Anthropic-Beta 请求头会继续传给上游。
流式请求
curl -N https://api.picccai.cn/v1/messages \
-H "Authorization: Bearer $PICCC_API_KEY" \
-H "Content-Type: application/json" \
-H "Anthropic-Version: 2023-06-01" \
-d '{
"model": "YOUR_MODEL_NAME",
"max_tokens": 512,
"stream": true,
"messages": [
{"role": "user", "content": "列出五个短视频选题。"}
]
}'
流式响应使用上游原生的 SSE 事件,例如 message_start、content_block_delta、message_delta 和 message_stop。事件不会被改名或合并。
常见问题
为什么返回上游的 404 或协议错误?
所选模型的 Provider 可能只支持 /chat/completions。改用 Chat Completions 接口,或者选择原生支持 Messages 的模型。
可以直接使用 Anthropic SDK 吗?
只要 SDK 允许自定义 base URL 和 API Key 请求头,就可以尝试接入。不同 SDK 对鉴权头和路径的处理不同,接入前先用 cURL 验证接口。
响应为什么和另一款模型不同?
Messages 接口返回上游原始格式。客户端应按所选上游协议处理内容块、工具调用和 usage 字段。
