Przejdź do treści głównej

Porównanie API Gemini Flash: cena, kontekst i limity NSFW

Porównaj cztery API Gemini Flash pod kątem ceny, kontekstu, sterowania rozumowaniem i limitów treści dla dorosłych, ze skryptem streamingu do skopiowania.

Autor
Lydia
Opublikowano
Czas czytania
11 min czytania
Zaktualizowano
Dwie osoby rozmawiają o białych miskach w pracowni ceramicznej z turkusowym piecem.

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.

TrasaLimit wejściaWejście bez pamięci podręcznejWejście z pamięci podręcznejWyjścieDomyślny / najniższy wysiłekDomyślne max_tokens
Gemini 2.5 Flash1 048 576$0,285$0,0285$2,375medium / low16 384
Gemini 3 Flash Preview256 000$0,45$0,045$2,70medium / minimal16 384
Gemini 3.5 Flash Lite1 048 576$0,30$0,03$2,50minimal / minimal4 096
Gemini 3.7 Flash1 048 576$0,675$0,0675$3,375medium / low16 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. minimal jest odrzucany w 2.5 Flash. W 3.7 Flash schemat wymienia minimal, ale strona modelu mówi, że ten endpoint go odrzuca, więc użyj tam low jako dolnej granicy. Przeniesienie skryptu z Lite na inną trasę bez ustawienia wysiłku zmienia go również z minimal na medium.

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.

TrasaKoszt jednego zgłoszenia10 000 zgłoszeń, bez dodatkowego rozumowaniaJeś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

ZadanieZacznij odDlaczegoPrzejdź wyżej, gdy
Etykietowanie, routing, ekstrakcja pól2.5 Flash, lowNajniż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 wierszy3.5 Flash LiteDomyś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 produktowe2.5 Flash lub LiteTanio i stabilnie przy niskim wysiłkuLiczy się ton: 3.7 Flash
Czat tura po turze3 Flash Preview, lowTrasa do krótkich tur z kilkoma ukończeniami fikcji dla dorosłych w naszych testach; na poziomie L4 zwykle złagodzona lub odrzuconaKontekst 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 kod3.7 FlashStworzona do używania narzędzi i pracy wieloetapowejKoszt 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ę.

TrasaL1–L3L4 scena intymnaPoziom ekstremalny
2.5 FlashDostarczone2 z 9, obie z promptem systemowym5 z 6
3 Flash PreviewDostarczone1 z 8, zwykle złagodzona6 z 6
3.5 Flash LiteL1 i L2 czyste; L3 1 z 30 z 94 z 6
3.7 FlashGłównie dostarczone0 z 9Róż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

  1. Otwórz Gemini 2.5 Flash i przejdź na kartę Playground (wysyłanie wymaga zalogowania).
  2. Wklej jedno zgłoszenie do wsparcia i poproś o pola kategorii i pilności, ustawiając listę rozwijaną rozumowania na Low.
  3. 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.

python
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

ProblemBezpośrednia zmiana
minimal odrzuconyUżyj low w 2.5 Flash i 3.7 Flash
Pusty lub ucięty JSONNajpierw 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śnieJej domyślne max_tokens to 4 096; ustaw je jawnie
400 przy części medialnejSprawdź 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 kluczaOryginalne żą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 JSONNazwij każdy klucz w komunikacie systemowym i odrzucaj dodatkowe po stronie klienta
Wejście powyżej 256 000 tokenów3 Flash Preview je odrzuca; użyj trasy na 1 048 576 tokenów
Błąd bramki po około 100 sekundachWłą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.

Także w językach English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano

Wypróbuj samodzielnie

Płacisz tylko za to, co uruchomisz — bez planów i subskrypcji.

Zrobione w MiniMax H3 · ByteDance Seedance 2.0 Fast