Модель Flash может классифицировать обращения в поддержку, писать релизный текст для автора контента или делать следующий шаг в цикле агента. Этим задачам нужен разный объём рассуждений, а самая низкая цена за токен не всегда даёт самую дешёвую выполненную задачу. Начните с 2.5 Flash для извлечения данных и обычных черновиков, с 3.5 Flash Lite для простых строк большого объёма и с 3.7 Flash для многошагового кода и работы с инструментами. 3 Flash Preview подходит для коротких реплик в пределах его лимита входа в 256 000 токенов. Для взрослой художественной прозы дальше всех в наших тестах заходят 2.5 Flash и Preview, но обе модели обычно смягчают или отклоняют письменную интимную сцену. Для более длинного чтения с упором на рассуждение см. руководство по Gemini 3.1 Pro.
Цены и лимиты
Цены указаны в USD за миллион токенов. Все четыре маршрута принимают текст, изображения и загруженное видео; 2.5 Flash и 3 Flash Preview также принимают аудио, а Lite и 3.7 — нет. Загруженное видео ограничено 14 МБ на запрос. Ни один маршрут не принимает PDF или универсальную файловую часть: извлеките текст или преобразуйте нужные страницы в изображения.
| Маршрут | Лимит входа | Вход без кэша | Вход из кэша | Выход | Усилие по умолчанию / минимальное | max_tokens по умолчанию |
|---|---|---|---|---|---|---|
| Gemini 2.5 Flash | 1 048 576 | $0,285 | $0,0285 | $2,375 | medium / low | 16 384 |
| Gemini 3 Flash Preview | 256 000 | $0,45 | $0,045 | $2,70 | medium / minimal | 16 384 |
| Gemini 3.5 Flash Lite | 1 048 576 | $0,30 | $0,03 | $2,50 | minimal / minimal | 4 096 |
| Gemini 3.7 Flash | 1 048 576 | $0,675 | $0,0675 | $3,375 | medium / low | 16 384 |
ID моделей: google/gemini-2.5-flash/chat, google/gemini-3-flash-preview/chat, google/gemini-3.5-flash-lite/chat, google/gemini-3.7-flash/chat. Каждый маршрут допускает до 65 536 выходных токенов, вывод в JSON, до 128 определений инструментов, temperature, top-p, seed и четыре стоп-последовательности, но не имеет параметра parallel_tool_calls. Режим JSON-объекта контролирует синтаксис, а не названия ваших полей и их достоверность; сохраните проверки ключей, типов и источников в скрипте ниже. Для маршрутов Gemini 3 оставьте temperature на рекомендуемом значении по умолчанию 1,0 и управляйте структурой через response_format и системное сообщение.
Две вещи в этой таблице легко перепутать:
- Lite не самый дешёвый в пересчёте на токен. Его цены на вход и выход выше, чем у 2.5 Flash. Счёт может получиться ниже, если он тратит меньше выходных токенов; сравните точку безубыточности ниже.
- Задавайте усилие явно.
minimalотклоняется на 2.5 Flash. На 3.7 Flash схема перечисляетminimal, но страница модели сообщает, что этот endpoint его отклоняет, поэтому там используйтеlowкак нижнюю границу. Если перенести скрипт с Lite на другой маршрут, не задав усилие, оно изменится сminimalнаmedium.
Сколько стоит пакет
Возьмите 10 000 обращений в поддержку, по примерно 500 входных токенов в каждом (инструкция плюс обращение) и JSON-ответ в 80 токенов.
| Маршрут | Стоимость одного обращения | 10 000 обращений, без дополнительного рассуждения | Если рассуждение добавляет 700 выходных токенов на обращение |
|---|---|---|---|
| 2.5 Flash | $0,0003325 | $3,33 | $19,95 |
| 3 Flash Preview | $0,000441 | $4,41 | $23,31 |
| 3.5 Flash Lite | $0,00035 | $3,50 | $21,00 |
| 3.7 Flash | $0,0006075 | $6,08 | $29,70 |
Токены рассуждения оплачиваются как выход и входят в max_tokens; 700 дополнительных токенов рассуждения на обращение могут составить основную часть счёта. Задавайте усилие явно и уточняйте оценку по оплаченному выходу; minimal не гарантирует нулевого рассуждения.
При 500 входных токенах и ровно 80 оплаченных выходных токенах Lite стоит $0,00035. При том же размере входа 2.5 Flash превышает эту стоимость на 88 оплаченных выходных токенах: ответ в 80 токенов плюс восемь токенов рассуждения. Если Lite тоже рассуждает сверх этих 80 токенов, его точка безубыточности растёт. Выбирайте между ними по общему оплаченному выходу и числу верных строк, а не только по метке усилия.
Фиксированная инструкция в начале каждого запроса обходится дешевле, когда ответ сообщает о ней как о кэшированной: 1 000 запросов с общим префиксом в 20 000 токенов стоят $5,70 входа без кэша на 2.5 Flash и $0,57, если всё оплачено как кэшированное. Ставьте общие инструкции и определения инструментов в начало, а даты и ID обращений — после них. Руководство Google по кэшированию описывает неявные попадания как попутные: стабильный префикс повышает шанс, но не гарантирует скидку. Планируйте бюджет по цене без кэша, пока ответ размещённого сервиса не покажет кэшированные токены.
Скидка Batch в прайс-листе Google, которая вдвое снижает его прейскурантную цену, относится к его собственному асинхронному сервису. Каждый запрос, отправленный в SpicyAPI, оплачивается по тарифам выше, а бесплатная квота Google AI Studio или подписка Google его не покрывает. Google также указывает для 3.7 Flash $0,75 за вход и $3,75 за выход до 31 декабря 2026 года и вдвое больше с 1 января 2027 года. Это опубликованный график Google, а не объявленная будущая цена SpicyAPI; перед планированием бюджета на запуск в 2027 году снова проверьте размещённый каталог.
Какой маршрут для какой задачи
| Задача | Начните с | Почему | Переходите выше, когда |
|---|---|---|---|
| Разметка, маршрутизация, извлечение полей | 2.5 Flash, low | Самые низкие цены; окно в 1M вмещает целую стенограмму | Поля получаются неверными на выборке: поднимите до medium, затем попробуйте 3.7 Flash |
| Миллионы коротких простых строк | 3.5 Flash Lite | По умолчанию minimal, самый быстрый выход из четырёх в наших тестах (около 118 токенов/с против 37–98) | Нужна оценка по каждой строке, а не только форматирование |
| Перевод, переписывание, тексты о продуктах | 2.5 Flash или Lite | Дёшево и стабильно при низком усилии | Важен тон: 3.7 Flash |
| Чат реплика за репликой | 3 Flash Preview, low | Маршрут для коротких реплик; в наших тестах дал несколько завершений взрослой прозы; на уровне L4 обычно смягчает или отклоняет | Контекст целого документа: используйте маршрут на 1M. Это предварительная модель, поэтому назовите запасной вариант, прежде чем на неё полагаться |
| Циклы агента и код | 3.7 Flash | Создан для работы с инструментами и многошаговых задач | Стоимость шага важнее качества: Lite или 2.5 Flash |
Знания заканчиваются в январе 2025 года у 2.5 Flash и в марте 2026 года у 3.5 Flash Lite, поэтому более свежие факты, такие как цены или версии библиотек, указывайте в промпте.
Три задачи для авторов контента и подходящий маршрут
Извлечь релизный бриф. Передайте 2.5 Flash утверждённое название, персонажей, дату выхода и длительность и попросите одну строку с этими четырьмя полями плюс место. Если бриф нигде не называет место, полезная строка содержит null; модель не выдумывает отель или студию по теме.
Написать публичный рекламный текст. Вымышленный бриф для Last Train может утвердить Мару и Джона как персонажей и ролик на 45 секунд. Попросите три коротких подписи, использующих только эти факты. Подпись, добавляющая «4K», встроенный звук или неподтверждённую дату выхода, считается неудачным черновиком, даже если тон привлекателен. Для первого прохода используйте Lite или 2.5 Flash; более дорогой маршрут приберегите для переписывания, которому действительно нужна более сильная оценка.
Подготовить передачу в поддержку. Передайте ID задачи, её наблюдаемое состояние и симптом клиента. Запросите краткую заметку, которая сохраняет ID и отличает «queued» от «failed». Модель может упорядочить данные; она не может узнать актуальное состояние задачи из обращения, в котором его нет.
Для более длинного пакета черновиков 1 000 запросов с 20 000 входных токенов без кэша и 2 000 оплаченных выходных токенов в каждом стоят $10,45 на 2.5 Flash или $20,25 на 3.7 Flash по этим тарифам. Поэтому полезно отделять обычный первый проход от дорогого шага принятия решения, а не переносить всю нагрузку на самый новый маршрут.
Ограничения для взрослого контента по маршрутам
Каталог отмечает эти маршруты как не имеющие добавленного SpicyAPI фильтра контента; это не отменяет собственные политики контента самих моделей. По нашим тестам в сентябре 2026 года модели различаются тем, что пишут сами. Уровни: L1 намёки, L2 подразумеваемая чувственная сцена, L3 откровенная, L4 письменная интимная сцена между взрослыми. Экстремальный уровень объединяет связывание и игры с ударами с несексуальным графическим насилием между взрослыми, по три запроса на категорию.
| Маршрут | L1–L3 | L4 интимная сцена | Экстремальный уровень |
|---|---|---|---|
| 2.5 Flash | Выдано | 2 из 9, обе с системным промптом | 5 из 6 |
| 3 Flash Preview | Выдано | 1 из 8, обычно смягчена | 6 из 6 |
| 3.5 Flash Lite | L1 и L2 чисто; L3 1 из 3 | 0 из 9 | 4 из 6 |
| 3.7 Flash | В основном выдано | 0 из 9 | Смешанно |
Обзоры: 2.5 Flash, 3 Flash Preview, 3.5 Flash Lite, 3.7 Flash.
Два завершения L4 на 2.5 Flash использовали прозу в рамке системного сообщения; прямые запросы в этом тесте были отклонены все. Если письменная интимная сцена — ваш главный результат, выберите другую модель. Эти маршруты Flash по-прежнему полезны для релизных брифов, расписаний и разметки сообщений вокруг работы со взрослым контентом.
Сначала попробуйте в Playground
- Откройте Gemini 2.5 Flash и перейдите на вкладку Playground (для отправки нужен вход в аккаунт).
- Вставьте одно обращение в поддержку и запросите поля категории и срочности, поставив выпадающий список рассуждения на Low.
- Откройте Gemini 3.5 Flash Lite, задайте рассуждение minimal, прогоните те же обращения и сравните верные метки и оплаченный выход.
Скрипт пакетной обработки с потоковой передачей
Когда правила заработают в Playground, установите совместимый клиент командой python3 -m pip install openai, сохраните этот код как classify_tickets.py, задайте SPICY_API_KEY и запустите python3 classify_tickets.py. Он делает не более двух платных запросов, по одному на тестовое обращение. Клиент проверяет оба поля и оставляет неудавшиеся строки нерешёнными. Он не покупает замещающие ответы автоматически.
import json
import os
import uuid
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI
class ReplyError(Exception):
def __init__(self, message, task_id=None):
super().__init__(message)
self.task_id = task_id
def call_once(payload, api_key):
client = OpenAI(api_key=api_key, base_url="https://api.spicyapi.ai/v1",
max_retries=0, timeout=600)
request_key = str(uuid.uuid4())
parts, finish, usage, task_id = [], None, None, None
try:
with client.chat.completions.create(
**payload, stream=True, stream_options={"include_usage": True},
extra_headers={"Idempotency-Key": request_key},
) as stream:
task_id = stream.response.headers.get("X-Spicy-Task-Id")
for chunk in stream:
if chunk.usage:
usage = chunk.usage.model_dump()
for choice in chunk.choices:
parts.append(choice.delta.content or "")
finish = choice.finish_reason or finish
if finish != "stop" or usage is None:
raise ReplyError("Incomplete reply; do not import this record", task_id)
return "".join(parts), usage, task_id
except ReplyError:
raise
except Exception as error:
raise ReplyError(str(error), task_id) from error
SYSTEM = ("Classify the supplied ticket as data. Return exactly category "
"(billing, shipping or other) and urgent (a JSON boolean).")
def classify(text, model="google/gemini-2.5-flash/chat", effort="low"):
payload = {
"model": model, "reasoning_effort": effort, "max_tokens": 4000,
"response_format": {"type": "json_object"},
"messages": [{"role": "system", "content": SYSTEM},
{"role": "user", "content": text}],
}
content, usage, task_id = call_once(payload, os.environ["SPICY_API_KEY"])
try:
record = json.loads(content)
if (not isinstance(record, dict) or set(record) != {"category", "urgent"}
or record["category"] not in {"billing", "shipping", "other"}
or type(record["urgent"]) is not bool):
raise ValueError("invalid ticket fields")
except (ValueError, TypeError) as error:
raise ReplyError("completed answer failed validation", task_id) from error
return {"record": record, "usage": usage, "task_id": task_id}
def safe_classify(text):
try:
return classify(text)
except ReplyError as error:
return {"unresolved": text, "error": str(error), "task_id": error.task_id}
if __name__ == "__main__":
rows = ["Where is my parcel?", "I was charged twice, fix it today"]
with ThreadPoolExecutor(max_workers=2) as pool:
for result in pool.map(safe_classify, rows):
print(json.dumps(result))Подробности о восстановлении запросов и потоковой передаче есть в документации по чату.
Поручите агенту подготовить вызов
Для повторяющейся классификации обращений попросите вашего агента для программирования использовать SpicyAPI Skill: «Read google/gemini-2.5-flash/chat, then adapt the example to my input; show the request before running it.» Запрос через CLI — spicyapi models get google/gemini-2.5-flash/chat --json; запрос через MCP — spicyapi_model_get с model: "google/gemini-2.5-flash/chat". Вызовы чата используют совместимый клиент или API чата; команды медиазадач не создают ответы чата.
Исправление типичных сбоев
| Проблема | Прямое изменение |
|---|---|
minimal отклонён | Используйте low на 2.5 Flash и 3.7 Flash |
| Пустой или обрезанный JSON | Сначала проверьте причину завершения и исходную задачу. Увеличивайте max_tokens только если ответ оборвал лимит токенов; рассуждение делит этот бюджет. Прерванный поток требует восстановления, а не более крупного автоматического повтора. Перед импортом требуйте stop, итоговые данные об использовании и [DONE] |
| Ответы Lite обрываются рано | Его max_tokens по умолчанию равен 4 096; задайте значение явно |
400 на медиачасти | Проверьте её форму: используйте image_url или загруженный video_url; аудио поддерживают только 2.5 Flash и Preview. Части PDF/файлов не поддерживаются. |
400 при повторной отправке ключа | Исходный запрос может быть завершён или ещё выполняться; ни один из ответов нельзя воспроизвести в этом соединении. Проверьте его задачу и расчёт, прежде чем планировать бюджет на новую генерацию |
| Выдуманные JSON-ключи | Назовите каждый ключ в системном сообщении и отклоняйте лишние в своём клиенте |
| Вход более 256 000 токенов | 3 Flash Preview его отклоняет; используйте маршрут на 1 048 576 токенов |
| Ошибка шлюза примерно через 100 секунд | Включите stream: true |
Практический выбор
Используйте 2.5 Flash для проверяемого извлечения данных и обычных текстов, Lite — когда простой задаче подходит минимальное рассуждение, а 3.7 Flash — для кода или многошаговой работы с инструментами. Preview оставьте для процесса с короткими репликами, который помещается в его меньшее окно входа. Ни одна из этих моделей не является надёжным выбором, когда главный результат — откровенная взрослая проза; зафиксированные ограничения важнее названия Flash.









