Перейти к основному контенту

Gemini 3.1 Pro API: длинный контекст, инструменты и стоимость

Gemini 3.1 Pro с текстовыми пакетами, JSON и инструментами: точная граница цены при длинном контексте, рабочий код API и пределы для взрослого контента.

Автор
Lydia
Опубликовано
Время чтения
9 мин чтения
Обновлено
Взрослая рыжеволосая редакторка каталогов и взрослый коллега сравнивают в архиве каталог с закладками и отдельную бумажную правку

У вас есть сценарная библия на 300 000 токенов для сезона романтического сериала для взрослых и один вопрос: где сцены противоречат карточкам персонажей? Gemini 3.1 Pro Preview в SpicyAPI может прочитать всё за один вызов, но тариф на вход удваивается после 200 000 токенов, а тариф на выход растёт на 50 %. Отправляйте большой запрос потоком (streaming), чтобы он не упёрся в тайм-аут запросов без стриминга.

Gemini 3.1 Pro Preview (google/gemini-3.1-pro-preview/chat) принимает до 1 000 000 входных токенов, принимает текстовые части и части image_url (не части PDF, видео или аудио), поддерживает инструменты и вывод в JSON и отвечает не более чем 32 768 токенами. Тарифы длинного контекста начинают действовать, когда суммарный вход превышает 200 000 токенов, и применяются ко всему запросу.

Лимиты и тарифы

ПараметрЗначение
Лимит входа1 000 000 токенов
Выходmax_tokens до 32 768; по умолчанию 16 384
Усилие рассужденияminimal, low, medium (по умолчанию), high
Структурированный выводresponse_format, включая режим JSON-объекта
ИнструментыДо 128 определений функций; их выполняет ваше приложение; tool_choice принимает auto, none, required или одну именованную функцию
Прочие параметрыТемпература (по умолчанию 1), top-p, seed, до 4 стоп-последовательностей; без parallel_tool_calls

Тарифы зависят от суммарного числа входных токенов: сравните стандартный уровень тарификации и уровень для длинного контекста.

Всего входных токеновВход без кэша / 1 млнВход из кэша / 1 млнВыход / 1 млн
Не более 200 000$1.80$0.18$10.80
Более 200 000$3.60$0.36$16.20

Оставьте температуру по умолчанию. Google рекомендует это для моделей Gemini 3, а более низкие значения могут привести к зацикливанию модели. Формируйте вывод с помощью response_format и системного сообщения.

Сколько на самом деле стоит вызов

Стоимость = входные токены x тариф входа + выходные токены x тариф выхода, причём уровень определяется суммарным входом (токены из кэша учитываются). В примерах вход без кэша и 4 000 выходных токенов в сумме:

ВходРасчётИтого
150 0000.15 x $1.80 + 0.004 x $10.80$0.3132
200 0000.20 x $1.80 + 0.004 x $10.80$0.4032
200 0010.200001 x $3.60 + 0.004 x $16.20$0.7848
250 0000.25 x $3.60 + 0.004 x $16.20$0.9648
600 0000.60 x $3.60 + 0.004 x $16.20$2.2248
1 000 0001.00 x $3.60 + 0.004 x $16.20$3.6648

Токены рассуждения тарифицируются как выход и делят бюджет max_tokens. При более высоком усилии рассуждения оставляйте запас сверх видимого ответа, который вам нужен: бюджет в 4 000 токенов не гарантирует 4 000 токенов видимого текста.

Один лишний токен сверх 200 000 почти удваивает стоимость вызова, поэтому если убрать 5 000 токенов старой переписки из пакета в 203 000 токенов, это сэкономит около 50 %.

Эту цифру умножают три фактора:

  • Каждый раунд инструмента заново отправляет пакет. Цикл инструментов из трёх раундов над пакетом в 250 000 токенов обходится примерно в $0.90 входа за раунд, $2.70 всего, не считая выхода.
  • Токены из кэша дешевле, но здесь ими нельзя управлять. Тариф кэша ($0.36 выше порога) применяется к входу, обслуженному из кэша. Например, 300 000 токенов из кэша плюс 5 000 новых и 4 000 выходных стоят около $0.19 против $1.16 без кэша. Поле cachedContent формата Gemini на этом маршруте отклоняется, поэтому планируйте бюджет без кэша и проверьте итоговую стоимость после первого запуска.
  • Холд на балансе использует весь ваш max_tokens. Прежде чем текстовый запрос выполнится, платформа резервирует вход плюс полный max_tokens по цене модели: примерно $4.13 за 1 000 000 входных токенов и 32 768 выходных. Смотрите код ошибки: 40201 означает недостаточный баланс для холда; 40202 — лимит расходов. В первом случае уменьшите завышенный бюджет выхода, во втором проверьте лимиты ключа и workspace. Публичные URL изображений также заставляют холд покрывать весь лимит входа; загруженные или встроенные изображения вместо этого используют фиксированный лимит на изображения.

После первого вызова прочитайте заголовок ответа X-Spicy-Task-Id и найдите задачу: её стоимость окончательна, когда settled равно true. По ней и по usage из стрима калибруйте каждую следующую оценку.

Нужно ли отправлять весь пакет?

Отправляйте весь пакет, когда ответ зависит от связей по всему материалу: проверка непрерывности по сезону, вопрос «что изменилось» по полному набору спецификаций, поиск противоречий между сценариями и карточками персонажей. Отправляйте фрагмент, когда вопрос касается одной сцены или одного персонажа. Вопросу о реквизите Мары в сцене 18 нужны карточка персонажа и сцены 12 и 18, а не весь сезон.

Долгая память чат-приложения может отличаться от этого эндпоинта: приложение может извлекать выбранные фрагменты или сжимать старые реплики, тогда как API видит только сообщения, отправленные вместе с запросом.

Большое окно входа не гарантирует, что каждая деталь будет найдена. Найти несколько разбросанных фактов сложнее, чем один, а старые черновики могут конкурировать с текущей версией. Ценовой порог не является границей точности. Для узкой проверки:

  • Разбейте сезон на арки до 150 000 токенов и проверяйте каждую по тем же карточкам персонажей.
  • Ставьте вопрос и правила вывода в самом конце, после всего материала, как Google рекомендует для длинных промптов.
  • Помечайте каждый фрагмент меткой (SCRIPT_V3 / scene 12) и требуйте, чтобы ответы цитировали только переданные метки. Затем проверьте, что каждая процитированная метка есть в вашем пакете.
  • Просите конфликты и места, а не переписывание. Ответ в 32 768 токенов всё равно не вместит переписанный сезон.
  • Не включайте устаревшие черновики. Две версии сцены 12 в одном пакете — вот как старый реквизит оказывается процитирован как актуальный.

Та же логика бюджета с другими тарифами разобрана в руководстве по стоимости Claude Sonnet 4.6 и в руководстве Claude Opus по длинным документам.

Подготовьте текстовый пакет

Маршрут принимает текстовые части и части image_url. Для проверки непрерывности по отсканированному сценарию OCR даёт текст с поиском и устойчивые метки сцен: исправьте повреждённые имена и номера сцен до сборки пакета. URL PDF, вставленный в текстовое сообщение, не читается как документ. Экспортируйте сценарий, заметки о персонажах и шот-лист как текст с устойчивыми метками:

text
CHARACTERS_V2
Mara: 32, photographer. Keeps a copper thermos with a blue band.
Jon: 35, composer. Owns the red leather case.

SCRIPT_V3 / scene 12
Mara puts the thermos on the railway bench. Jon carries the case.

SCRIPT_V3 / scene 18
Jon offers Mara the thermos.

Четыре английских символа на токен — грубая оценка для предварительного отбора, а не способ рассчитать цену запроса на границе: код, имена и неанглийский текст токенизируются иначе. Оставляйте большой запас ниже 200 000, включайте в оценку системный промпт и определения инструментов и сверяйте реальное число с возвращённым usage.

Превратите находку в изменение сцены

В этом пакете сцена 12 в последний раз помещает термос у Мары, а сцена 18 отдаёт его Джону без передачи. Полезный ответ указывает на этот разрыв и предлагает выбор:

  • Показать, как Джон забирает его до сцены 18, если момент должен показать внимательность.
  • Поручить Маре забрать его самой, если сцена должна сохранить дистанцию между ними.

Выберите момент отношений, затем попросите одну реплику, которая его реализует. Отчёт модели помогает найти разрыв; что означает действие, по-прежнему решает автор. Проверка не должна придумывать промежуточную сцену и цитировать её как исходный материал. Для библии сериала тот же подход находит сцены, которые предполагают примирение раньше, чем сценарий его показывает: спросите о последнем установленном состоянии отношений, о первой противоречащей сцене и о недостающем переходе.

Сначала попробуйте в Playground

  1. Откройте Gemini 3.1 Pro Preview и переключитесь на Playground.
  2. Вставьте CHARACTERSV2 и две сцены SCRIPTV3. Спросите, где термос переходит из рук в руки без показанной передачи.
  3. Выберите, кто его заберёт, Джон или Мара, затем попросите одну реплику, которая устанавливает этот момент.

Отправьте потоком

Задайте SPICY_API_KEY и отправьте тот же пакет сцен из своего приложения. Стриминг позволяет избежать отсечения запросов без стриминга примерно через 100 секунд на периферии; подробности реализации есть в руководстве по чату.

bash
INTENT_KEY=$(uuidgen)
curl --fail-with-body -sN --max-time 600 https://api.spicyapi.ai/v1/chat/completions \
  -H "Authorization: Bearer $SPICY_API_KEY" \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $INTENT_KEY" \
  -D reply.headers -o reply.sse \
  -d '{
    "model": "google/gemini-3.1-pro-preview/chat",
    "stream": true,
    "stream_options": {"include_usage": true},
    "reasoning_effort": "low",
    "max_tokens": 4000,
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Return JSON with conflicts and suggested_fixes arrays. Cite only supplied scene labels. Do not invent missing scenes."},
      {"role": "user", "content": "Fictional adults: Mara, 32, and Jon, 35. SCRIPT_V3 / scene 12: Mara leaves her blue-banded copper thermos on the railway bench. Jon carries his red case. SCRIPT_V3 / scene 18: Jon hands Mara the thermos. Identify any missing prop handoff."}
    ]
  }'

Добавляйте инструмент, только если информация вне пакета

Держите поиск по персонажам вне промпта, если эталонная запись часто меняется. Дайте модели узкую функцию только для чтения, например get_character, и пусть приложение возвращает эту запись. Ограничьте число раундов: четыре раунда над одним большим пакетом могут стоить четырёх чтений входа. Для фиксированной проверки двух сцен проще и дешевле положить факты в промпт.

Нативные Search и Maps grounding от Google — отдельные интеграции; этот маршрут чата использует функции, которые выполняет ваше приложение. Рецепты чата показывают полный цикл инструментов.

Пусть Agent подготовит вызов

Для повторяющихся проверок непрерывности попросите своего Agent для программирования использовать SpicyAPI Skill: «Прочитай google/gemini-3.1-pro-preview/chat, затем адаптируй пример под мой ввод; покажи запрос перед запуском». Запрос через CLI — spicyapi models get google/gemini-3.1-pro-preview/chat --json; запрос через MCP — spicyapi_model_get с model: "google/gemini-3.1-pro-preview/chat". Вызовы чата используют совместимый клиент или API чата; команды медиазадач не генерируют ответы чата.

Проекты с контентом для взрослых

Индексация сценариев, проверки непрерывности и производственные заметки подходят хорошо. Откровенная проза менее надёжна: SpicyAPI не добавляет на этот маршрут фильтр контента, но модель может отказать или смягчить запрос. В наших тестах в сентябре 2026 года письменный контент уровня L3 был выполнен полностью в 1 из 3 запросов, а написание интимных сцен — в 4 из 9. В тестах интимных сцен рамка вымысла внутри запроса сработала 3 из 3 раз, один системный промпт — 1 из 3, прямые запросы — 0 из 3. Запрос в рамке вымысла даёт этому рабочему процессу лучшую отправную точку, чем опора только на системное сообщение, но выбирайте другую модель, если главный результат — надёжная откровенная проза. Подробности есть в обзоре Gemini 3.1 Pro.

Частые сбои

СимптомРешение
Части PDF, видео или аудио отклоненыЭтот маршрут принимает текстовые части и части image_url; извлеките текст из PDF или прогоните сканы через OCR для рабочего процесса с текстовым пакетом
524 или оборванное соединение на большом вызовеИспользуйте стриминг; проверьте исходную задачу и её расчёт, прежде чем повторять
402 при достаточном балансе40201: уменьшите завышенный бюджет выхода или пополните баланс под холд; 40202: проверьте лимиты расходов ключа и workspace
Результат инструмента игнорируетсяСохраните сообщение ассистента с вызовом инструмента и сопоставьте tool_call_id
Выдуманная ссылка на сценуТребуйте переданные метки, затем проверяйте каждую процитированную метку
Обрезанный JSONУвеличьте max_tokens с запасом на рассуждение, снизьте усилие рассуждения или попросите меньше конфликтов
Счёт выше ожидаемогоСуммарный вход превысил 200 000, или раунды инструментов заново отправляли пакет
Старый реквизит процитирован как актуальныйУберите из пакета устаревшие черновики

Используйте страницу модели, чтобы узнать актуальные тарифы и попробовать маршрут в Playground. Это preview-модель, поэтому заранее решите, какая модель её заменит, если она изменится до того, как возьмёт на себя продакшен-трафик.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski