_navigationAdditional documentation
Claude Haiku 4-5 对话
速度最快、成本最低的 Claude 模型,适合高并发、延迟敏感场景
国内用户请注意: 中国大陆用户请使用 https://toapis.cn 作为接口地址(Base URL)。文档示例中的 https://toapis.com 请替换为 https://toapis.cn。
- 兼容 OpenAI Chat Completions API 格式
- 通过
model参数指定claude-haiku-4-5模型 - 支持流式输出(SSE)
- 支持多轮对话、系统提示词、视觉输入
Authorizations
Authorizationstring请求头必填所有接口均需要使用 Bearer Token 进行认证
获取 API Key:访问 API Key 管理页面 获取您的 API Key
使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEYBody
modelstring请求体必填默认值: claude-haiku-4-5模型名称
示例:"claude-haiku-4-5"
messagesobject[]请求体必填对话消息列表,按时间顺序排列
messages[n]
rolestring请求体必填消息角色,可选值 system、user、assistant
contentstring请求体必填消息内容,字符串或内容块数组(支持图片)
streamboolean请求体默认值: false是否启用流式输出(Server-Sent Events)
true:逐 token 流式返回false:等待完整响应后一次性返回
max_tokensinteger请求体生成内容的最大 token 数量
不设置时使用模型默认上限
temperaturenumber请求体默认值: 1采样温度,控制输出随机性
- 范围:
0~2 - 值越低输出越稳定,值越高输出越随机
top_pnumber请求体默认值: 1核采样概率阈值
范围:0 ~ 1,建议不要同时修改 temperature 和 top_p
stopstring | string[]请求体停止序列,遇到指定字符串时停止生成
最多 4 个停止序列
Response
idstring本次请求的唯一标识符
objectstring对象类型,固定为 chat.completion
createdinteger请求创建时间(Unix 时间戳)
modelstring实际使用的模型名称
choicesobject[]生成结果列表
choices[].message.role:消息角色,固定为assistantchoices[].message.content:生成的文本内容choices[].finish_reason:结束原因,stop/length/content_filterchoices[].index:结果索引
usageobject本次请求的 token 消耗统计
usage.prompt_tokens:输入 token 数usage.completion_tokens:输出 token 数usage.total_tokens:总 token 数
请求示例
curl --request POST \
--url https://toapis.com/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-haiku-4-5",
"messages": [
{
"role": "user",
"content": "你好,请介绍一下你自己"
}
]
}'curl --request POST \
--url https://toapis.com/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-haiku-4-5",
"messages": [
{
"role": "system",
"content": "你是一个专业的代码助手"
},
{
"role": "user",
"content": "用 Python 写一个快速排序"
}
],
"stream": true
}'curl --request POST \
--url https://toapis.com/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-haiku-4-5",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "这张图片里有什么?"
},
{
"type": "image_url",
"image_url": {
"url": "https://www.gstatic.com/webp/gallery/1.jpg"
}
}
]
}
],
"max_tokens": 300
}'from openai import OpenAI
client = OpenAI(
api_key="your-ToAPIs-key",
base_url="https://toapis.com/v1"
)
response = client.chat.completions.create(
model="claude-haiku-4-5",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己"}
]
)
print(response.choices[0].message.content)from openai import OpenAI
client = OpenAI(
api_key="your-ToAPIs-key",
base_url="https://toapis.com/v1"
)
response = client.chat.completions.create(
model="claude-haiku-4-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {"url": "https://www.gstatic.com/webp/gallery/1.jpg"}
}
]
}
],
max_tokens=300
)
print(response.choices[0].message.content)from openai import OpenAI
client = OpenAI(
api_key="your-ToAPIs-key",
base_url="https://toapis.com/v1"
)
stream = client.chat.completions.create(
model="claude-haiku-4-5",
messages=[
{"role": "system", "content": "你是一个专业的代码助手"},
{"role": "user", "content": "用 Python 写一个快速排序"}
],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "your-ToAPIs-key",
baseURL: "https://toapis.com/v1",
});
const response = await client.chat.completions.create({
model: "claude-haiku-4-5",
messages: [{ role: "user", content: "你好,请介绍一下你自己" }],
});
console.log(response.choices[0].message.content);响应示例
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1703884800,
"model": "claude-haiku-4-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是 Claude,由 Anthropic 开发的 AI 助手。我可以帮助你回答问题、分析信息、编写代码、创作内容等。有什么我可以帮你的吗?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 42,
"total_tokens": 57
}
}{
"error": {
"code": "invalid_request_error",
"message": "The 'messages' field is required.",
"param": "messages",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key",
"type": "authentication_error"
}
}