Решение по 500 входным токенам при стандартном тарифе обходится в $0.00005. Поэтому OpenAI Decisions API хорошо подходит для массовых проверок и маршрутизации, но низкая цена сама по себе не делает его безопасным для критичных операций: вероятности всё равно нужно калибровать на собственных размеченных данных.
Оплата начинается с долей цента, а не с фиксированной цены за вызов
Стоимость OpenAI Decisions API составляет $0.10 за 1 миллион некэшированных входных токенов, а выходные токены предоставляются бесплатно. Сейчас OpenAI называет этот endpoint общедоступным: он работает только на gpt-6-luna и доступен через POST /v1/decisions в актуальном руководстве Decisions.
Отдельной платы за запрос в опубликованном прайс-листе нет. Базовая формула выглядит так:
monthly cost = requests × average billed input tokens ÷ 1,000,000 × $0.10
Сколько стоит 10 000, 100 000 и 1 миллион запросов
Если на один запрос в среднем приходится 500 входных токенов:
| Запросов в месяц | Входных токенов | Стоимость стандартных входных токенов | Цена одного запроса |
|---|---|---|---|
| 10,000 | 5 million | $0.50 | $0.00005 |
| 100,000 | 50 million | $5.00 | $0.00005 |
| 1,000,000 | 500 million | $50.00 | $0.00005 |
Результаты в форматах predicate, choice и score не увеличивают счёт за выходные токены. Эквивалентный JSON через Responses генерируется и оплачивается по тарифу на выходные токены модели; в таблице цен OpenAI стандартная ставка для выходных токенов gpt-6-luna составляет $0.50 за миллион токенов.
Чтение и запись кэша, регионы и длинный контекст
Заявленные $0.10 — не единственная возможная ставка на входные токены. В актуальном руководстве сказано, что чтение prompt cache тарифицируется со скидкой, а запись в кэш — по стандартным ставкам gpt-6-luna для cache write. В тарифной таблице OpenAI указаны следующие значения для кэшированных входных токенов Luna: $0.01 за миллион токенов при чтении, $0.125 за миллион при записи на 30 минут и $0.25 за миллион при записи на 12 часов.
Кэширование начинается только тогда, когда общий повторно используемый префикс содержит не менее 1,024 токенов. Вопросы в этот минимум не входят, как и изображения, относящиеся только к конкретному вопросу. Чтение и запись кэша уже учитываются в usage.input_tokens; добавлять их к показателю ещё раз нельзя — это приведёт к двойному подсчёту, как поясняется в разделе о кэшировании промптов.
Региональные endpoint’ы и endpoint’ы с требованиями к месту хранения данных могут увеличивать цену на 10% для поддерживаемых новых моделей. В официальном разделе о ценах и доступности также упоминаются множители для длинного контекста. Перед запуском нагрузки, связанной с требованиями к соответствию нормам, проверьте актуальный прайс-лист: оба коэффициента могут изменить простой расчёт по $0.10.
Endpoint намеренно ограничен по возможностям
Decisions API превращает входные данные в один из трёх типизированных результатов. Это классификатор и оценщик, а не более дешёвая версия универсального endpoint’а для генерации ответов.
| Тип вопроса | Что возвращает | Подходящие сценарии | Не лучший выбор для |
|---|---|---|---|
predicate | Вероятность от 0 до 1 | Антифрод-проверка, выявление видимых повреждений, фильтрация релевантности | Текстового объяснения решения |
choice | Один из переданных вариантов, вероятности вариантов и уверенность | Маршрутизация в очередь, категория документа, следующее действие | Неизвестной или динамически создаваемой категории |
score | Взвешенная оценка, вероятности уровней и уверенность | Серьёзность, срочность, качество лида | Извлечения имён, дат и произвольных полей |
Для score можно задать от 2 до 10 упорядоченных уровней. В одном запросе допускается от 1 до 400 вопросов, но объединять стоит только независимые вопросы. Если второй вопрос зависит от ответа на первый, OpenAI рекомендует отправлять его отдельным запросом после получения первого результата.
Несколько независимых вопросов могут использовать одни и те же входные данные. Например, один тикет поддержки можно одновременно проверить на намерение вернуть деньги, направить в нужный отдел и оценить по срочности — без повторной отправки тикета три раза. В руководстве по использованию уточняется, что num_model_requests считает запросы, а не содержащиеся в них вопросы.
Что изменилось после публичной беты
В текущем списке What's new указаны следующие изменения по сравнению с ограничениями на старте:
- Лимит вопросов вырос с 200 до 400.
- Для общих входных данных появилось prompt caching.
- На вход можно передавать нативный JSON, историю диалога, записи function call и соответствующие результаты инструментов.
- Изображения можно передавать по публичным HTTP/HTTPS URL или встроенным base64;
file_id, аудио, файлы и ссылки на элементы по-прежнему не поддерживаются. - Для организации доступна статистика по адресу
GET /v1/organization/usage/decisions; нужен ключ администратора с правомapi.usage.read. Результаты можно группировать по проекту, API-ключу или модели.
Выбирайте Decisions или Responses по формату результата
Decisions API стоит использовать, когда приложение заранее знает допустимую форму ответа. Responses подходит, если модели нужно собрать информацию в связный результат, а function calling — если она должна выбрать инструмент и передать ему аргументы.
| Требование | Оптимальный вариант по умолчанию | Почему |
|---|---|---|
| Проверка да/нет с вероятностью | Decisions | Нативный результат predicate; плата за сгенерированный ответ не взимается |
| Выбор одного известного маршрута | Decisions | Возвращает вероятность каждого варианта и уровень уверенности |
| Оценка по упорядоченной шкале | Decisions | Есть нативная взвешенная оценка и распределение по уровням |
| Возврат произвольных JSON-полей | Responses with Structured Outputs | В Decisions нет пользовательской схемы JSON-ответа |
| Объяснение причины отказа | Responses | Decisions не генерирует текстовые объяснения |
| Выбор инструмента и формирование аргументов | Function calling | Decisions выбирает ответ, но не формирует аргументы для инструмента |
При 100,000 вызовах и 400 входных токенах на каждый запрос Decisions обойдётся в $4. Если эквивалентный вызов Responses генерирует по 30 выходных токенов, опубликованные ставки Luna дают $4 за входные и $1.50 за выходные токены — всего $5.50 без учёта возможных reasoning tokens. Но выбор endpoint’а всё равно определяется тем, нужны ли приложению сгенерированные поля или объяснения.
Оба endpoint’а теперь поддерживают чтение кэшированных данных со скидкой. Фактическое число кэшированных токенов лучше брать из объекта usage в ответе, а не оценивать по длине промпта.
Дешёвая ошибка всё равно может дорого стоить
Низкий счёт за токены не уменьшает цену ошибочного одобрения, некорректного решения модерации или неправильной маршрутизации платежа. В рекомендациях по интерпретации ответов OpenAI советует выбирать пороги на размеченных примерах и учитывать разную стоимость ложноположительных и ложноотрицательных решений.
Эта проблема обсуждается и разработчиками. В посвящённой decision API ветке Reddit, ориентированной на продакшен-сценарии, u/Ctbhatia написал:
«Лучше, чтобы gate сказал пропустить, чем ошибся». Источник: u/Ctbhatia на r/LLMDevs
Уверенность и вероятности API — это сигналы, а не опубликованная гарантия калибровки. Результат с confidence 0.90 нельзя автоматически считать правильным в 90% случаев, пока эта зависимость не проверена на репрезентативных данных.
OpenAI заявляет, что Decisions примерно в 10 раз быстрее Responses в официальном руководстве, но не публикует значения p50 и p95, регион тестирования, размер входных данных или конфигурацию сравнения. Прежде чем закладывать бюджет задержки, проведите собственный бенчмарк из нужного региона.
Продакшен-проверка: калибруйте, добавляйте отказ и только потом автоматизируйте
- Соберите размеченный набор на реальных данных, включая неоднозначные случаи и сценарии с дорогими ошибками.
- Прогоните по нему те же вопросы и постройте графики ложноположительных и ложноотрицательных срабатываний для разных порогов.
- Заранее добавьте в код явный путь для отказа от решения. Ответы с низкой уверенностью или конфликтующими сигналами должны отправляться на ручную проверку, а не принудительно маршрутизироваться.
- После запуска отслеживайте расход токенов и число запросов через
GET /v1/organization/usage/decisions, а затем проверяйте выборку автоматических решений.
Таблица для принятия решения о запуске
OpenAI Decisions API — хороший вариант по умолчанию для коротких, массовых и ограниченных по формату проверок внутри уже используемого стека OpenAI. Одна только цена не является достаточной причиной для миграции.
| Сценарий | Рекомендация | Главное условие |
|---|---|---|
| Маршрутизация обращений или лидов | Использовать Decisions | Категории фиксированы и есть размеченные примеры |
| Проверка изображений на повреждения | Протестировать Decisions | Проверить точность на изображениях; размещённые URL теперь поддерживаются |
| Длинная политика и короткий объект проверки | Протестировать оба endpoint’а | Проверить фактическое число кэшированных токенов и задержку |
| Комплаенс или разрушительное действие | Использовать Decisions только как gate | Нужны отказ от решения, ручная проверка и асимметричные пороги |
| Извлечение данных с объяснением | Использовать Responses | Один более содержательный вызов может избавить от второго запроса на генерацию |
| Выбор инструмента с аргументами | Использовать function calling | Формат ответа напрямую соответствует действию |
| Нагрузка из ЕС или регулируемого региона | Рассмотреть Decisions | Проверить доступность, место обработки данных и региональную надбавку |
Частые вопросы о ценах OpenAI Decisions API
Decisions API тарифицируется за запрос или за токены?
Оплата рассчитывается по входным токенам, а не по числу запросов. Стандартная цена некэшированных входных данных сейчас составляет $0.10 за 1 миллион токенов, но на итоговую сумму могут влиять кэширование, региональные коэффициенты и множители для длинного контекста.
Выходные токены Decisions API бесплатны?
Да. В официальном руководстве Decisions указано, что выходные токены не тарифицируются.
Есть ли бесплатный тариф?
В актуальной документации OpenAI для Decisions отдельный бесплатный тариф не указан. При этом на итоговую сумму для организации могут влиять кредиты на аккаунте или условия договора.
Работает ли prompt caching с Decisions API?
Да. Общие префиксы длиной не менее 1,024 токенов могут участвовать в кэшировании, а OpenAI по умолчанию устанавливает неявную точку разделения в конце общих входных данных. Содержимое вопросов и изображения, относящиеся только к конкретному вопросу, в этот повторно используемый префикс не входят.
Decisions дешевле Responses API?
Обычно — если речь идёт о короткой классификации с ограниченным набором вариантов и без генерации текста. Преимущество сокращается, когда Responses выдаёт совсем небольшой ответ, и может исчезнуть, если для извлечения данных или объяснения потребуется второй вызов.
Сколько вопросов помещается в один запрос?
Текущий лимит составляет от 1 до 400 вопросов. Независимые вопросы можно объединять и передавать вместе с общими входными данными; зависимые вопросы требуют отдельных запросов.
Поддерживаются ли изображения и как они тарифицируются?
Да. Decisions принимает размещённые изображения по HTTP/HTTPS URL и изображения, переданные в base64; изображения учитываются в оплачиваемом объёме входных данных. Ссылки на изображения через file_id не поддерживаются.
Региональная обработка стоит дороже?
Иногда. На странице с тарифами OpenAI указывает надбавку 10% для поддерживаемых региональных endpoint’ов и endpoint’ов с требованиями к месту хранения данных у новых моделей. Перед запуском проверьте актуальную ставку для нужного региона.