ToAPIsToAPIs
_navigationAdditional documentation

Claude Haiku 4-5 对话

速度最快、成本最低的 Claude 模型,适合高并发、延迟敏感场景

POST
/v1/chat/completions

国内用户请注意: 中国大陆用户请使用 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_KEY

Body

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:消息角色,固定为 assistant
  • choices[].message.content:生成的文本内容
  • choices[].finish_reason:结束原因,stop / length / content_filter
  • choices[].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"
  }
}