Gemini 3.7 Flash zu 3.8 Flash: API Migrationsleitfaden

Migration von Gemini 3.7 Flash auf 3.8 Flash: 9 API-Änderungen mit Vorher-/Nachher-JSON, der Fehler, der nur minimale Überlegung erfordert, call_id-Regeln, Token-Budgets und Rollback.

Ashley Goolam

Ashley Goolam

3 September 2026

Gemini 3.7 Flash zu 3.8 Flash: API Migrationsleitfaden

Apidog für Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

Google hat Gemini 3.8 Flash am 2. September 2026 veröffentlicht, drei Wochen nach 3.7 Flash, zum gleichen Einführungspreis und ungefähr der gleichen Geschwindigkeit. Die Modell-ID lautet gemini-3.8-flash, ohne Vorschau-Suffix, und die Modellkarte beschreibt es als „basierend auf Gemini 3.7 Flash“. Die meisten Teams erwarten daher einen Austausch in einer Zeile. Bei einer einfachen Chat-Eingabeaufforderung ist das der Fall. Bei allem, was Denkparameter festlegt, Sampling anpasst oder eine Tool-Schleife ausführt, gibt es neun Punkte zu überprüfen, und zwei davon liefern Fehler, die 3.7 Flash nie geliefert hat.

Dieser Leitfaden ist diese Checkliste, erstellt auf Basis von Googles Seite Was ist neu in Gemini 3.8 Flash und dem Gemini 3 Entwicklerhandbuch. Jedes Element enthält ein Vorher- und Nachher-Fragment für beide API-Formen: die Interactions API, die Google jetzt als primären Pfad behandelt, und den älteren generateContent-Endpunkt, den die meisten 3.7 Flash-Codes noch verwenden. Jedes Fragment kann in Apidog eingefügt und an den Live-Endpunkt gesendet werden, bevor es in die Produktion geht. Wenn Sie zuerst eine Modellübersicht wünschen, beginnen Sie mit Was Gemini 3.8 Flash ist.

Eine einleitende Bemerkung vor der Liste. Google sagt, 3.8 Flash „arbeitet härter“ von Design her: Bei komplexen Aufgaben unternimmt es kleinere Denkschritte, überprüft seine Arbeit und ruft Tools iterativ auf. Das ist die Quelle der meisten seiner Vorteile und auch der Grund, warum eine Migration eine Überprüfung des Token-Budgets erfordert, nicht nur einen Konfigurationsvergleich.

Button

Was sich ändert und was nicht

Bereich 3.7 Flash 3.8 Flash
Modell-ID gemini-3.7-flash gemini-3.8-flash
Kontext / Ausgabe 1.048.576 / 65.536 Gleich
Preis (Einführung bis 31. Dez. 2026) 0,75 $ / 3,75 $ pro 1 Mio. Gleich, dann 1,50 $ / 7,50 $ für beide ab 1. Jan. 2027
Denkebenen niedrig, mittel, hoch Gleich; minimal gibt einen Validierungsfehler zurück; Standard ist medium
Token pro Aufgabe Basislinie +30 % Ausgabetoken im Durchschnitt (Artificial Analysis)
Funktionsergebnisse call_id + name Beides erforderlich, erzwungen
Support-Status „bleibt voll unterstützt“, kein Enddatum Aktuell

Quelle für die Preiszeilen: Googles Gemini API-Preisseite, auf der die Zeilen für 3.6, 3.7 und 3.8 Flash identisch sind.

Schritt 0: Entscheiden, ob überhaupt umgestellt werden soll

Nichts zwingt zur Migration. Googles Veröffentlichungsbeitrag besagt, dass „Gemini 3.7 Flash weiterhin vollständig unterstützt wird“ und kein Enddatum veröffentlicht wurde. Die Preisgestaltung pro Token bleibt unverändert, sodass die einzige Kostendifferenz der Verbrauch ist. Artificial Analysis maß bei 3.8 Flash mit hoher Denkfähigkeit etwa 48.000 Ausgabetoken pro Aufgabe in ihrem Index, 30 % mehr als bei 3.7 Flash, was die Kosten pro Aufgabe von 0,40 $ auf 0,58 $ bei identischen Raten erhöhte. Ihr Index-Score stieg von 56 auf 59, und die Tool-Nutzungsgenauigkeit bei τ³-Banking stieg um 12 Punkte auf 45 %.

Der Kompromiss besteht also in mehr Fähigkeiten pro Aufgabe für mehr Token pro Aufgabe. Wenn Ihre Arbeitslast kurz, latenzempfindlich ist oder ihre Bewertungen mit 3.7 Flash bereits bestanden hat, können Sie dabei bleiben. Der vollständige Vergleich zwischen 3.8 Flash und 3.7 Flash enthält eine Entscheidungsmatrix nach Arbeitslast. Wenn Sie umsteigen, lesen Sie weiter.

Schritt 1: Modell-ID in beiden Formen austauschen

Interactions API (Googles primäre API für Gemini 3.x):

{"model": "gemini-3.7-flash", "input": "..."}
{"model": "gemini-3.8-flash", "input": "..."}

Älteres generateContent (wird weiterhin unterstützt, kein Enddatum):

POST /v1beta/models/gemini-3.7-flash:generateContent
POST /v1beta/models/gemini-3.8-flash:generateContent

Python SDK, beide Pfade:

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")))

Wenn Sie die Interactions API noch nie verwendet haben, behandelt der 3.8 Flash API-Leitfaden beide Formen vollständig; der ältere 3.7 Flash API-Walkthrough behandelte nur generateContent, weshalb dieser Leitfaden beide zeigt.

Die neun Punkte umfassende Migrations-Checkliste

Arbeiten Sie diese der Reihe nach ab. Die Punkte 1 bis 4 sind Konfigurationsänderungen, die sofort sichtbar werden. Die Punkte 5 und 6 betreffen Tool-Schleifen und den Multi-Turn-Zustand. Die Punkte 7 bis 9 sind Planungs- und Medienänderungen, die Sie erst beim Testen bemerken werden.

1. thinking_level: "minimal" auf `"low"` mappen

Dies ist der Punkt, der zuerst zu Fehlern führt. 3.8 Flash akzeptiert low, medium und high. Das Senden von minimal führt zu einem Validierungsfehler. Der Standardwert, wenn Sie nichts senden, ist medium. Gemini 3 Pro verwendet standardmäßig high, also kopieren Sie keine Pro-Konfiguration und gehen Sie davon aus, dass sie übereinstimmt.

Vorher (3.7 Flash, Interactions):

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

Nachher (3.8 Flash):

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

Ältere Form, nachher:

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

Googles Thinking-Dokumentation beschreibt low als Latenzeinstellung und medium als Standard für komplexen Code und agentische Arbeit. Welche Ebene pro Route verwendet werden soll ist ein eigener Artikel; für Migrationszwecke ist low der direkte Ersatz für minimal.

2. temperature, top_p und top_k entfernen

Googles Empfehlung für jedes Gemini 3-Modell ist, die Temperatur bei ihrem Standardwert von 1.0 zu belassen. Eine Senkung „kann zu Schleifen oder einer verschlechterten Leistung führen“. Viele 3.7 Flash-Konfigurationen enthalten eine temperature: 0.2, die aus früheren Generationen stammt. Löschen Sie die Sampling-Schlüssel, anstatt sie einzustellen.

Vorher:

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

Nachher:

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

Wenn Sie eine niedrige Temperatur verwendet haben, um wiederholbares JSON zu erhalten, verwenden Sie stattdessen strukturierte Ausgaben. Diese werden auf 3.8 Flash unterstützt und liefern Ihnen eine Schema-förmige Antwort, ohne das Sampling zu beeinflussen.

3. thinking_budget durch thinking_level ersetzen

thinking_budget war eine Obergrenze für Integer-Token. thinking_level ist ein String-Enum. Es gibt keine arithmetische Zuordnung zwischen ihnen, wählen Sie also die Ebene nach Absicht: Latenzrouten erhalten low, Standardrouten erhalten medium, die schwierigsten mehrstufigen Routen erhalten high.

Vorher:

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

Nachher:

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

Denk-Token werden weiterhin als Ausgabetoken abgerechnet und in usageMetadata.thoughtsTokenCount gemeldet, sodass die Kostenkontrolle von einer harten Obergrenze zu einer Ebenenauswahl plus einer Assertion in Ihren Tests wechselt (siehe Abschnitt Regression unten).

4. candidate_count entfernen

Gemini 3 und spätere Versionen unterstützen keine mehreren Kandidaten. Entfernen Sie den Schlüssel und jeden Code, der candidates[1] oder darüber hinaus indiziert hat.

Vorher:

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

Nachher:

{"generationConfig": {}}

Wenn Sie mehrere Kandidaten gesampelt haben, um den besten auszuwählen, ist der Ersatz bei 3.8 Flash eine höhere Denkebene, die die Verifizierung innerhalb einer Antwort durchführt.

5. call_id und name bei jedem Funktionsergebnis angeben

Dies ist der zweite schwerwiegende Bruch. Bei 3.8 Flash muss jedes Funktionsergebnis, das Sie zurücksenden, sowohl die id des Aufrufs als auch den Funktions name enthalten. Googles Gemini 3-Leitfaden besagt, dass „alle FunctionResponse-Objekte call_id und name enthalten müssen“. Code, der nur den Namen wiedergibt, wird beim Tool-Ergebnis-Durchlauf fehlschlagen.

Interactions API, nachher:

{
  "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 gibt Ihnen id, name und arguments; kopieren Sie die ersten beiden direkt zurück. In der älteren Form enthält der functionResponse-Teil denselben Wert in einem Feld namens id (passend zur id des functionCall-Teils des Modells) zusammen mit name und response. Googles Referenz zum Funktionsaufruf enthält die kanonischen Beispiele, und der 3.8 Flash Funktionsaufruf-Leitfaden erklärt den gesamten Zwei-Durchlauf-Zyklus, einschließlich der Gründe, warum 3.8 Flash Tools pro Aufgabe häufiger aufruft als 3.7 Flash.

6. Denk-Signaturen genau wie erhalten zurückgeben

Gemini 3-Modelle fügen den Antwortteilen Denk-Signaturen bei. Wenn Sie den nächsten Durchlauf selbst erstellen, geben Sie jeden Teil unverändert zurück, einschließlich Signaturen, für alle Teiltypen, nicht nur für Text. Das Entfernen oder erneute Serialisieren verschlechtert die Kontinuität des Modells im nächsten Schritt.

Die Interactions API nimmt Ihnen diese Arbeit ab, wenn Sie den Server den Zustand verwalten lassen: Übergeben Sie previous_interaction_id, und Google speichert den Verlauf. Wenn Sie store: false für einen zustandslosen Aufruf festlegen, sind Sie wieder für den Verlauf verantwortlich und müssen die Denkblöcke und Signaturen selbst zurücksenden. Bei der älteren generateContent sind Sie immer für den Verlauf verantwortlich, überprüfen Sie daher jeden Code, der contents aus einer gekürzten Kopie der letzten Antwort neu erstellt.

7. Mehr Token pro Route budgetieren

Dieser Punkt hat keinen Fehler zum Abfangen, weshalb er oft übersehen wird. Die +30 % Ausgabetoken-Zahl von Artificial Analysis ist ein Durchschnitt über ihren Index bei hoher Denkfähigkeit. Googles eigene Formulierung besagt, dass das Modell „absichtlich mehr Token bei länger dauernden und komplexen Aufgaben verwenden kann“ und dass der Verbrauch „insbesondere bei höheren Anstrengungsgraden“ steigt.

Planen Sie pro Route, nicht global:

Überprüfen Sie auch die Obergrenze von 65.536 Ausgabetoken. Ein 3.7 Flash-Prompt, der 40.000 Token mit Denken zurückgab, könnte jetzt näher an der Grenze liegen. Wenn Sie die Rechnung modellieren, werden die Pro-Aufgabe-Zahlen auf allen drei Ebenen in der 3.8 Flash-Preisaufschlüsselung aufgeführt.

8. media_resolution_high bei PDFs versus Video testen

3.8 Flash akzeptiert Text-, Bild-, Video-, Audio- und PDF-Eingaben. Die Medientauflösungseinstellung ändert, wie viele Token jede Medieneingabe verbraucht, und die Kosten variieren je nach Medientyp, sodass dieselbe Einstellung, die bei einer PDF-Seite günstig ist, bei einem langen Video teuer sein kann. Übernehmen Sie keine globale Hochauflösungseinstellung von 3.7 Flash, ohne zu messen. Senden Sie ein repräsentatives PDF und ein repräsentatives Video bei jeder Auflösung und vergleichen Sie usageMetadata.promptTokenCount zwischen ihnen.

9. Alle Bildsegmentierungsaufrufe entfernen

Bildsegmentierung wird auf Gemini 3-Modellen nicht unterstützt. Wenn eine Pipeline aus der 3.7 Flash-Ära die Segmentierung immer noch über ein älteres Gemini-Modell leitete, ist dieser Pfad getrennt von dieser Migration; wenn ein Prompt 3.8 Flash nach Segmentierungsmasken fragte, erwarten Sie, dass er fehlschlägt, anstatt eine nutzbare Ausgabe zurückzugeben. Bildgenerierung, Audiogenerierung und die Live API werden ebenfalls nicht auf 3.8 Flash unterstützt, gemäß der Modellseite.

Regressionsplan in Apidog erstellen

Eine Migration mit zwei bahnbrechenden Änderungen und einer Verschiebung des Token-Verbrauchs erfordert einen wiederholbaren Vergleich, nicht einen einmaligen Curl-Aufruf. Hier ist das Setup, das wir in Apidog verwenden, was funktioniert, weil Apidog ein API-Client und Test-Runner ist: Es sendet die Anfragen, überprüft die Antworten und plant den Lauf. Es führt das Modell nicht aus.

Umgebung und Variablen.

Erstellen Sie eine Gemini-Umgebung mit GEMINI_API_KEY als geheimer Variable und einer MODEL-Variable. Verwenden Sie {{MODEL}} in der URL der generateContent-Anfrage und im model-Feld der Interactions-Anfrage, damit dieselbe gespeicherte Anfrage gegen beide Modelle ausgeführt wird.

Goldene Prompts.

Speichern Sie 10 bis 20 Prompts, die Ihre realen Routen repräsentieren: eine kurze Chat-Runde, eine Extraktion mit strukturierter Ausgabe, einen zweistufigen Funktionsaufruf mit einem simulierten Tool, eine PDF- und eine Videoeingabe. Jede ist eine Anfrage in einem Testszenario.

Assertions.

Fügen Sie drei pro Anfrage hinzu:

Nebeneinander.

Duplizieren Sie das Szenario, setzen Sie MODEL in einem auf gemini-3.7-flash und im anderen auf gemini-3.8-flash, und führen Sie beide aus. Die Testberichte von Apidog zeigen Bestanden/Fehlgeschlagen pro Assertion und die Antwortkörper, sodass das Token-Delta pro Prompt in einer Ansicht sichtbar ist, anstatt aus Protokollen rekonstruiert zu werden. Fügen Sie für das Funktionsaufruf-Szenario eine Assertion hinzu, dass die von Ihnen zurückgesendete call_id der id des function_call des vorherigen Schritts entspricht.

Planen Sie es ein.

Machen Sie das 3.8 Flash-Szenario zu einem geplanten Lauf, damit die Token-Obergrenzen während des Rollout-Fensters täglich überprüft werden. Der Leitfaden für geplante API-Tests beschreibt die Einrichtung. Wenn Sie lieber in der App mitmachen möchten, laden Sie Apidog herunter und importieren Sie die oben genannten Curl-Fragmente.

Rollback: 3.7 Flash hinter einem Konfigurations-Flag halten

Da 3.7 Flash weiterhin vollständig unterstützt wird und den Preis von 3.8 Flash teilt, ist der Rollback günstig: Bewahren Sie die Modell-ID in der Konfiguration statt im Code auf.

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

Drei Regeln machen das Flag sicher:

FAQ

Kostet Gemini 3.8 Flash mehr als 3.7 Flash? Nicht pro Token. Beide kosten 0,75 $ Eingabe / 3,75 $ Ausgabe pro 1 Mio. bis zum 31. Dezember 2026, und beide steigen am 1. Januar 2027 auf 1,50 $ / 7,50 $. Pro Aufgabe verwendet 3.8 Flash designbedingt mehr Token; Artificial Analysis maß etwa 30 % mehr Ausgabetoken in ihrem Index bei hoher Denkfähigkeit.

Was passiert, wenn ich thinking_level: "minimal" beibehalte? Die Anfrage schlägt bei 3.8 Flash mit einem Validierungsfehler fehl. Ersetzen Sie es durch low. Der Leitfaden zu den Denkebenen erklärt, was jede verbleibende Ebene bewirkt und wie man den Unterschied misst.

Muss ich zur Interactions API wechseln, um 3.8 Flash zu verwenden? Nein. generateContent wird als älter beschrieben, bleibt aber vollständig unterstützt ohne Enddatum, und 3.8 Flash funktioniert damit. Die Interactions API fügt den serverseitigen Konversationszustand über previous_interaction_id hinzu, was die Buchführung der Denk-Signaturen in Punkt 6 überflüssig macht.

Wird 3.7 Flash eingestellt? Google sagt, es „bleibt voll unterstützt“ und hat kein Enddatum veröffentlicht. Das macht den Rollback per Konfigurations-Flag praktikabel.

Kann ich die gleiche Temperatur beibehalten, die ich für 3.7 Flash eingestellt habe? Googles Empfehlung für alle Gemini 3-Modelle ist, die Temperatur bei 1.0 zu belassen. Wenn Sie sie bereits bei 3.7 Flash überschrieben haben, ist diese Migration der Zeitpunkt, sie zu entfernen und Ihre Auswertungen zu überprüfen; strukturierte Ausgaben sind der unterstützte Weg zu deterministischen Formen.

Stufenweise bereitstellen

Die Migration selbst ist klein: eine ID-Änderung, vier Konfigurationslöschungen oder -umbenennungen, zwei Tool-Loop-Felder und eine Signaturprüfung. Der zeitaufwändige Teil ist der Nachweis, dass das Token-Budget pro Route eingehalten wird, und das ist ein Testproblem. Speichern Sie die goldenen Prompts, prüfen Sie Schema- und Token-Obergrenzen, führen Sie 3.7 und 3.8 Flash nebeneinander aus, bis sich die Zahlen stabilisieren, und schalten Sie dann das Flag Route für Route um. Wenn eine Route zurückfällt, sendet das Flag sie ohne Codeänderung zurück zu 3.7 Flash, und Sie behalten die verbesserten Routen bei.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen