# 所有 OpenAI 格式 LLM 模型均支持 Claude 官方格式

YutoAPI 的 OpenAI 格式 LLM 模型也可以通过 Anthropic Messages 端点调用。也就是说，如果你的应用、SDK 或代理层已经按 Claude 官方消息结构组织请求，可以把请求切到 YutoAPI 的 `POST /v1/messages`，并继续使用平台提供的 Base URL 与 API Key。

## 适用场景

- 你原来使用 Claude / Anthropic Messages API，希望迁移到 YutoAPI。
- 你的工具链只支持 Anthropic 风格的 `messages` 请求体。
- 你希望在同一个 YutoAPI 账号下同时使用 OpenAI 兼容端点和 Claude 官方格式端点。

## 调用方式

1. 先在控制台获取 Base URL 与 API Key，参考 [获取 Base URL 和 API Key](/api/doc-6535931)。
2. 将请求地址设置为 `{BaseURL}/v1/messages`。
3. 请求头使用 `Authorization: Bearer YOUR_API_KEY`。
4. 请求体按 Anthropic Messages 格式传入 `model`、`max_tokens`、`messages` 等字段。

最小请求示例：

```bash
curl --location --request POST '{BaseURL}/v1/messages' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "model": "claude-3-5-sonnet-20240620",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "用三句话解释 YutoAPI 的 Anthropic Messages 端点怎么接入。"
          }
        ]
      }
    ]
  }'
```

如果你的 Anthropic SDK 或网关要求官方版本头，可以保留：

```text
anthropic-version: 2023-06-01
```

平台鉴权仍以 YutoAPI 的 `Authorization: Bearer YOUR_API_KEY` 为准。

## 和 OpenAI Chat Completions 的区别

| 项目 | OpenAI 兼容格式 | Claude 官方格式 |
| --- | --- | --- |
| 端点 | `/v1/chat/completions` | `/v1/messages` |
| 消息正文 | `messages[].content` 通常是字符串或多模态数组 | `messages[].content` 使用 Anthropic 内容块数组 |
| 最大输出 | 常见字段为 `max_tokens` | 使用 `max_tokens` |
| 模型字段 | `model` | `model` |

如果你已经接入 OpenAI 兼容格式，不需要强制迁移；只有在 SDK、上游工具或业务代码依赖 Anthropic Messages 结构时，才建议使用 `/v1/messages`。

## JavaScript 示例

```js
const response = await fetch(`${baseUrl}/v1/messages`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "claude-3-5-sonnet-20240620",
    max_tokens: 1024,
    messages: [
      {
        role: "user",
        content: [
          {
            type: "text",
            text: "请用要点说明这个端点的接入流程。"
          }
        ]
      }
    ]
  })
});

const data = await response.json();
console.log(data);
```

## 注意事项

- 不要把 API Key 写进前端公开代码、GitHub、日志或截图。
- `model` 需要填写当前账号可用的模型名称；可先通过 [列出模型](/api/api-287780941) 查询。
- 多模态图片请求也使用 `/v1/messages`，图片参数示例可参考 [Messages(识图)](/api/api-266125082)。
- 端点参数参考见 [Messages(官方 Anthropic 格式)](/api/api-228980408)。
