Скилл: модели
Выбор точного ID без подмены модели пользователя
Правила выбора
Получай модели через GET https://api.getapi.ru/v1/models с ключом GetAPI
Читай data[].id. Сохраняй точное написание, не заменяй дефисы точками и не добавляй имя провайдера
Если модель пользователя отсутствует, сообщи это. Не выбирай другую модель без согласования
Доступность и возможности
Каталог подтверждает наличие ID, но не работоспособность каждого метода и параметра
Перед использованием tools, reasoning, изображений или JSON Schema проверь совместимость нужного сценария. Алиас и версионированный ID могут вести себя по-разному
Проверяй допустимые значения параметров отдельно от наличия поля в каталоге. Для gpt-5.1-codex-max у Azure используй verbosity: "medium", значение low провайдер отклоняет
HTTP 200 подтверждает принятие запроса, запрошенный результат проверяй в ответе. Например, принятый logprobs: true может сопровождаться choices[].logprobs: null
Проверяй число вариантов по длине choices. У gpt-4o-mini, gpt-5-nano, claude-sonnet-5.5 и gemini-2.5-flash-lite запрос с n: 2 возвращает один вариант
Для gpt-5-nano проверяй текст на переданную стоп-последовательность, параметр stop может её не удалить
OpenRouter и провайдеры
Текущее подключение GetAPI использует OpenRouter. Вендор модели и исполнитель запроса могут различаться, например модель OpenAI обслуживают OpenAI и Azure
Если пользователь выбрал провайдера, сохрани ID модели и передай отдельный объект provider в поддерживаемом методе
{
"model": "gpt-4o-mini",
"provider": {"only": ["azure"], "allow_fallbacks": false}
}Это фрагмент запроса, добавь обязательные поля нужного метода. Идентификатор исполнителя бери со страницы модели, не угадывай по имени вендора
order задаёт предпочтение, для ограничения используй only. При нескольких значениях в only допустим любой исполнитель из списка
provider.max_price.prompt и provider.max_price.completion задаются в USD за миллион токенов исполнителя. Для расчёта списания GetAPI учитывай курс и коэффициент группы отдельно
Сейчас require_parameters: true у четырёх моделей выше отклоняет даже простой текстовый запрос с no compatible priced endpoint. Не добавляй флаг автоматически
Проверь фактического исполнителя по полю provider, если метод его возвращает, и сохрани ID ответа для сверки с журналом. Speech и Transcriptions отклоняют provider.only с provider_routing. Для видео принятый объект provider не подтверждает именованный выбор
Полный контракт: OpenRouter и выбор провайдера
Ошибки
model_not_found может приходить с разными HTTP-статусами. Проверяй код и сообщение, а не только статус
Не повторяй один и тот же заведомо неверный ID. Для временной ошибки используй ограниченные повторы по правилам ошибок
При model_price_error различай отсутствие доступных endpoints, отсутствие подходящей цены для условий запроса и ошибку резерва метода. Сохраняй исходное сообщение, одного кода недостаточно для определения причины
Полный справочник: каталог моделей, идентификаторы