Создать чат
BazaarLink возвращает стандартизированный ответ и удаляет специфичные для upstream поля. usage.cost — сумма в USD, списанная с клиента за этот запрос. Используйте непрозрачный ID запроса BazaarLink из response id или заголовка x-request-id для GET /v1/generation; в нестриминговом ответе тот же ID есть в x-generation-id. Статистика может появиться через несколько секунд; повторяйте запрос при 404 недолго. Длительные нестриминговые запросы Chat, Messages и Responses (примерно от 12 секунд) могут содержать пробелы keep-alive перед JSON-телом. Стандартные JSON-парсеры принимают начальные пробелы. Audio chat использует этот эндпоинт; аудиовывод запрашивается через modalities:["text","audio"] и audio:{voice,format}. GET /v1/models?output_modalities=audio отбирает только модели с аудиовыводом, а не все модели с аудиовходом; модели, принимающие аудио и возвращающие текст, остаются в списке text. Одной метки возможностей недостаточно для гарантии доступного маршрута; выбирайте модель из публичного списка и поддерживаемые ею параметры. Чисто аудиовывод, TTS, STT и другие нетокенные режимы генерации в этот контракт не входят.
/v1/chat/completionsАвторизация
AuthorizationобязательноКлюч API как Bearer-токен в заголовке Authorization.
Тело
modelобязательноИспользуемая модель с указанием поставщика, например. «опенай/gpt-4.1». GET /v1/models перечисляет id, например "claude-sonnet-4.6", и канонические alias, например "anthropic/claude-sonnet-4.6". Запросы принимают обе формы.
"openai/gpt-4o"messagesобязательноМассив сообщений диалога, хотя бы одно. У каждого есть роль (система/пользователь/помощник/инструмент) и контент.
contentАудиовход помещается в messages[].content[]: {"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}. Для data используйте «сырой» base64, а не data URI; поддерживаемые форматы зависят от модели. Не используйте input_audio на верхнем уровне: для него нет отдельной проверки и контракта резервирования кредитов.
[{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]modelsСписок резервных моделей — пробуется по порядку, используется только после того, как исчерпана собственная группа кандидатов основной модели.
streamtrue передает ответ как SSE; Если значение опущено или имеет значение false, возвращается один ответ JSON. Аудиопоток возвращает фрагменты data (аудио в base64) и transcript в choices[].delta.audio; ответ без потока использует choices[].message.audio. Модель может также передавать id и expires_at. Соберите фрагменты и декодируйте по audio.format; форматы потоковой передачи зависят от модели.
temperatureТемпература выборки: чем выше, тем больше случайность; чем ниже, тем выше детерминированность. Значения передаются без проверки диапазона; модель может ограничивать или игнорировать значения вне поддерживаемого диапазона.
max_tokensМаксимальное количество токенов, которые может сгенерировать ответ.
max_completion_tokensПсевдоним max_tokens с идентичной семантикой.
top_pПорог выборки ядра.
top_kОграничивает выборку K токенами с наибольшей вероятностью.
frequency_penaltyНаказывает токены в зависимости от того, как часто они уже появлялись.
presence_penaltyНаказывает токены в зависимости от того, появились ли они вообще, независимо от количества.
repetition_penaltyКоэффициент штрафа за повторение — отдельный механизм от штрафа за частоту/присутствие.
min_pМинимальный порог вероятности относительно наиболее вероятного токена.
top_aДругой механизм выборки с динамическим отсечкой, масштабирующий порог по квадрату максимальной вероятности.
seedДетерминированная начальная выборка; не все поставщики гарантируют воспроизводимость.
nКоличество завершений, которые необходимо сгенерировать.
stopПоследовательности, при которых генерация прекращается, до 4.
toolsСписок определений инструментов/функций, которые может вызывать модель.
tool_choiceОпределяет, будет ли модель принудительно вызывать инструмент.
parallel_tool_callsРазрешить ли параллельные вызовы инструментов, когда инструменты предоставляются. По умолчанию правда. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.
response_formatОграничивает формат вывода, например. {type:"json_object"} или {type:"json_schema"} со схемой JSON.
logit_biasСопоставляет идентификаторы токенов со значениями смещения [-100, 100], добавленными перед выборкой. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.
logprobsВозвращает вероятности журнала каждого выходного токена. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.
top_logprobsКоличество токенов, которые с наибольшей вероятностью вернутся на позицию (требуется logprobs: true). Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.
userИдентификатор конечного пользователя для мониторинга и обнаружения злоупотреблений. На биллинг не влияет. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.
reasoningОбъект управления мышлением модели рассуждения (например, {effort, max_tokens}).
reasoning_effortПлоское сокращение для рассуждения.усилие.
lowmediumhighinclude_reasoningtrue возвращает текст рассуждений в message.reasoning (при потоковой передаче — в delta.reasoning); false отключает рассуждения у моделей, которые рассуждают по умолчанию (см. раздел о рассуждениях), поэтому рассуждения не оплачиваются. Без reasoning_effort, reasoning и thinking по умолчанию рассуждают и возвращают текст только эти модели; остальные — только по запросу.
image_configПараметры создания/редактирования изображения (используются, когда модальности включают изображение).
modalitiesЗапрошенные методы вывода. Включая маршруты изображений через путь отправки генерации изображений. Audio chat использует ["text","audio"] вместе с объектом audio и требует модель, поддерживающую вывод текста и аудио.
textimageaudio["text","audio"]audioПараметры аудиовывода, используются вместе с modalities:["text","audio"]. Поддерживаемые значения voice и format зависят от модели.
{"voice":"alloy","format":"wav"}voiceГолос, поддерживаемый моделью, например alloy.
"alloy"formatФормат вывода, поддерживаемый моделью, например wav; при потоковой передаче часто используется pcm16, если модель его поддерживает.
"wav"pluginsМассив плагинов (например, {id:"web"} для веб-поиска). Поддерживается только на некоторых маршрутах моделей, в остальных случаях не действует; :online включает веб-поиск на поддерживаемых маршрутах. Поиск через plugins, :online или web_search_options может повлечь дополнительную плату upstream по используемому ключу: платформенному ключу BazaarLink или вашему BYOK-ключу.