DEV Community

Cover image for Gemini 3.7 Flash zu 3.8 Flash: API Migrationsleitfaden
Emre Demir
Emre Demir

Posted on Originally published at apidog.com

Gemini 3.7 Flash zu 3.8 Flash: API Migrationsleitfaden

Gemini 3.8 Flash migrieren: 9 Checks für API, Tools und Token-Budget

Google hat Gemini 3.8 Flash am 2. September 2026 veröffentlicht – drei Wochen nach Gemini 3.7 Flash, zum gleichen Einführungspreis und ungefähr der gleichen Geschwindigkeit. Die Modell-ID lautet gemini-3.8-flash, ohne Preview-Suffix. Die Modellkarte beschreibt es als „basierend auf Gemini 3.7 Flash“. Für einfache Chat-Anfragen reicht meist der Austausch der Modell-ID. Sobald Sie Denkparameter, Sampling oder Tool-Schleifen verwenden, sollten Sie jedoch neun Punkte prüfen. Zwei davon führen bei 3.8 Flash zu Fehlern, die 3.7 Flash nicht verursacht hat.

Apidog jetzt testen

Dieser Leitfaden basiert auf Googles Dokumentation Was ist neu in Gemini 3.8 Flash und dem Gemini-3-Entwicklerhandbuch. Die Beispiele decken beide API-Formen ab:

  • die Interactions API, die Google für Gemini 3.x bevorzugt,
  • den älteren generateContent-Endpunkt, den viele Gemini-3.7-Integrationen noch verwenden.

Sie können die Snippets in Apidog einfügen und gegen den Live-Endpunkt testen, bevor Sie die Änderung ausrollen. Eine allgemeine Modellübersicht finden Sie im Artikel Was Gemini 3.8 Flash ist.

Gemini 3.8 Flash ist darauf ausgelegt, bei komplexen Aufgaben „härter zu arbeiten“: Das Modell führt kleinere Denkschritte aus, überprüft seine Arbeit und ruft Tools iterativ auf. Das verbessert die Ergebnisse, kann aber auch den Token-Verbrauch erhöhen. Deshalb sollte die Migration nicht nur ein Konfigurationsvergleich sein, sondern auch eine Prüfung von Kosten, Latenz und Token-Budgets.

Was ändert sich?

Bereich Gemini 3.7 Flash Gemini 3.8 Flash
Modell-ID gemini-3.7-flash gemini-3.8-flash
Kontext / Ausgabe 1.048.576 / 65.536 Gleich
Preis bis 31. Dezember 2026 0,75 $ Input / 3,75 $ Output pro 1 Mio. Token Gleich
Preis ab 1. Januar 2027 1,50 $ Input / 7,50 $ Output pro 1 Mio. Token Gleich
Denkebenen low, medium, high Gleich; minimal führt zu einem Validierungsfehler
Standard-Denkebene medium
Token pro Aufgabe Basislinie Im Durchschnitt 30 % mehr Ausgabetoken
Funktionsergebnisse call_id und name teilweise optional Beide erforderlich
Support-Status Voll unterstützt, kein Enddatum Aktuell

Die Preisangaben stammen aus Googles Gemini API-Preisseite. Die dort aufgeführten Preise für Gemini 3.6, 3.7 und 3.8 Flash sind identisch.

Schritt 0: Prüfen, ob eine Migration nötig ist

Eine Migration ist nicht zwingend erforderlich. Laut Googles Veröffentlichungsbeitrag bleibt Gemini 3.7 Flash vollständig unterstützt; ein Enddatum wurde nicht genannt.

Der Preis pro Token bleibt ebenfalls unverändert. Der wichtigste Kostenfaktor ist daher der Verbrauch:

  • Artificial Analysis maß bei Gemini 3.8 Flash mit hoher Denkfähigkeit etwa 48.000 Ausgabetoken pro Aufgabe – rund 30 % mehr als bei Gemini 3.7 Flash.
  • Die Kosten pro Aufgabe stiegen in diesem Index von 0,40 $ auf 0,58 $.
  • Der Index-Score stieg von 56 auf 59.
  • Die Tool-Nutzungsgenauigkeit bei τ³-Banking stieg um 12 Punkte auf 45 %.

Der Kompromiss lautet also: mehr Fähigkeiten pro Aufgabe, aber möglicherweise mehr Token pro Aufgabe.

Bleiben Sie bei Gemini 3.7 Flash, wenn Ihre Arbeitslast kurz oder latenzempfindlich ist oder Ihre bestehenden Bewertungen bereits erfolgreich sind. Der vollständige Vergleich zwischen Gemini 3.8 Flash und Gemini 3.7 Flash enthält zusätzlich eine Entscheidungsmatrix nach Arbeitslast.

Schritt 1: Modell-ID in beiden API-Formen austauschen

Interactions API

{"model": "gemini-3.7-flash", "input": "..."}
{"model": "gemini-3.8-flash", "input": "..."}
Enter fullscreen mode Exit fullscreen mode

Älterer generateContent-Endpunkt

POST /v1beta/models/gemini-3.7-flash:generateContent
POST /v1beta/models/gemini-3.8-flash:generateContent
Enter fullscreen mode Exit fullscreen mode

Python SDK

client.interactions.create(
    model="gemini-3.8-flash",
    input=...,
    generation_config={"thinking_level": "medium"}
)

client.models.generate_content(
    model="gemini-3.8-flash",
    contents=...,
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(
            thinking_level="low"
        )
    )
)
Enter fullscreen mode Exit fullscreen mode

Wenn Sie die Interactions API noch nicht verwendet haben, beschreibt der 3.8-Flash-API-Leitfaden beide Formen vollständig. Der ältere 3.7-Flash-API-Walkthrough konzentrierte sich auf generateContent.

Die neun Migrations-Checks

Die Punkte 1 bis 4 betreffen die Konfiguration. Die Punkte 5 und 6 sind für Tool-Schleifen und`. Übernehmen Sie daher keine Pro-Konfiguration ungeprüft.

Interactions API: vorher

json
{"generation_config": {"thinking_level": "minimal"}}

Interactions API: nachher

json
{"generation_config": {"thinking_level": "low"}}

generateContent: nachher

json
{"generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}}

Googles Thinking-Dokumentation beschreibt low als Latenzeinstellung und medium als Standard für komplexen Code und agentische Aufgaben. Für eine direkte Migration entspricht low am ehesten minimal.

2. temperature, top_p und top_k entfernen

Google empfiehlt für Gemini 3, die Temperatur beim Standardwert 1.0 zu belassen. Eine niedrigere Temperatur kann zu Schleifen oder schlechterer Leistung führen.

Viele ältere Konfigurationen enthalten Werte wie diese:

json
{"generationConfig": {"temperature": 0.2, "topP": 0.9, "topK": 40}}

Entfernen Sie die Sampling-Parameter stattdessen:

json
{"generationConfig": {"thinkingConfig": {"thinkingLevel": "medium"}}}

Wenn Sie eine niedrige Temperatur bisher für reproduzierbares JSON verwendet haben, nutzen Sie strukturierte Ausgaben mit einem Schema. So erhalten Sie eine strukturierte Antwort, ohne das Sampling zu verändern.

3. thinking_budget durch thinking_level ersetzen

thinking_budget war eine numerische Obergrenze für Denk-Token. thinking_level ist ein String-Enum. Eine direkte arithmetische Zuordnung gibt es nicht.

Wählen Sie die Ebene nach der Absicht der Route:

  • low für latenzempfindliche Endpunkte,
  • medium für Standardrouten,
  • high für schwierige, mehrstufige oder agentische Aufgaben.

Vorher

json
{"generationConfig": {"thinkingConfig": {"thinkingBudget": 4096}}}

Nachher

json
{"generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}}

Denk-Token werden weiterhin als Ausgabetoken abgerechnet und in usageMetadata.thoughtsTokenCount gemeldet. Die Kostenkontrolle wechselt damit von einer festen Obergrenze zu einer Ebenenauswahl plus Assertions in den Tests.

4. candidate_count entfernen

Gemini 3 und spätere Modelle unterstützen keine mehreren Kandidaten. Entfernen Sie candidateCount sowie Code, der candidates[1] oder weitere Kandidaten verwendet.

Vorher

json
{"generationConfig": {"candidateCount": 2}}

Nachher

json
{"generationConfig": {}}

Wenn Sie mehrere Kandidaten erzeugt haben, um anschließend den besten auszuwählen, ist eine höhere Denkebene der vorgesehene Ersatz. Gemini 3.8 Flash kann die Verifizierung innerhalb einer Antwort durchführen.

5. call_id und name bei jedem Funktionsergebnis mitsenden

Das ist der zweite wichtige Bruch. Bei Gemini 3.8 Flash muss jedes zurückgesendete Funktionsergebnis sowohl die Aufruf-ID als auch den Funktionsnamen enthalten.

Googles Gemini-3-Leitfaden verlangt, dass alle FunctionResponse-Objekte call_id und name enthalten. Code, der nur den Namen zurückgibt, schlägt beim nächsten Tool-Durchlauf fehl.

Interactions API: Funktionsergebnis

json
{
"previous_interaction_id": "<id from the function_call step>",
"input": [{
"type": "function_result",
"name": "get_weather",
"call_id": "<id from the function_call step>",
"result": [
{
"type": "text",
"text": "{\"temp_c\": 24}"
}
]
}]
}

Der function_call-Schritt des Modells enthält id, name und arguments. Kopieren Sie id und name unverändert in das Funktionsergebnis.

In der älteren API-Form heißt das entsprechende ID-Feld id und muss zur id des vorherigen functionCall-Teils passen. Die kanonischen Beispiele finden Sie in Googles Referenz zum Funktionsaufruf. Der 3.8-Flash-Leitfaden für Funktionsaufrufe beschreibt den vollständigen Zwei-Durchlauf-Zyklus.

6. Denk-Signaturen unverändert zurückgeben

Gemini-3-Modelle fügen Antwortteilen Denk-Signaturen hinzu. Wenn Sie den nächsten Durchlauf selbst erstellen, müssen Sie jeden Teil unverändert zurückgeben – einschließlich der Signaturen und unabhängig vom Teiltyp.

Entfernen oder serialisieren Sie diese Blöcke nicht neu. Andernfalls kann die Kontinuität des Modells im nächsten Schritt leiden.

Die Interactions API kann den Zustand serverseitig verwalten:

json
{
"previous_interaction_id": "<previous interaction id>"
}

Wenn Sie previous_interaction_id verwenden, speichert Google den Verlauf. Bei store: false müssen Sie die Denkblöcke und Signaturen selbst verwalten.

Bei generateContent verwalten Sie den Verlauf immer selbst. Prüfen Sie daher insbesondere Code, der contents aus einer gekürzten Kopie der letzten Antwort rekonstruiert.

7. Mehr Token pro Route einplanen

Dieser Punkt erzeugt keinen direkten Fehler und wird deshalb leicht übersehen. Artificial Analysis ermittelte bei hoher Denkfähigkeit im Durchschnitt rund 30 % mehr Ausgabetoken. Google weist außerdem darauf hin, dass Gemini 3.8 Flash bei langen und komplexen Aufgaben absichtlich mehr Token verwenden kann – besonders bei höheren Denkebenen.

Planen Sie das Budget pro Route:

  • Latenzempfindliche Endpunkte: low. Artificial Analysis maß 0,8 Minuten und 0,24 $ pro Aufgabe bei low, verglichen mit 2,5 Minuten und 0,58 $ bei high.
  • Standardrouten: medium, im selben Index etwa 0,41 $ pro Aufgabe.
  • Agenten-Schleifen: Begrenzen Sie die Anzahl der Durchläufe, nicht nur die Token.

Prüfen Sie außerdem die maximale Ausgabe von 65.536 Token. Ein Gemini-3.7-Flash-Prompt, der 40.000 Token inklusive Denken erzeugt hat, kann bei Gemini 3.8 Flash näher an diese Grenze kommen.

Die vollständige Kostenaufschlüsselung nach Denkebene finden Sie im Artikel Gemini-3.8-Flash-Preisaufschlüsselung.

8. media_resolution_high für PDFs und Videos getrennt testen

Gemini 3.8 Flash akzeptiert Text-, Bild-, Video-, Audio- und PDF-Eingaben. Die Medieneinstellung beeinflusst, wie viele Token die Eingabe verbraucht. Die Kosten hängen zusätzlich vom Medientyp ab.

Eine globale Einstellung für hohe Auflösung kann bei einer PDF-Seite sinnvoll, bei einem langen Video aber teuer sein.

Testen Sie deshalb jeweils ein repräsentatives PDF und Video mit jeder Auflösungsstufe und vergleichen Sie:

text
usageMetadata.promptTokenCount

Übernehmen Sie keine globale media_resolution_high-Konfiguration aus Gemini 3.7 Flash, ohne den Verbrauch gemessen zu haben.

9. Bildsegmentierungsaufrufe entfernen

Bildsegmentierung wird von Gemini-3-Modellen nicht unterstützt. Wenn Ihre Pipeline diesen Schritt bisher über ein älteres Gemini-Modell ausgeführt hat, ist das ein separater Pfad und nicht Teil dieser Migration.

Ein Prompt, der Gemini 3.8 Flash nach Segmentierungsmasken fragt, wird voraussichtlich fehlschlagen, statt eine nutzbare Ausgabe zu erzeugen. Laut Modellseite werden außerdem Bildgenerierung, Audiogenerierung und die Live API nicht unterstützt.

Regressionstests in Apidog einrichten

Eine Migration mit zwei Breaking Changes und verändertem Token-Verbrauch sollte mit einem wiederholbaren Vergleich getestet werden – nicht mit einem einzelnen curl-Aufruf.

Apidog sendet die Anfragen, prüft die Antworten und plant Testläufe. Das Modell selbst wird dabei nicht in Apidog ausgeführt.

Umgebung und Variablen

Erstellen Sie eine Gemini-Umgebung mit:

  • GEMINI_API_KEY als geheimer Variable,
  • MODEL als Modellvariable.

Verwenden Sie {{MODEL}} in der URL der generateContent-Anfrage sowie im model-Feld der Interactions-Anfrage. So können Sie dieselbe gespeicherte Anfrage gegen beide Modelle ausführen.

Goldene Prompts

Speichern Sie 10 bis 20 Prompts, die Ihre echten Routen abbilden, zum Beispiel:

  • eine kurze Chat-Runde,
  • eine Extraktion mit strukturierter Ausgabe,
  • einen zweistufigen Funktionsaufruf mit simuliertem Tool,
  • eine PDF-Eingabe,
  • eine Video-Eingabe.

Jeder Prompt wird als Anfrage in einem Testszenario gespeichert.

Assertions

Fügen Sie pro Anfrage mindestens drei Assertions hinzu:

  1. Der Status ist 200, und der Antwortkörper entspricht einem JSON-Schema.
  2. Bei strukturierter Ausgabe enthalten die nachgelagert verarbeiteten Felder die erwarteten Werte.
  3. usageMetadata.thoughtsTokenCount bleibt unter dem Routenlimit, zum Beispiel 8.000 Token für eine low-Route.
  4. usageMetadata.totalTokenCount bleibt unter dem Budget aus Schritt 7.

Die Assertion für thoughtsTokenCount erkennt Konfigurationen, die unbeabsichtigt auf medium zurückfallen.

Modelle nebeneinander ausführen

Duplizieren Sie das Szenario:

  • Szenario A: MODEL=gemini-3.7-flash
  • Szenario B: MODEL=gemini-3.8-flash

Die Apidog-Testberichte zeigen den Status jeder Assertion und die Antwortkörper. Dadurch wird das Token-Delta pro Prompt sichtbar, ohne Logs manuell vergleichen zu müssen.

Fügen Sie beim Funktionsaufruf zusätzlich eine Assertion hinzu, dass die zurückgesendete call_id der id des vorherigen function_call-Schritts entspricht.

Geplante Testläufe

Planen Sie das Gemini-3.8-Flash-Szenario als täglichen Lauf, damit Token-Obergrenzen während des Rollouts dauerhaft geprüft werden. Der Leitfaden für geplante API-Tests beschreibt die Einrichtung.

Wenn Sie direkt in der App starten möchten, können Sie Apidog herunterladen und die oben genannten Fragmente importieren.

Rollback über ein Konfigurations-Flag

Da Gemini 3.7 Flash weiterhin vollständig unterstützt wird und denselben Preis wie Gemini 3.8 Flash hat, ist ein Rollback unkompliziert. Halten Sie die Modell-ID in der Konfiguration statt im Code:

json
{
"gemini_model": "gemini-3.8-flash",
"gemini_fallback_model": "gemini-3.7-flash"
}

Beachten Sie drei Regeln:

  1. Eine Anforderungsform für beide Modelle verwenden.

    Die Punkte 1 bis 6 gelten auch für Gemini 3.7 Flash: kein minimal, keine Sampling-Parameter, thinking_level statt thinking_budget, kein candidate_count, call_id und name bei Funktionsergebnissen sowie unveränderte Signaturen. Ein Rollback benötigt dadurch keinen zweiten Codepfad.

  2. Route für Route ausrollen.

    Beginnen Sie mit low-Latenzrouten, da dort das Token-Delta am kleinsten ist. Agenten-Schleifen sollten erst folgen, wenn der Side-by-Side-Test mehrere Tage stabil war.

  3. Token statt nur Fehler überwachen.

    Bei Gemini 3.8 Flash ist eine Kosten- oder Latenzregression wahrscheinlicher als ein 4xx-Fehler. Integrieren Sie die Token-Assertions deshalb auch in Ihr Alarmsystem.

FAQ

Kostet Gemini 3.8 Flash mehr als Gemini 3.7 Flash?

Nicht pro Token. Beide Modelle kosten bis zum 31. Dezember 2026 0,75 $ pro 1 Mio. Input-Token und 3,75 $ pro 1 Mio. Output-Token. Ab dem 1. Januar 2027 steigen die Preise für beide Modelle auf 1,50 $ beziehungsweise 7,50 $.

Gemini 3.8 Flash verwendet pro Aufgabe designbedingt mehr Token. Artificial Analysis maß bei hoher Denkfähigkeit etwa 30 % mehr Ausgabetoken.

Was passiert bei thinking_level: "minimal"?

Die Anfrage schlägt bei Gemini 3.8 Flash mit einem Validierungsfehler fehl. Ersetzen Sie den Wert durch low.

Weitere Details enthält der Leitfaden zu den Gemini-3.8-Flash-Denkebenen.

Muss ich zur Interactions API wechseln?

Nein. generateContent gilt als älterer Endpunkt, bleibt aber vollständig unterstützt. Ein Enddatum wurde nicht veröffentlicht.

Die Interactions API bietet zusätzlich serverseitigen Gesprächszustand über previous_interaction_id. Dadurch müssen Sie Denk-Signaturen nicht selbst über mehrere Aufrufe hinweg verwalten.

Wird Gemini 3.7 Flash eingestellt?

Google sagt, dass Gemini 3.7 Flash vollständig unterstützt bleibt. Ein Enddatum wurde nicht veröffentlicht. Ein Rollback über ein Konfigurations-Flag ist daher praktikabel.

Kann ich meine bisherige Temperatur beibehalten?

Google empfiehlt für alle Gemini-3-Modelle den Standardwert 1.0. Wenn Sie bei Gemini 3.7 Flash eine niedrigere Temperatur verwendet haben, sollten Sie sie im Rahmen dieser Migration entfernen und die Regressionstests erneut ausführen.

Für deterministische Ausgabeformen sind strukturierte Ausgaben der unterstützte Ansatz.

Schrittweise bereitstellen

Die eigentliche Migration ist klein:

  • eine Modell-ID ändern,
  • Konfigurationen löschen oder umbenennen,
  • call_id und name bei Tool-Ergebnissen ergänzen,
  • Denk-Signaturen prüfen,
  • Token-Budgets pro Route testen.

Der zeitaufwändige Teil ist der Nachweis, dass Kosten und Latenz innerhalb des Budgets bleiben. Speichern Sie deshalb goldene Prompts, prüfen Sie Schema- und Token-Obergrenzen und führen Sie Gemini 3.7 Flash und Gemini 3.8 Flash zunächst nebeneinander aus.

Schalten Sie anschließend das Konfigurations-Flag Route für Route um. Wenn eine Route regressiert, können Sie sie ohne Codeänderung auf Gemini 3.7 Flash zurücksetzen und die bereits stabilen Routen weiter mit Gemini 3.8 Flash betreiben.

Weiterführende Links

Top comments (0)