Выбор поставщика и площадки

В JSON-теле запроса можно назвать поставщика и, отдельно, площадку. Шлюз оставляет только подходящие строки и дальше выбирает среди них как обычно: по цене, ско

Имена берите из карточки модели, блок «Доступные площадки». Регистр и пробелы не различаются: ChineseLLM-discount и chinesellm-discount — одна площадка.

{
  "model": "z-ai/glm-5.3-flash",
  "messages": [{ "role": "user", "content": "Привет" }],
  "provider": {
    "only": ["apixly"],
    "host": "chinesellm-discount"
  }
}

Оба поля необязательны. Нет объекта provider, пустой объект, пустой only и пустой host список строк не сужают.

onlyhostЧто остаётся
нетнетвсе строки, как без этого объекта
естьнетстроки названных поставщиков
естьестьэти поставщики и эта площадка
нетестьэта площадка у любых поставщиков

only — список идентификаторов поставщиков. Площадку пишите в host, одно значение. Идентификатор площадки в only поставщика не выбирает.

Без host запасные попытки остаются внутри названных поставщиков. С host другой площадки нет: наружу уходит ошибка этой строки.

Запрос с этим объектом не запоминается как обычный маршрут. Следующий вызов без provider снова идёт по общему выбору.

Объект к поставщику не пересылается. Если у выбранной площадки есть свой признак бэкенда, шлюз подставляет его сам, уже после снятия вашего объекта.

Поля order, ignore, allow_fallbacks, sort, zdr, max_price и quantizations шлюз не читает. Они уходят вместе с объектом provider.

Объект действует в JSON-теле чата, Completions, Messages, Responses, embeddings, Decisions, генерации картинок, синтеза речи и видео. Realtime и загрузка файла (multipart) его не читают.

Ошибки

Неверный тип поля — only не массив строк или host не строка — даёт 400:

{
  "error": {
    "message": "provider.only must be an array of strings and provider.host must be a string",
    "type": "invalid_request_error"
  }
}

Подходящих строк нет — тоже 400, с другим текстом. Другого поставщика и другую площадку шлюз не подставляет. Запасная модель из цепочки при этом не вызывается:

{
  "error": {
    "message": "no endpoint matches the requested provider",
    "type": "invalid_request_error"
  }
}

На POST /messages эти два ответа приходят в конверте OpenAI, как выше. Остальные ошибки Messages остаются в конверте Anthropic.

Если поставщик уже ответил ошибкой, а запасная модель в цепочке есть, наружу уходит ошибка поставщика, а не этот 400.

Что дальше

На этой странице