Базовый URL OpenAI API (2026): прямые и совместимые эндпоинты
Краткий ответ: официальный базовый URL OpenAI API — https://api.openai.com/v1. Используйте его как base_url или baseURL в SDK, после чего SDK добавит путь к ресурсу. Распространённые полные эндпоинты: https://api.openai.com/v1/responses и https://api.openai.com/v1/chat/completions.
Для совместимого с OpenAI шлюза Flatkey используйте https://router.flatkey.ai/v1 в качестве базового URL. Соответствующий эндпоинт chat completions: https://router.flatkey.ai/v1/chat/completions. Не вставляйте полный путь /chat/completions в поле SDK, которое ожидает только базовый URL.
Таблица базовых URL OpenAI API
| Сценарий использования | Базовый URL | Пример полного эндпоинта |
|---|---|---|
| Прямое подключение к OpenAI | https://api.openai.com/v1 |
https://api.openai.com/v1/responses |
| Прямое подключение к OpenAI, Chat Completions | https://api.openai.com/v1 |
https://api.openai.com/v1/chat/completions |
| Совместимый шлюз Flatkey | https://router.flatkey.ai/v1 |
https://router.flatkey.ai/v1/chat/completions |
Базовый URL и эндпоинт: в чём разница
Базовый URL — это общий префикс, который один раз настраивается в SDK. Эндпоинт — это полный путь для одной операции API. Их смешение вызывает наиболее распространённые ошибки интеграции:
404 Not Found: указан неверный путь или/v1продублирован.401 Unauthorized: ключ не принадлежит базовому URL, к которому выполняется запрос./v1/v1/...: и настроенный базовый URL, и клиентский код добавили/v1..../chat/completions/chat/completions: полный эндпоинт был передан туда, где SDK ожидал только базовый URL.
Используйте единый источник истины для базового URL, храните ключи в переменных окружения и выполните небольшой запрос к /models или chat-запрос перед переносом рабочего трафика.
Что меняет API-шлюз, совместимый с OpenAI
Главное изменение носит операционный, а не концептуальный характер.
| Вопрос | Прямая настройка провайдера | Настройка API-шлюза, совместимого с OpenAI |
|---|---|---|
| Клиентский код | Специфичные для провайдера ключи и эндпоинты со временем накапливаются | Существующий клиент в стиле OpenAI часто можно сохранить, указав новый базовый URL |
| Учётные данные | Отдельные ключи для каждого провайдера и команды | Единый проверяемый уровень доступа для одобренных маршрутов |
| Утверждение моделей | Изменения моделей происходят в конфигурации приложения или специальных скриптах | Политику маршрутизации моделей можно перенести за единую управляемую точку |
| Проверка биллинга | Счета и представления использования разрознены | Общий анализ использования проще централизовать |
| Откат | Миграция каждого провайдера требует отдельной обработки | Миграцию эндпоинтов можно выполнять поэтапно через единый слой совместимости |
Именно поэтому команды в первую очередь ищут openai compatible api gateway. Им не нужен новый формат промптов. Они хотят снизить риск переработки.
Используйте этот чек-лист миграции перед изменением production-среды
Самый безопасный способ внедрить openai compatible api gateway — рассматривать его как контролируемое изменение интеграции, а не как проект по созданию всеобъемлющей абстракции.
- Составьте список точных эндпоинтов OpenAI, которые вы используете сейчас. Большинство команд считают, что используют «OpenAI API», хотя на деле применяют меньший набор, например chat completions, responses, embeddings или генерацию изображений.
- Подтвердите, какие вызовы должны остаться неизменными в коде приложения. Это позволяет честно определить объём работ и защищает заявление о «минимальной миграции».
- Проверьте, поддерживает ли текущий SDK пользовательский базовый URL. Текущие официальные клиенты OpenAI для Python и Node его поддерживают.
- Сначала выберите один сценарий для staging-среды. Начните с маршрута, который уже соответствует стандартной форме запроса OpenAI.
- Перед развёртыванием проверьте доступность целевых моделей. Не полагайтесь на старые скриншоты или устаревшие предположения о каталоге.
- Зафиксируйте правило резервного поведения. Проверяющие должны знать, может ли маршрут переключать модели, завершаться с ошибкой или ставить запрос в очередь.
- Утвердите оговорку о совместимости. В опубликованной формулировке следует говорить «совместимый с OpenAI» для поддерживаемой поверхности запросов, а не «полностью идентичный OpenAI».
Именно этот чек-лист делает openai compatible api gateway убедительным для проверки перед production-развёртыванием.
Примеры кода с минимальными изменениями
Текущие официальные SDK OpenAI уже документируют поддержку пользовательского базового URL. Это техническая причина, по которой openai compatible api gateway может обеспечить миграцию с минимальными трудностями, если шлюз сохраняет уже используемую вами форму запроса в стиле OpenAI.
Пример на Python
from openai import OpenAI
client = OpenAI(
api_key="sk-fk-your-flatkey-key",
base_url="https://router.flatkey.ai/v1",
)
response = client.chat.completions.create(
model="gpt-5.4-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Return a one-line health check."},
],
)
print(response.choices[0].message.content)
Пример для Node
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLATKEY_API_KEY,
baseURL: "https://router.flatkey.ai/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5.4-mini",
messages: [
{ role: "system", content: "You are a concise assistant." },
{ role: "user", content: "Return a one-line health check." },
],
});
console.log(response.choices[0].message.content);
Пример cURL
curl -X POST "https://router.flatkey.ai/v1/chat/completions" \
-H "Authorization: Bearer $FLATKEY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4-mini",
"messages": [
{ "role": "user", "content": "Return a one-line health check." }
]
}'
Для многих команд это первое доказательство того, что совместимый с OpenAI API шлюз не обязательно требует переписывания клиента. Важное ограничение состоит в том, что выбранный вами рабочий процесс должен укладываться в поддерживаемый набор запросов.
Что проверить, прежде чем назвать миграцию «бесшовной»
Именно здесь большинство страниц о совместимых с OpenAI API шлюзах становятся неточными. «Бесшовная» — слишком широкая характеристика, если не определить границы.
Используйте эту таблицу при проверке:
| Пункт проверки | Что подтвердить | Почему это важно |
|---|---|---|
| Набор эндпоинтов | Какие эндпоинты в стиле OpenAI поддерживаются для вашего сценария | Позволяет не обещать полную совместимость, которая вам может не понадобиться |
| Именование моделей | Какие производственные модели одобрены и доступны | Предотвращает неожиданности с маршрутизацией в день запуска |
| Поведение потоковой передачи | Сохраняет ли ваш маршрут в стейджинге используемый сегодня режим потоковой передачи | Позволяет избежать скрытых регрессий интерфейса или задержек |
| Обработка ошибок | Остаются ли коды состояния и поведение повторных попыток приемлемыми для вашего приложения | Обеспечивает операционную безопасность миграции |
| Видимость использования | Могут ли продуктовая команда, платформа и финансы анализировать одинаковую картину использования маршрута | Превращает шлюз в улучшение операционных процессов, а не просто в изменение эндпоинта |
Совместимый с OpenAI API шлюз ценен, когда эти проверки проходят с меньшими затруднениями, чем отдельные миграции между провайдерами.
Практическая последовательность развертывания
Это наиболее простой путь развертывания совместимого с OpenAI API шлюза, когда требуется минимум изменений в коде:
- Инвентаризируйте текущий путь вызова. Зафиксируйте текущую версию SDK, семейство эндпоинтов, идентификаторы моделей, настройки потоковой передачи и предположения о повторных попытках.
- Измените один базовый URL в стейджинге. Сначала сохраните тот же паттерн клиента. Не объединяйте это с несвязанными изменениями промптов или моделей.
- Оставьте одну одобренную модель для первого теста. Первый критерий успеха — совместимость транспорта, а не широкий охват моделей.
- Проверьте форму ответов и ошибок. Сравните результаты, коды состояния, ожидаемые задержки и поведение логирования.
- Проверьте политику маршрутизации моделей. Решите, закреплен ли маршрут за одной моделью, может ли переключаться на эквивалентный класс или должен завершаться ошибкой без переключения.
- Расширяйте использование только после подтверждения актуального каталога.
На 15 июля 2026 года публичная лента цен Flatkey показывала
170строк всего и95доступных строк, однако для развертывания в производственной среде все равно требуется точная проверка моделей в день выпуска.
Именно эта последовательность превращает совместимый с OpenAI API шлюз в уровень контроля миграции, а не в еще одну неизвестную интеграцию.
Чем это отличается от прямой миграции к провайдеру
Документация провайдеров уже показывает, что совместимость в стиле OpenAI становится нормой. Google документирует доступ к Gemini через библиотеки OpenAI. DeepSeek документирует совместимость с OpenAI и Anthropic. Но у каждого провайдера по-прежнему есть собственные ключ, базовый URL и операционные границы.
Именно этот пробел устраняет совместимый с OpenAI API шлюз. Вместо того чтобы обучать каждую команду новой настройке для конкретного провайдера, вы можете централизовать поверхность миграции и перенести фокус проверки на одобрение моделей, наблюдаемость и политику маршрутизации моделей.
Это также объясняет, почему текущий тезис Flatkey сильнее, чем «он работает с OpenAI SDK». Более важное преимущество заключается в том, что совместимый с OpenAI API шлюз может консолидировать доступ и проверку, не вынуждая немедленно переписывать приложение.
Формулировки для соответствия требованиям, которые могут одобрить проверяющие
Используйте такие формулировки при финальной проверке перед публикацией:
| Безопасная формулировка | Почему она безопаснее |
|---|---|
| «Шлюз API, совместимый с OpenAI, для поддерживаемых интерфейсов запросов» | Не создаёт впечатления полной идентичности для каждого эндпоинта и вспомогательного компонента |
| «Во многих распространённых сценариях chat completions вы можете сохранить существующий клиент в стиле OpenAI, изменив базовый URL» | Связывает обещание с конкретным сценарием и необходимым изменением |
| «Доступность моделей следует проверять на этапе внедрения» | Делает заявления о каталоге ограниченными по времени и безопасными для проверки |
| «Поведение резервного переключения зависит от вашей утверждённой политики маршрутизации моделей» | Исключает скрытые предположения об автоматическом переключении |
Избегайте таких формулировок, если проверяющие не могут их подтвердить:
| Формулировка, которой следует избегать | Почему её следует избегать |
|---|---|
| «Полностью взаимозаменяемая замена OpenAI» | Слишком широкое утверждение, если не проверены все необходимые эндпоинты и варианты поведения |
| «Изменения в коде не требуются» | Неверно, если всё ещё нужно обновить переменные аутентификации, идентификаторы моделей или обработку ошибок |
| «Поддерживает все функции OpenAI» | Небезопасное утверждение, если это не задокументировано и не протестировано явно |
Эти оговорки делают описание шлюза API, совместимого с OpenAI более убедительным, а не более слабым.
Когда шлюз API, совместимый с OpenAI, является правильным решением
Шлюз API, совместимый с OpenAI, обычно является правильным решением, когда:
- ваша команда уже использует клиентские потоки в стиле OpenAI и хочет выбрать путь миграции с наименьшими изменениями
- в области применения уже находится более одного семейства моделей
- вам нужно единое место для проверки доступа, использования и утверждённых маршрутов
- изменения моделей происходят достаточно часто, чтобы оправдать общую политику маршрутизации моделей
- вы хотите выполнить контролируемую миграцию, прежде чем рассматривать более продвинутые возможности шлюза
Если эти условия не выполняются, прямая настройка у провайдера всё ещё может быть проще. В статье следует честно говорить об этом компромиссе.
Команды AWS: базовый URL Bedrock, совместимый с OpenAI
Если ваши модели работают в AWS, Amazon Bedrock предоставляет собственный базовый URL, совместимый с OpenAI: https://bedrock-runtime.{region}.amazonaws.com/openai/v1. Аутентификация выполняется с помощью ключей API Bedrock. В нашем руководстве по API Amazon Bedrock, совместимому с OpenAI рассматриваются эндпоинты, ключи, идентификаторы моделей и ограничение /models.
Заключение
Ценность шлюза API, совместимого с OpenAI, не в том, что он создаёт новый шаблон API. Его ценность в том, что он позволяет командам сохранить привычную интеграцию в стиле OpenAI, переместив доступ, утверждение моделей и контроль внедрения за единый проверяемый уровень.
Для Flatkey наиболее убедительное и проверяемое утверждение простое: сохраните используемый вами клиентский шаблон, измените базовый URL на https://router.flatkey.ai/v1, проверьте точный поддерживаемый сценарий и утвердите политику маршрутизации моделей, прежде чем расширять трафик. Это контрольный список миграции, который действительно нужен разработчикам.


