Документация

Изменения API

Шлюз резервирует оплату до отправки запроса модели, поэтому отклоняет запросы, стоимость которых нельзя ограничить заранее, и дописывает в тело параметры, которые эту стоимость ограничивают. Всё остальное в теле запроса доходит до модели без изменений.

Запросы, которые отклоняются с кодом 400

  • Ключ с другим регистром или повтор ключа ("Model" рядом с "model", два "model")Шлюз и провайдер прочли бы тело по-разному. Касается всех маршрутов.
  • Модель не из каталога, алиас внутри models, модели с постоянным поиском (perplexity/*, *-search*, *deep-research*)Цену нельзя ограничить заранее.
  • openrouter/auto без плагина auto-router и allowed_models; pin_model; плагин pareto-routerРоутер выбирал бы модели вне нашего каталога.
  • Плагин auto-router с моделью, отличной от openrouter/auto; models вместе с роутером; плагин auto-beta-routerМодель исполнилась бы мимо allowed_models. Используйте auto-router с openrouter/auto и перечислите модели в allowed_models.
  • Плагин webНет предела размера результатов. Используйте инструмент openrouter:web_search с max_characters.
  • Второй поисковый инструмент, настройки поиска одновременно сверху и в parameters, движки кроме exa, parallel и perplexity (native, firecrawl), search_context_sizeСтоимость поиска нельзя ограничить.
  • Серверные инструменты кроме веб-поиска (openrouter:fusion, advisor, subagent, image_generation, bash, web_fetch, datetime), плагины web-fetch, fusion — в том числе с enabled: false, если у плагина нет такого поляВызывают другие модели или имеют неизмеренную плату.
  • Повтор плагина (и когда один из повторов выключен), выключенный file-parser при PDF в сообщенииНеизвестно, какой из повторов прочтёт модель.
  • openrouter:files и file_id в сообщенияхВсегда: файлы хранятся в общей рабочей области.
  • Файлы по ссылке, сжатые форматы (docx и другие), PDF-движок native, mistral-ocr для PDF со сжатыми потоками объектов или с повтором страницы в дереве страницОбъём текста или число страниц нельзя ограничить.
  • Данные в image_url, которые не картинка (data: без image/)Тип вложения определяется по содержимому; файлы передавайте частью file.
  • Звук и видео во входе, картинка с detail: "original", картинки у моделей с поштучной ценой токена картинкиСтоимость ввода нельзя ограничить.
  • modalities с image или audio, модели, отвечающие картинкой, на маршруте чатаИспользуйте /v1/images и /v1/audio/speech.
  • prediction, max_tokens или max_completion_tokens ≤ 0 или больше 2 147 483 648, service_tier кроме auto, default, flexПараметр не поддерживается или стоимость нельзя ограничить.

Что шлюз дописывает в запрос к модели

  • usage.include: true и stream_options.include_usage: trueФактическая стоимость запроса.
  • max_completion_tokensЕсли вы не задали предел вывода. Значение — наименьший предел из моделей запроса.
  • provider.max_priceЗакупочные цены модели. Если ваш предел меньше, остаётся ваш.
  • Раскрытый allowed_modelsШаблоны вида anthropic/* раскрываются по нашему каталогу.
  • stop_server_tools_when с step_count_is: 3При серверных инструментах. Ваши условия сохраняются.
  • engine: "exa", mode, max_uses: 3, max_total_results: 15, max_results: 5, max_characters: 4000 у веб-поискаЕсли вы не задали более строгие значения.
  • Плагин file-parser с движком cloudflare-aiЕсли в сообщении есть PDF, а плагина нет.

Если запрос отклонён

В ответе с кодом 400 указан параметр и причина. Исправьте запрос и отправьте его снова: за отклонённый запрос оплата не списывается.
← К быстрому старту