Модели и каталог
Карточка модели — поля запроса, цены и статистика. Стройте запрос по ней.
Список и карточка
GET /v1/models (фильтр ?modality=chat|image|video|music|transcription|speech) и
GET /v1/models/{id} работают без ключа и совместимы с models.list и
models.retrieve SDK OpenAI: created — unix-время added_at, owned_by — vendor.id.
Карточка — схема Model.
curl https://api.souz.ai/v1/models/nano-banana-proПоля запроса: input_schema, params, rules
input_schema— JSON Schema 2020-12 тела запроса к модели. Подходит какparametersинструмента илиinputSchemaMCP. Значения, принимаемые молча (auto,n: 1), в ней есть.params[]— те же поля для интерфейса: подписи, подсказки, умолчания.rules[]— сочетания значений, которые JSON Schema не выражает (when→allowилиdeny). Запрос с недопустимым сочетанием —400 capability_mismatchсreason: "incompatible_value"и тем, что подошло бы.limits— пределы модели,capabilitiesу чата —tools,vision,structured_output,streaming,file_input,audio_input,video_inputиsupported_parameters— параметры запроса, которые учитывает хотя бы один канал модели (поля нет, если список опубликован не у всех каналов).
Численные ограничения схемы
input_schema строится из тех же данных, которыми проверяется запрос.
Условные границы представлены allOf с if/then; Unicode — minLength и
maxLength, количество — minItems и maxItems, секунды — minimum и
maximum. Расширение x-request-limits сохраняет точные единицы и условия,
включая UTF-16 и байты, для которых стандартной границы JSON Schema нет.
Граница конкретного канала может быть уже: Авто-роутинг не отправит запрос в такой
канал и выберет подходящий по обычным правилам.
Длина текста
Предел текстового поля указан в input_schema как maxLength и в params[]
как max_length. Длина считается в символах Unicode; кириллица и эмодзи не
считаются по байтам. Превышение предела модели возвращает
400 capability_mismatch с указанием поля и допустимой длины до обработки вложений.
Если предел не указан, карточка не задаёт верхнюю границу этого поля; это не
означает, что любой объём текста поддерживается.
У музыки предел может зависеть от действия и режима своего текста. Эти условия
публикуются в input_schema.allOf через if / then; общий max_length поля
не заменяет ограничения выбранного режима. У диалога речи общий предел input
применяется к сумме реплик с переводом строки между ними, а предел поля
dialogue[].text — к каждой реплике.
У отдельных каналов допустимая длина может быть меньше. Авто-роутинг исключает
неподходящие каналы до отправки запроса. Если ни один из выбранных каналов не
принимает параметры, запрос получает 400 capability_mismatch.
Текст запроса автоматически не обрезается.
У чатов ограничения выражены в токенах. Проверяются известные пределы модели
и выбранных каналов, включая сумму входа и запрошенного выхода на один ответ.
n увеличивает общий объём ответа, но не размер одного контекста. Проверка
входа использует предварительную оценку токенов.
Цены в карточке
pricing — цена «от»: у изображений amount_micro — наименьшая цена каналов
для параметров по умолчанию, как в GET /v1/models/{id}/channels. Цены других
сочетаний находятся в options. У чата input_micro, output_micro и
cache_read_micro — ставки одного канала: самого дешёвого по сумме 1M входа и 1M выхода, как
первый канал пресета cheap. У остальных модальностей — минимум по каналам и сочетаниям
параметров. Рядом — верх ставки (max_input_micro, max_output_micro,
max_cache_read_micro, max_amount_micro; null — общего верха в этой единице нет),
цены опций пресетов роутинга (pricing.presets, по сочетаниям параметров —
pricing.options[].presets) и цена каждого канала (pricing.channels,
pricing.options[].channels). dynamic: true — у части каналов динамическая цена
(Цены и баланс). Как считается итог — Цены и баланс.
Статистика
stats_7dв каталоге — итоги 7 дней по запросам всех клиентов:requests,succeededиfailed, доля успешных, медиана и p95 времени ответа, у чата — выданные токены (схемаModelStatsSummary).GET /v1/models/{id}/stats(без ключа, схемаModelStats) — те же числа по часам (у часа — медианаlatency_p50_ms, полосаlatency_p05_ms–latency_p95_ms, краяlatency_min_msиlatency_max_ms) иspeed— скорость каждой опции пресетов роутинга по 6 часов (у чата — токенов в секунду, у остальных — секунды выполнения).
stats_7d обновляется раз в час, /stats — раз в минуту (updated_at). Доля успешных — среди завершённых запросов, без
отказов по вине запроса (ошибка во входных данных, нехватка баланса). Собственные
служебные запросы платформы (проверки и замеры) в запросы, долю успешных и время ответа не входят.
Время ответа — по успешным запросам, медиана и p95 округлены до ±10 %.
Каталог моделей, карточка и список каналов с авторизацией возвращают цены текущего
аккаунта. Такие ответы имеют Cache-Control: private, no-cache; сохранять их в общем
кэше нельзя. Без авторизации каталог по-прежнему доступен.
Каналы модели
Цены, задержка, скорость и стабильность каналов — GET /v1/models/{id}/channels
(Каналы).