Model Flash może klasyfikować zgłoszenia do wsparcia, pisać tekst premierowy dla twórcy albo wykonywać kolejny krok w pętli agenta. Te zadania wymagają różnej ilości rozumowania, a najniższa stawka za token nie zawsze daje najtańsze ukończone zadanie. Zacznij od 2.5 Flash przy ekstrakcji i zwykłym pisaniu, od 3.5 Flash Lite przy prostych wierszach w dużej liczbie, a od 3.7 Flash przy wieloetapowym kodzie i narzędziach. 3 Flash Preview nadaje się do krótkich tur w granicach jego limitu wejścia wynoszącego 256 000 tokenów. W fikcji dla dorosłych najdalej w naszych testach docierają 2.5 Flash i Preview, ale oba zwykle łagodzą lub odrzucają napisaną scenę intymną. Dłuższą lekturę z intensywnym rozumowaniem znajdziesz w przewodniku po Gemini 3.1 Pro.
Ceny i limity
Stawki podano w USD za milion tokenów. Wszystkie cztery trasy przyjmują tekst, obrazy i przesłane wideo; 2.5 Flash i 3 Flash Preview przyjmują także dźwięk, a Lite i 3.7 nie. Przesłane wideo jest ograniczone do 14 MB na żądanie. Żadna trasa nie przyjmuje PDF ani ogólnej części pliku: wyodrębnij tekst lub wyrenderuj odpowiednie strony jako obrazy.
| Trasa | Limit wejścia | Wejście bez pamięci podręcznej | Wejście z pamięci podręcznej | Wyjście | Domyślny / najniższy wysiłek | Domyślne 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 modeli: 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. Każda trasa dopuszcza do 65 536 tokenów wyjścia, wyjście JSON, do 128 definicji narzędzi, temperature, top-p, seed i cztery sekwencje stop, ale nie ma sterowania parallel_tool_calls. Tryb obiektu JSON kontroluje składnię, a nie nazwy Twoich pól ani ich prawdziwość; zachowaj w skrypcie poniżej kontrole kluczy, typów i źródeł. W trasach Gemini 3 pozostaw temperature na zalecanej wartości domyślnej 1,0, a strukturę kontroluj przez response_format i komunikat systemowy.
Dwie rzeczy w tej tabeli łatwo pomylić:
- Lite nie jest najtańsza za token. Jej stawki wejścia i wyjścia są wyższe niż w 2.5 Flash. Rachunek może być niższy, jeśli zużywa mniej tokenów wyjścia; porównaj próg opłacalności poniżej.
- Ustaw wysiłek jawnie.
minimaljest odrzucany w 2.5 Flash. W 3.7 Flash schemat wymieniaminimal, ale strona modelu mówi, że ten endpoint go odrzuca, więc użyj tamlowjako dolnej granicy. Przeniesienie skryptu z Lite na inną trasę bez ustawienia wysiłku zmienia go również zminimalnamedium.
Ile kosztuje partia
Weź 10 000 zgłoszeń do wsparcia, każde z około 500 tokenami wejścia (instrukcja plus zgłoszenie) i odpowiedzią JSON liczącą 80 tokenów.
| Trasa | Koszt jednego zgłoszenia | 10 000 zgłoszeń, bez dodatkowego rozumowania | Jeśli rozumowanie dodaje 700 tokenów wyjścia na zgłoszenie |
|---|---|---|---|
| 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 |
Tokeny rozumowania są rozliczane jako wyjście i wliczają się do max_tokens; 700 dodatkowych tokenów rozumowania na zgłoszenie może zdominować rachunek. Ustaw wysiłek jawnie i doprecyzuj szacunek na podstawie rozliczonego wyjścia; minimal nie gwarantuje zerowego rozumowania.
Przy 500 tokenach wejścia i dokładnie 80 rozliczonych tokenach wyjścia Lite kosztuje $0,00035. Przy tym samym rozmiarze wejścia 2.5 Flash przekracza ten koszt przy 88 rozliczonych tokenach wyjścia: odpowiedzi z 80 tokenów plus ośmiu tokenach rozumowania. Jeśli Lite też rozumuje ponad te 80 tokenów, jej próg opłacalności rośnie. Wybieraj między nimi według łącznego rozliczonego wyjścia i poprawnych wierszy, a nie samej etykiety wysiłku.
Stała instrukcja na początku każdego żądania jest tańsza, gdy odpowiedź raportuje ją jako zapisaną w pamięci podręcznej: 1 000 żądań ze wspólnym prefiksem 20 000 tokenów kosztuje $5,70 wejścia bez pamięci podręcznej w 2.5 Flash i $0,57, jeśli całość zostanie rozliczona jako z pamięci podręcznej. Umieszczaj wspólne instrukcje i definicje narzędzi na początku, a daty i ID zgłoszeń dopiero po nich. Przewodnik Google po pamięci podręcznej opisuje trafienia niejawne jako okazjonalne: stabilny prefiks zwiększa szansę, ale nie gwarantuje zniżki. Planuj budżet według stawki bez pamięci podręcznej, dopóki hostowana odpowiedź nie zgłosi tokenów z pamięci podręcznej.
Rabat Batch w cenniku Google, który zmniejsza o połowę jego cenę katalogową, należy do osobnej usługi asynchronicznej. Każde żądanie wysłane do SpicyAPI jest rozliczane według powyższych stawek, a bezpłatny limit Google AI Studio ani subskrypcja Google go nie pokrywa. Google podaje też dla 3.7 Flash $0,75 za wejście i $3,75 za wyjście do 31 grudnia 2026 oraz dwukrotność od 1 stycznia 2027. To opublikowany harmonogram Google, a nie zapowiedziana przyszła stawka SpicyAPI; sprawdź ponownie hostowany katalog, zanim zaplanujesz budżet na start w 2027.
Jaka trasa do jakiego zadania
| Zadanie | Zacznij od | Dlaczego | Przejdź wyżej, gdy |
|---|---|---|---|
| Etykietowanie, routing, ekstrakcja pól | 2.5 Flash, low | Najniższe stawki; okno 1M mieści całą transkrypcję | Pola wychodzą błędnie na próbce: podnieś do medium, potem wypróbuj 3.7 Flash |
| Miliony krótkich, prostych wierszy | 3.5 Flash Lite | Domyślnie minimal, najszybsze wyjście z czterech w naszych testach (około 118 tokenów/s wobec 37–98) | Potrzebujesz oceny przy każdym wierszu, a nie samego formatowania |
| Tłumaczenie, przepisywanie, teksty produktowe | 2.5 Flash lub Lite | Tanio i stabilnie przy niskim wysiłku | Liczy się ton: 3.7 Flash |
| Czat tura po turze | 3 Flash Preview, low | Trasa do krótkich tur z kilkoma ukończeniami fikcji dla dorosłych w naszych testach; na poziomie L4 zwykle złagodzona lub odrzucona | Kontekst całego dokumentu: użyj trasy 1M. To model w wersji zapoznawczej, więc wskaż swój wariant zapasowy, zanim na nim polegasz |
| Pętle agenta i kod | 3.7 Flash | Stworzona do używania narzędzi i pracy wieloetapowej | Koszt kroku ważniejszy niż jakość: Lite lub 2.5 Flash |
Wiedza kończy się w styczniu 2025 w 2.5 Flash i w marcu 2026 w 3.5 Flash Lite, więc nowsze fakty, takie jak ceny czy wersje bibliotek, umieść w prompcie.
Trzy zadania twórcy i trasa do użycia
Wyodrębnij brief premierowy. Podaj 2.5 Flash zatwierdzony tytuł, postaci, datę premiery i czas trwania oraz poproś o jeden wiersz z tymi czterema polami plus lokalizacją. Jeśli brief nigdy nie wymienia lokalizacji, użyteczny wiersz zawiera null; model nie wymyśla hotelu ani studia na podstawie tematu.
Napisz publiczny tekst promocyjny. Fikcyjny brief do Last Train może zatwierdzać Marę i Jona jako postaci oraz 45-sekundowy klip. Poproś o trzy krótkie podpisy wykorzystujące wyłącznie te fakty. Podpis, który dodaje „4K”, natywny dźwięk albo niepotwierdzoną datę premiery, jest nieudanym szkicem, nawet jeśli ton jest atrakcyjny. Do pierwszego przebiegu użyj Lite lub 2.5 Flash; droższą trasę zachowaj na przepisanie, które naprawdę wymaga lepszej oceny.
Przygotuj przekazanie do wsparcia. Podaj ID zadania, jego zaobserwowany stan i objaw zgłaszany przez klienta. Poproś o zwięzłą notatkę, która zachowuje ID i odróżnia „queued” od „failed”. Model potrafi uporządkować dowody; nie odkryje bieżącego stanu zadania ze zgłoszenia, które nigdy go nie zawiera.
Dla dłuższego pakietu pisania 1 000 żądań z 20 000 tokenów wejścia bez pamięci podręcznej i 2 000 rozliczonych tokenów wyjścia każde kosztuje $10,45 w 2.5 Flash albo $20,25 w 3.7 Flash przy tych stawkach. Dlatego warto oddzielić rutynowy pierwszy przebieg od kosztownego kroku decyzyjnego, zamiast przenosić całe obciążenie na najnowszą trasę.
Limity treści dla dorosłych według trasy
Katalog oznacza te trasy jako pozbawione dodanego przez SpicyAPI filtra treści; nie usuwa to własnych zasad treści modeli. Według naszych testów z września 2026 modele różnią się tym, co same napiszą. Poziomy: L1 sugestywny, L2 sugerowana scena zmysłowa, L3 mocny, L4 napisana scena intymna między dorosłymi. Poziom ekstremalny łączy krępowanie i zabawy z uderzeniami z graficzną przemocą między dorosłymi, po trzy żądania na kategorię.
| Trasa | L1–L3 | L4 scena intymna | Poziom ekstremalny |
|---|---|---|---|
| 2.5 Flash | Dostarczone | 2 z 9, obie z promptem systemowym | 5 z 6 |
| 3 Flash Preview | Dostarczone | 1 z 8, zwykle złagodzona | 6 z 6 |
| 3.5 Flash Lite | L1 i L2 czyste; L3 1 z 3 | 0 z 9 | 4 z 6 |
| 3.7 Flash | Głównie dostarczone | 0 z 9 | Różnie |
Recenzje: 2.5 Flash, 3 Flash Preview, 3.5 Flash Lite, 3.7 Flash.
Dwa ukończenia L4 w 2.5 Flash wykorzystały fikcję osadzoną w komunikacie systemowym; bezpośrednie żądania zostały w tym teście wszystkie odrzucone. Jeśli napisana scena intymna jest Twoim kluczowym rezultatem, wybierz inny model. Te trasy Flash nadal przydają się przy briefach premierowych, harmonogramach i tagowaniu wiadomości wokół prac dla dorosłych.
Najpierw wypróbuj w Playground
- Otwórz Gemini 2.5 Flash i przejdź na kartę Playground (wysyłanie wymaga zalogowania).
- Wklej jedno zgłoszenie do wsparcia i poproś o pola kategorii i pilności, ustawiając listę rozwijaną rozumowania na Low.
- Otwórz Gemini 3.5 Flash Lite, ustaw rozumowanie na minimal, uruchom te same zgłoszenia i porównaj poprawne etykiety oraz rozliczone wyjście.
Skrypt partii ze streamingiem
Gdy reguły działają w Playground, zainstaluj zgodnego klienta poleceniem python3 -m pip install openai, zapisz ten kod jako classify_tickets.py, ustaw SPICY_API_KEY i uruchom python3 classify_tickets.py. Wykonuje on najwyżej dwa płatne żądania, po jednym na przykładowe zgłoszenie. Klient waliduje oba pola i pozostawia nieudane wiersze nierozwiązane. Nie kupuje automatycznie zastępczych odpowiedzi.
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))Szczegóły odzyskiwania żądań i streamingu znajdziesz w dokumentacji czatu.
Pozwól agentowi przygotować wywołanie
Przy powtarzanej klasyfikacji zgłoszeń poproś swojego agenta programistycznego o użycie SpicyAPI Skill: „Read google/gemini-2.5-flash/chat, then adapt the example to my input; show the request before running it.” Zapytanie przez CLI to spicyapi models get google/gemini-2.5-flash/chat --json; zapytanie przez MCP to spicyapi_model_get z model: "google/gemini-2.5-flash/chat". Wywołania czatu używają zgodnego klienta lub API czatu; polecenia zadań medialnych nie generują odpowiedzi czatu.
Naprawianie typowych błędów
| Problem | Bezpośrednia zmiana |
|---|---|
minimal odrzucony | Użyj low w 2.5 Flash i 3.7 Flash |
| Pusty lub ucięty JSON | Najpierw sprawdź powód zakończenia i oryginalne zadanie. Zwiększ max_tokens tylko wtedy, gdy limit tokenów ściął odpowiedź; rozumowanie dzieli ten budżet. Przerwany strumień wymaga odzyskania, a nie większego automatycznego ponowienia. Przed importem wymagaj stop, końcowych danych o zużyciu i [DONE] |
| Odpowiedzi Lite kończą się wcześnie | Jej domyślne max_tokens to 4 096; ustaw je jawnie |
400 przy części medialnej | Sprawdź jej kształt: użyj image_url lub przesłanego video_url; dźwięk jest ograniczony do 2.5 Flash i Preview. Części PDF/plik nie są obsługiwane. |
400 przy ponownym wysłaniu klucza | Oryginalne żądanie mogło się zakończyć lub nadal trwać; żadnej z tych odpowiedzi nie można odtworzyć w tym połączeniu. Sprawdź jego zadanie i rozliczenie, zanim zaplanujesz budżet na nowe generowanie |
| Wymyślone klucze JSON | Nazwij każdy klucz w komunikacie systemowym i odrzucaj dodatkowe po stronie klienta |
| Wejście powyżej 256 000 tokenów | 3 Flash Preview je odrzuca; użyj trasy na 1 048 576 tokenów |
| Błąd bramki po około 100 sekundach | Włącz stream: true |
Praktyczny wybór
Używaj 2.5 Flash do zwalidowanej ekstrakcji i zwykłych tekstów, Lite, gdy proste zadanie zyskuje na minimalnym rozumowaniu, a 3.7 Flash do kodu lub wieloetapowej pracy z narzędziami. Preview zachowaj na przepływ z krótkimi turami, który mieści się w jego mniejszym oknie wejścia. Żadna z tych tras nie jest niezawodnym wyborem, gdy kluczowym rezultatem jest jawna fikcja dla dorosłych; zapisane limity są ważniejsze niż nazwa Flash.









