BazaarLinkBazaarLink
Войти
ДокументацияAPI СсылкаSDK СсылкаАгентное использованиеAI Навыки
Чат

Создать чат

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 и другие нетокенные режимы генерации в этот контракт не входят.

POST/v1/chat/completions

Авторизация

Authorizationобязательно
string · header

Ключ API как Bearer-токен в заголовке Authorization.

Тело

modelобязательно
string

Используемая модель с указанием поставщика, например. «опенай/gpt-4.1». GET /v1/models перечисляет id, например "claude-sonnet-4.6", и канонические alias, например "anthropic/claude-sonnet-4.6". Запросы принимают обе формы.

minLength: 1
Example: "openai/gpt-4o"
messagesобязательно
Message[]

Массив сообщений диалога, хотя бы одно. У каждого есть роль (система/пользователь/помощник/инструмент) и контент.

minLength: 1
content
string | ContentPart[]

Аудиовход помещается в messages[].content[]: {"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}. Для data используйте «сырой» base64, а не data URI; поддерживаемые форматы зависят от модели. Не используйте input_audio на верхнем уровне: для него нет отдельной проверки и контракта резервирования кредитов.

Example: [{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]
models
string[]

Список резервных моделей — пробуется по порядку, используется только после того, как исчерпана собственная группа кандидатов основной модели.

stream
boolean

true передает ответ как SSE; Если значение опущено или имеет значение false, возвращается один ответ JSON. Аудиопоток возвращает фрагменты data (аудио в base64) и transcript в choices[].delta.audio; ответ без потока использует choices[].message.audio. Модель может также передавать id и expires_at. Соберите фрагменты и декодируйте по audio.format; форматы потоковой передачи зависят от модели.

temperature
number

Температура выборки: чем выше, тем больше случайность; чем ниже, тем выше детерминированность. Значения передаются без проверки диапазона; модель может ограничивать или игнорировать значения вне поддерживаемого диапазона.

max_tokens
integer

Максимальное количество токенов, которые может сгенерировать ответ.

max_completion_tokens
integer

Псевдоним max_tokens с идентичной семантикой.

top_p
number

Порог выборки ядра.

top_k
integer

Ограничивает выборку K токенами с наибольшей вероятностью.

frequency_penalty
number

Наказывает токены в зависимости от того, как часто они уже появлялись.

presence_penalty
number

Наказывает токены в зависимости от того, появились ли они вообще, независимо от количества.

repetition_penalty
number

Коэффициент штрафа за повторение — отдельный механизм от штрафа за частоту/присутствие.

min_p
number

Минимальный порог вероятности относительно наиболее вероятного токена.

top_a
number

Другой механизм выборки с динамическим отсечкой, масштабирующий порог по квадрату максимальной вероятности.

seed
integer

Детерминированная начальная выборка; не все поставщики гарантируют воспроизводимость.

n
integer

Количество завершений, которые необходимо сгенерировать.

stop
string | string[]

Последовательности, при которых генерация прекращается, до 4.

tools
Tool[]

Список определений инструментов/функций, которые может вызывать модель.

tool_choice
string | object

Определяет, будет ли модель принудительно вызывать инструмент.

parallel_tool_calls
boolean

Разрешить ли параллельные вызовы инструментов, когда инструменты предоставляются. По умолчанию правда. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.

response_format
object

Ограничивает формат вывода, например. {type:"json_object"} или {type:"json_schema"} со схемой JSON.

logit_bias
object

Сопоставляет идентификаторы токенов со значениями смещения [-100, 100], добавленными перед выборкой. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.

logprobs
boolean

Возвращает вероятности журнала каждого выходного токена. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.

top_logprobs
integer

Количество токенов, которые с наибольшей вероятностью вернутся на позицию (требуется logprobs: true). Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.

0–20
user
string

Идентификатор конечного пользователя для мониторинга и обнаружения злоупотреблений. На биллинг не влияет. Только для моделей семейства OpenAI — автоматически удаляется, если целевая модель не является собственной моделью OpenAI, это не ошибка.

reasoning
object

Объект управления мышлением модели рассуждения (например, {effort, max_tokens}).

reasoning_effort
string

Плоское сокращение для рассуждения.усилие.

lowmediumhigh
include_reasoning
boolean

true возвращает текст рассуждений в message.reasoning (при потоковой передаче — в delta.reasoning); false отключает рассуждения у моделей, которые рассуждают по умолчанию (см. раздел о рассуждениях), поэтому рассуждения не оплачиваются. Без reasoning_effort, reasoning и thinking по умолчанию рассуждают и возвращают текст только эти модели; остальные — только по запросу.

image_config
object

Параметры создания/редактирования изображения (используются, когда модальности включают изображение).

modalities
string[]

Запрошенные методы вывода. Включая маршруты изображений через путь отправки генерации изображений. Audio chat использует ["text","audio"] вместе с объектом audio и требует модель, поддерживающую вывод текста и аудио.

textimageaudio
Example: ["text","audio"]
audio
object

Параметры аудиовывода, используются вместе с modalities:["text","audio"]. Поддерживаемые значения voice и format зависят от модели.

Example: {"voice":"alloy","format":"wav"}
voice
string

Голос, поддерживаемый моделью, например alloy.

Example: "alloy"
format
string

Формат вывода, поддерживаемый моделью, например wav; при потоковой передаче часто используется pcm16, если модель его поддерживает.

Example: "wav"
plugins
object[]

Массив плагинов (например, {id:"web"} для веб-поиска). Поддерживается только на некоторых маршрутах моделей, в остальных случаях не действует; :online включает веб-поиск на поддерживаемых маршрутах. Поиск через plugins, :online или web_search_options может повлечь дополнительную плату upstream по используемому ключу: платформенному ключу BazaarLink или вашему BYOK-ключу.

POST /v1/chat/completions
curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
Примеры ответов

Успех. BazaarLink возвращает только поля из публичного списка разрешённых полей ответа, например собственный идентификатор ответа, модель, варианты и данные об использовании. Модель указывается по публичному правилу BazaarLink: после разрешения псевдонима может сохраниться запрошенное вами имя, а для автоматически маршрутизированных запросов указывается фактически обслужившая модель. Поле поставщика и другие метаданные восходящего потока удаляются. usage.cost всегда является суммой, рассчитанной BazaarLink.

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
Поддержка
Поддержка
Здравствуйте! Чем мы можем помочь?
Отправьте сообщение, и мы ответим в ближайшее время.
Создать чат — BazaarLink API