Ein Flash-Modell kann Support-Tickets klassifizieren, den Veröffentlichungstext eines Creators entwerfen oder in einer Agent-Schleife den nächsten Schritt ausführen. Diese Aufgaben brauchen unterschiedlich viel Reasoning, und der niedrigste Token-Preis ergibt nicht immer die günstigste erledigte Aufgabe. Beginnen Sie mit 2.5 Flash für Extraktion und normale Entwürfe, mit 3.5 Flash Lite für einfache Zeilen in großer Menge und mit 3.7 Flash für mehrstufigen Code und Tool-Einsatz. 3 Flash Preview eignet sich für kurze Gesprächsrunden innerhalb seines Eingabelimits von 256.000 Tokens. Bei erwachsener Fiktion kommen 2.5 Flash und Preview in unseren Tests am weitesten, doch beide entschärfen die geschriebene intime Szene meist oder lehnen sie ab. Für eine längere, reasoning-lastige Lektüre lesen Sie den Gemini-3.1-Pro-Leitfaden.
Preise und Limits
Die Preise gelten in USD pro Million Tokens. Alle vier Routen akzeptieren Text, Bilder und hochgeladene Videos; 2.5 Flash und 3 Flash Preview akzeptieren zusätzlich Audio, Lite und 3.7 nicht. Hochgeladene Videos sind auf 14 MB pro Anfrage begrenzt. Keine Route akzeptiert ein PDF oder einen allgemeinen Dateiteil: Extrahieren Sie den Text oder rendern Sie die relevanten Seiten als Bilder.
| Route | Eingabelimit | Eingabe ohne Cache | Eingabe aus Cache | Ausgabe | Standard / niedrigster Aufwand | Standard-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 |
Modell-IDs: 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. Jede Route erlaubt bis zu 65.536 Ausgabe-Tokens, JSON-Ausgabe, bis zu 128 Tool-Definitionen, Temperature, Top-p, seed und vier Stop-Sequenzen, aber keine Steuerung über parallel_tool_calls. Der JSON-Objektmodus steuert die Syntax, nicht Ihre Feldnamen oder deren Wahrheitsgehalt; behalten Sie die Prüfungen von Schlüsseln, Typen und Quellen im Skript unten bei. Lassen Sie bei den Gemini-3-Routen temperature auf dem empfohlenen Standardwert 1,0 und steuern Sie die Struktur über response_format und die System-Nachricht.
Zwei Dinge in dieser Tabelle verwechselt man leicht:
- Lite ist nicht pro Token am günstigsten. Seine Eingabe- und Ausgabepreise liegen über denen von 2.5 Flash. Die Rechnung kann niedriger ausfallen, wenn es weniger Ausgabe-Tokens verbraucht; vergleichen Sie unten den Break-even.
- Legen Sie den Aufwand ausdrücklich fest.
minimalwird bei 2.5 Flash abgelehnt. Bei 3.7 Flash listet das Schemaminimal, doch die Modellseite sagt, dass dieser Endpunkt es ablehnt; nehmen Sie dort alsolowals Untergrenze. Wer ein Skript von Lite auf eine andere Route umstellt, ohne den Aufwand zu setzen, ändert ihn zugleich vonminimalaufmedium.
Was ein Batch kostet
Nehmen Sie 10.000 Support-Tickets mit je etwa 500 Eingabe-Tokens (Anweisung plus Ticket) und einer JSON-Antwort von 80 Tokens.
| Route | Kosten pro Ticket | 10.000 Tickets, ohne zusätzliches Thinking | Wenn Thinking 700 Ausgabe-Tokens pro Ticket hinzufügt |
|---|---|---|---|
| 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 |
Thinking-Tokens werden als Ausgabe abgerechnet und zählen auf max_tokens an; 700 zusätzliche Thinking-Tokens pro Ticket können die Rechnung dominieren. Legen Sie den Aufwand ausdrücklich fest und verfeinern Sie die Schätzung mit der abgerechneten Ausgabe; minimal garantiert kein Reasoning von null.
Bei 500 Eingabe-Tokens und genau 80 abgerechneten Ausgabe-Tokens kostet Lite $0,00035. Bei gleicher Eingabegröße übersteigt 2.5 Flash diese Kosten ab 88 abgerechneten Ausgabe-Tokens: einer Antwort von 80 Tokens plus acht Thinking-Tokens. Wenn auch Lite über diese 80 Tokens hinaus Reasoning betreibt, steigt sein Break-even. Entscheiden Sie zwischen beiden anhand der gesamten abgerechneten Ausgabe und der korrekten Zeilen, nicht allein anhand des Aufwandslabels.
Eine feste Anweisung am Anfang jeder Anfrage ist günstiger, wenn die Antwort sie als gecacht ausweist: 1.000 Anfragen mit einem gemeinsamen Präfix von 20.000 Tokens kosten bei 2.5 Flash $5,70 Eingabe ohne Cache und $0,57, wenn alles als gecacht abgerechnet wird. Stellen Sie gemeinsame Anweisungen und Tool-Definitionen an den Anfang und Datumsangaben und Ticket-IDs dahinter. Der Caching-Leitfaden von Google beschreibt implizite Treffer als opportunistisch: Ein stabiles Präfix erhöht die Chance, garantiert aber keinen Rabatt. Kalkulieren Sie mit dem Preis ohne Cache, bis die gehostete Antwort gecachte Tokens ausweist.
Der Batch-Rabatt auf der Preisliste von Google, der den Listenpreis halbiert, gehört zu einem eigenen asynchronen Dienst. Jede an SpicyAPI gesendete Anfrage wird zu den oben genannten Preisen abgerechnet, und ein kostenloses Kontingent in Google AI Studio oder ein Google-Abonnement bezahlt sie nicht. Google nennt für 3.7 Flash außerdem $0,75 für Eingabe und $3,75 für Ausgabe bis zum 31. Dezember 2026 und das Doppelte ab dem 1. Januar 2027. Das ist der von Google veröffentlichte Plan, kein angekündigter künftiger SpicyAPI-Preis; prüfen Sie den gehosteten Katalog erneut, bevor Sie einen Start im Jahr 2027 budgetieren.
Welche Route für welche Aufgabe
| Aufgabe | Beginnen mit | Warum | Wechseln, wenn |
|---|---|---|---|
| Labeling, Routing, Feldextraktion | 2.5 Flash, low | Niedrigste Preise; das 1M-Fenster nimmt ein ganzes Transkript auf | Felder kommen in einer Stichprobe falsch zurück: auf medium erhöhen, dann 3.7 Flash testen |
| Millionen kurzer, einfacher Zeilen | 3.5 Flash Lite | Standard minimal, in unseren Tests die schnellste Ausgabe der vier (etwa 118 Tokens/s gegenüber 37 bis 98) | Sie brauchen Urteilsvermögen pro Zeile, nicht nur Formatierung |
| Übersetzung, Umschreiben, Produkttexte | 2.5 Flash oder Lite | Günstig und stabil bei niedrigem Aufwand | Der Ton zählt: 3.7 Flash |
| Chat Runde für Runde | 3 Flash Preview, low | Route für kurze Runden mit einigen Abschlüssen bei erwachsener Fiktion in unseren Tests; auf Stufe L4 meist entschärft oder abgelehnt | Kontext über ganze Dokumente: eine 1M-Route nutzen. Es ist ein Preview-Modell, nennen Sie also Ihren Fallback, bevor Sie sich darauf verlassen |
| Agent-Schleifen und Code | 3.7 Flash | Für Tool-Einsatz und mehrstufige Arbeit gebaut | Die Kosten pro Schritt zählen mehr als die Qualität: Lite oder 2.5 Flash |
Das Wissen endet bei 2.5 Flash im Januar 2025 und bei 3.5 Flash Lite im März 2026; schreiben Sie neuere Fakten wie Preise oder Bibliotheksversionen daher in den Prompt.
Drei Creator-Aufgaben und die passende Route
Ein Release-Briefing extrahieren. Geben Sie 2.5 Flash den freigegebenen Titel, die Figuren, das Veröffentlichungsdatum und die Dauer und bitten Sie um eine Zeile mit diesen vier Feldern plus Ort. Nennt das Briefing nie einen Ort, enthält die brauchbare Zeile null; das Modell erfindet nicht aus dem Thema ein Hotel oder Studio.
Öffentlichen Werbetext entwerfen. Ein fiktives Briefing für Last Train könnte Mara und Jon als Figuren und einen 45-Sekunden-Clip freigeben. Bitten Sie um drei kurze Bildunterschriften, die nur diese Fakten nutzen. Eine Bildunterschrift, die „4K“, nativen Ton oder ein unbestätigtes Veröffentlichungsdatum hinzufügt, ist ein gescheiterter Entwurf, auch wenn der Ton ansprechend ist. Nehmen Sie für den ersten Durchgang Lite oder 2.5 Flash; heben Sie sich eine teurere Route für eine Überarbeitung auf, die wirklich besseres Urteilsvermögen braucht.
Eine Support-Übergabe vorbereiten. Liefern Sie die Task-ID, ihren beobachteten Status und das Symptom des Kunden. Fordern Sie eine knappe Notiz an, die die ID erhält und „queued“ von „failed“ unterscheidet. Das Modell kann die Belege ordnen; den aktuellen Task-Status kann es nicht herausfinden, wenn ihn das Ticket nie enthält.
Für ein längeres Entwurfspaket kosten 1.000 Anfragen mit je 20.000 Eingabe-Tokens ohne Cache und 2.000 abgerechneten Ausgabe-Tokens zu diesen Preisen $10,45 bei 2.5 Flash oder $20,25 bei 3.7 Flash. Deshalb lohnt es sich, einen routinemäßigen ersten Durchgang von einem teuren Entscheidungsschritt zu trennen, statt die ganze Last auf die neueste Route zu verlegen.
Grenzen bei Erwachseneninhalten nach Route
Der Katalog kennzeichnet diese Routen als Routen ohne zusätzlichen SpicyAPI-Inhaltsfilter; das hebt die eigenen Inhaltsrichtlinien der Modelle nicht auf. Nach unseren Tests im September 2026 unterscheiden sich die Modelle darin, was sie von sich aus schreiben. Die Stufen: L1 andeutend, L2 angedeutete sinnliche Szene, L3 stark, L4 eine geschriebene intime Szene zwischen Erwachsenen. Die Extremstufe kombiniert Fesselung und Schlagspiel mit grafischer Gewalt zwischen Erwachsenen, drei Anfragen pro Kategorie.
| Route | L1 bis L3 | L4 intime Szene | Extremstufe |
|---|---|---|---|
| 2.5 Flash | Geliefert | 2 von 9, beide mit System-Prompt | 5 von 6 |
| 3 Flash Preview | Geliefert | 1 von 8, meist entschärft | 6 von 6 |
| 3.5 Flash Lite | L1 und L2 sauber; L3 1 von 3 | 0 von 9 | 4 von 6 |
| 3.7 Flash | Meist geliefert | 0 von 9 | Gemischt |
Testberichte: 2.5 Flash, 3 Flash Preview, 3.5 Flash Lite, 3.7 Flash.
Die beiden L4-Abschlüsse bei 2.5 Flash nutzten Fiktion im Rahmen des Systems; direkte Anfragen wurden in diesem Test alle abgelehnt. Wenn eine geschriebene intime Szene Ihr wesentliches Ergebnis ist, wählen Sie ein anderes Modell. Diese Flash-Routen bleiben nützlich für Release-Briefings, Zeitpläne und das Taggen von Nachrichten rund um Arbeiten für Erwachsene.
Zuerst im Playground ausprobieren
- Öffnen Sie Gemini 2.5 Flash und wechseln Sie zum Tab Playground (zum Senden ist ein Login nötig).
- Fügen Sie ein Support-Ticket ein und bitten Sie um die Felder Kategorie und dringend, mit dem Reasoning-Dropdown auf Low.
- Öffnen Sie Gemini 3.5 Flash Lite, stellen Sie Reasoning auf minimal, führen Sie dieselben Tickets aus und vergleichen Sie korrekte Labels und abgerechnete Ausgabe.
Ein Streaming-Batch-Skript
Wenn die Regeln im Playground funktionieren, installieren Sie den kompatiblen Client mit python3 -m pip install openai, speichern Sie dies als classify_tickets.py, setzen Sie SPICY_API_KEY und führen Sie python3 classify_tickets.py aus. Es sendet höchstens zwei kostenpflichtige Anfragen, eine pro Beispiel-Ticket. Der Client validiert beide Felder und lässt fehlgeschlagene Zeilen ungelöst. Er kauft nicht automatisch Ersatzantworten.
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))Details zur Wiederherstellung von Anfragen und zum Streaming finden Sie in der Chat-Dokumentation.
Einen Agent den Aufruf vorbereiten lassen
Bitten Sie bei wiederholter Ticket-Klassifikation Ihren Coding-Agent, den SpicyAPI Skill zu nutzen: „Read google/gemini-2.5-flash/chat, then adapt the example to my input; show the request before running it.“ Die Abfrage über die CLI lautet spicyapi models get google/gemini-2.5-flash/chat --json; die Abfrage über MCP lautet spicyapi_model_get mit model: "google/gemini-2.5-flash/chat". Chat-Aufrufe nutzen einen kompatiblen Client oder die Chat-API; die Media-Task-Befehle erzeugen keine Chat-Antworten.
Häufige Fehler beheben
| Problem | Direkte Änderung |
|---|---|
minimal abgelehnt | Nutzen Sie low bei 2.5 Flash und 3.7 Flash |
| Leeres oder abgeschnittenes JSON | Prüfen Sie zuerst den Finish-Reason und den ursprünglichen Task. Erhöhen Sie max_tokens nur, wenn das Token-Limit die Antwort abgeschnitten hat; Thinking teilt sich dieses Budget. Ein unterbrochener Stream braucht Wiederherstellung, keinen größeren automatischen Retry. Verlangen Sie stop, finale Nutzungsdaten und [DONE], bevor Sie importieren |
| Lite-Antworten enden früh | Sein Standard-max_tokens beträgt 4.096; setzen Sie es ausdrücklich |
400 bei einem Media-Teil | Prüfen Sie seine Form: Nutzen Sie image_url oder ein hochgeladenes video_url; Audio gibt es nur bei 2.5 Flash und Preview. PDF-/Dateiteile werden nicht unterstützt. |
400, wenn Sie einen Schlüssel erneut senden | Die ursprüngliche Anfrage kann abgeschlossen sein oder noch laufen; keine der beiden Antworten lässt sich an diese Verbindung erneut ausliefern. Prüfen Sie ihren Task und die Abrechnung, bevor Sie eine neue Generierung budgetieren |
| Erfundene JSON-Schlüssel | Benennen Sie jeden Schlüssel in der System-Nachricht und weisen Sie zusätzliche in Ihrem Client zurück |
| Eingabe über 256.000 Tokens | 3 Flash Preview lehnt sie ab; nutzen Sie eine Route mit 1.048.576 Tokens |
| Gateway-Fehler nach etwa 100 Sekunden | Aktivieren Sie stream: true |
Die praktische Wahl
Nutzen Sie 2.5 Flash für validierte Extraktion und normale Texte, Lite, wenn eine einfache Aufgabe von minimalem Reasoning profitiert, und 3.7 Flash für Code oder mehrstufige Tool-Arbeit. Heben Sie sich Preview für einen Workflow mit kurzen Runden auf, der in sein kleineres Eingabefenster passt. Keines davon ist eine verlässliche Wahl, wenn explizite erwachsene Fiktion das wesentliche Ergebnis ist; die dokumentierten Grenzen zählen mehr als der Name Flash.









