Claude в формате, совместимом с OpenAI
Fast-Token поддерживает вызов моделей Anthropic Claude через протокол OpenAI API. Если у вас уже есть приложения на OpenAI SDK или /v1/chat/completions, обычно достаточно изменить base_url и model, чтобы подключить Claude, без переписывания на нативный API Anthropic Messages.
На этой странице — руководство по использованию. Тела запросов, поля ответов и онлайн-отладка каждого интерфейса — в документации ChatGPT и по ссылкам в таблице возможностей ниже.
Два способа подключения
| Сравнение | Формат, совместимый с OpenAI (эта страница) | Нативный API Claude (другие документы в этой папке) |
|---|---|---|
| Типичный путь | POST /v1/chat/completions | POST /v1/messages |
| Тело запроса | Поля OpenAI: messages, model, stream и т.д. | Поля Anthropic: messages, system, thinking и т.д. |
| Когда использовать | Существующие клиенты OpenAI, единый шлюз для нескольких моделей, быстрая миграция | Уникальные возможности Claude (бюджет расширенного мышления, Tool Use, PDF, веб-поиск и т.д.) |
| Документация | Эта страница + раздел Чат | Страницы API в группе Чат этой папки |
Оба способа используют один API Key и адрес шлюза. Тарификация — по соответствующей модели в маркетплейсе моделей.
Настройка подключения
Шлюз и аутентификация
- Base URL:
https://fast-token.com/v1(как в Быстром старте) - Аутентификация: заголовок
Authorization: Bearer <Fast-Token_API_KEY> - Имя модели: скопируйте ID модели с
claudeиз маркетплейса моделей в полеmodel
OpenAI SDK (рекомендуется)
Укажите base_url официального SDK на Fast-Token; остальное как у OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="https://fast-token.com/v1",
api_key="<Fast-Token_API_KEY>",
)
completion = client.chat.completions.create(
model="claude-sonnet-4-20250514", # по маркетплейсу моделей
messages=[
{"role": "user", "content": "用一句话介绍你自己"},
],
)
print(completion.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://fast-token.com/v1",
apiKey: "<Fast-Token_API_KEY>",
});
const completion = await client.chat.completions.create({
model: "claude-sonnet-4-20250514",
messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);Для потокового диалога установите stream: true. См. Создать завершение чата (потоковое).
Обзор возможностей chat-совместимого формата
Все перечисленные возможности доступны через путь, совместимый с OpenAI. В консоли или Apifox они часто относятся к «chat-совместимому формату». На практике чаще всего один POST /v1/chat/completions, сценарии различаются моделью, потоковой передачей и структурой сообщений.
| Возможность | Описание | Ссылка |
|---|---|---|
| Создать чат с мышлением | Диалог с процессом «мышления» модели | Потоковое (extra_body.enable_thinking) |
| Создать завершение чата (потоковое) | Стандартный многоходовый текст, SSE | Создать завершение чата (потоковое) |
| Создать завершение чата (непотоковое) | Стандартный многоходовый текст, один ответ | Создать завершение чата (непотоковое) |
| Создать чат с распознаванием изображений (потоковое) | Загрузка изображений для понимания и вопросов | Создать чат с распознаванием изображений (потоковое) |
| Создать чат с распознаванием изображений (непотоковое) | Распознавание, полный непотоковый ответ | Создать чат с распознаванием изображений (непотоковое) |
Выбор модели
ID модели для каждого сценария — в маркетплейсе моделей. Пробуйте модели Claude с claude в названии и поддержкой нужного сценария. При ошибке «модель не найдена» или неподдерживаемой возможности выберите другую запись Claude для того же сценария.
Заметки по сценариям
Стандартный чат (потоковый / непотоковый)
- Эндпоинт:
POST /v1/chat/completions - Многоходовый диалог через массив
messages;role:system/user/assistant(как у OpenAI) - Непотоковый:
stream: falseили безstream→ Создать завершение чата (непотоковое) - Потоковый:
stream: true→ Создать завершение чата (потоковое) - Общие параметры (
temperature,max_tokens,top_pи т.д.) — как в документации OpenAI
Роль system
В формате OpenAI системный промпт — в messages с role: "system". В нативном API Claude часто используется поле system верхнего уровня; см. Создать завершение чата (потоковое).
Режим мышления
Часть моделей Claude с мышлением включает вывод мышления в потоковых запросах через расширение:
{
"model": "claude-sonnet-4-20250514",
"messages": [{ "role": "user", "content": "逐步推导:为什么天空是蓝色的?" }],
"stream": true,
"extra_body": {
"enable_thinking": true
}
}- Отображение мышления в совместимом формате зависит от шлюза и модели; выберите Claude с поддержкой «мышления» в маркетплейсе
- Для точного контроля бюджета токенов мышления (
thinking.budget_tokens) и разделения блоков мышления и ответа используйте нативный Создание чата с расширенным мышлением (POST /v1/messages)
Распознавание изображений
В content сообщения user — мультимодальный массив: text + image_url (URL или Base64).
{
"model": "claude-sonnet-4-20250514",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "描述这张图片中的主要内容" },
{
"type": "image_url",
"image_url": { "url": "https://example.com/photo.jpg" }
}
]
}
],
"stream": true
}- Потоковое распознавание:
stream: true— Создать чат с распознаванием изображений (потоковое) - Непотоковое:
stream: false— Создать чат с распознаванием изображений (непотоковое) - Base64: Создать чат с распознаванием изображений (потоковое) Base64
Выбор совместимого OpenAI и нативного API Claude
| Ваша задача | Рекомендация |
|---|---|
| Быстрое подключение, OpenAI SDK / существующий код | Формат, совместимый с OpenAI (эта страница) |
Расширенное мышление, budget_tokens, SSE блоков мышления | Нативный API — Создание чата с расширенным мышлением |
| Tool Use / вызов функций | Нативный API — Создание вызова функций (потоковый режим) |
| Структурированный вывод (JSON Schema) | Нативный API — Создание структурированного вывода |
| PDF, веб-поиск | Нативный API — Поддержка PDF, Веб-поиск |
| Только чат + изображения + мышление с клиентом OpenAI | Достаточно формата, совместимого с OpenAI |
Частые вопросы
В: Почему не совпадает с официальной документацией OpenAI?
О: Совместимый слой выравнивает запросы/ответы с OpenAI, внутри работает Claude. Часть параметров только OpenAI может игнорироваться — ориентируйтесь на поддержку модели.
В: Что указывать в model?
О: Полный ID модели из маркетплейса (обычно с claude). Не используйте сокращения и устаревшие имена.
В: Можно ли официальный Python SDK Anthropic?
О: Он по умолчанию на POST /v1/messages. Для него — нативный API в этой папке; OpenAI SDK — для формата на этой странице.
В: Формат потокового ответа?
О: SSE, строки data: {...} и data: [DONE] в конце, как у OpenAI. См. Объект чанка завершения чата.
В: Полная структура JSON ответа?
О: Объект завершения чата. Для нативного Messages API — Объект завершения чата (формат Anthropic).
Дополнительно
- Быстрый старт — первый вызов и API Key
- Краткое руководство по API — Base URL и клиент
- Список моделей —
GET /v1/models - Другие страницы папки — параметры и примеры нативного Messages API Claude