Dans l'API Gemini, gemini-2.5-flash et gemini-2.5-pro seront automatiquement redirigés vers d'autres modèles à partir du 1er décembre 2026. Vos requêtes continueront de passer sans changer le nom du modèle, mais c'est un modèle plus récent qui y répondra, et vous serez facturé aux tarifs de ce nouveau modèle. Google a annoncé ce changement dans le journal des modifications de l'API Gemini le 2 novembre 2026.

D'après un e-mail envoyé par Google aux utilisateurs d'AI Studio, si vous envoyez une seule requête de texte ou d'image et recevez une seule réponse, votre code continuera de fonctionner tel quel. Le problème concerne le code qui utilise le function calling, un historique de conversation que vous construisez vous-même, ou des réglages fins comme thinking_budget et temperature. Les nouveaux modèles sont plus stricts sur ce qu'ils acceptent : des requêtes peuvent échouer avec une erreur HTTP 400, ou des réglages peuvent être ignorés sans avertissement. Cet article explique comment vérifier si votre code est concerné et comment migrer avant le 1er décembre (vérifié le 7 novembre 2026).

Ce qui se passe le 1er décembre

gemini-2.5-flash

gemini-3.5-flash-lite

Facturé aux tarifs de 3.5 Flash-Lite

gemini-2.5-pro

gemini-3.8-flash

Facturé aux tarifs de 3.8 Flash

Continue de fonctionner

Les requêtes simples (un seul tour) de texte, d'image, de vidéo et d'audio. gemini-2.5-flash-lite n'est pas concerné.

Casse ou change si vous ne corrigez pas

Le function calling (quand vous construisez l'historique vous-même), thinking_budget, temperature, top_p et top_k, un dernier tour du modèle, et les requêtes où candidate_count vaut 2 ou plus.

1. Ce qui change

D'après la page « Gemini deprecations » de Google et le journal des modifications, les deux modèles seront traités comme suit. Aucun des deux ne peut plus être sélectionné dans Google AI Studio, et seuls les utilisateurs qui s'en servaient déjà peuvent encore les appeler via l'API.

Modèle actuelRedirigé à partir du 1er décembre versFacturationGuide de migration de Google
Flashgemini-2.5-flashgemini-3.5-flash-liteTarifs de 3.5 Flash-LiteMigrate to gemini-3.5-flash-lite
Progemini-2.5-progemini-3.8-flashTarifs de 3.8 FlashMigrate to gemini-3.8-flash

Sources : Google, « Gemini API changelog » (entrée du 2 novembre 2026) et « Gemini deprecations » (vérifié le 7 novembre 2026). À noter : 2.5 Pro est redirigé vers la gamme Flash, et non vers un modèle Pro.

Malgré des noms proches, les modèles suivants ne font pas partie de la redirection du 1er décembre.

ModèleCalendrier (tableau de Gemini deprecations)
gemini-2.5-flash-liteAucune date d'arrêt annoncée (toujours disponible dans l'API pour l'instant)
gemini-2.5-flash-imageArrêt au plus tôt le 15 mars 2027. Remplaçant recommandé : gemini-3.1-flash-lite-image
gemini-2.5-flash-preview-tts et gemini-2.5-pro-preview-ttsArrêt au plus tôt le 17 novembre 2026. Remplaçant recommandé : gemini-3.8-flash-tts ou gemini-3.8-flash-lite-tts

Les dates d'arrêt du tableau signifient « au plus tôt à cette date », et Google indique qu'il annoncera la date exacte à l'avance. La redirection automatique de gemini-2.5-flash et gemini-2.5-pro a, elle, une date fixe : « December 1, 2026 ».

  1. 2 novembre 2026Google annonce le changementPublié dans le journal des modifications. Les modèles ne peuvent plus être sélectionnés dans AI Studio.
  2. Aujourd'hui (7 novembre 2026)Période de migrationVous pouvez passer aux nouveaux noms de modèle et tester à votre rythme.
  3. 1er décembre 2026Redirection automatiqueLes requêtes qui utilisent les anciens noms reçoivent la réponse des nouveaux modèles et sont facturées à leurs tarifs.
  4. Jusqu'au 31 décembre 2026 → à partir du 1er janvier 2027Fin du tarif de lancement de 3.8 FlashLes tarifs du modèle de redirection de 2.5 Pro augmentent (section 4).

2. Votre code est-il concerné ? (tableau de vérification)

Les deux nouveaux modèles suivent les règles de requête introduites avec Gemini 3.6 Flash et 3.5 Flash-Lite et les modèles suivants. Voici les différences indiquées dans les guides de migration de Google, classées selon la façon dont votre code est écrit.

Comment votre code est écritÀ partir du 1er décembreQue faire
Requêtes simples (un seul tour) de texte, d'image, de vidéo ou d'audioContinue de fonctionner (un autre modèle répond)Vérifier la qualité des réponses et le coût sur le nouveau modèle
Avec le function calling, vous reconstruisez vous-même le tour du modèle et l'ajoutez à l'historiqueLa thought_signature est perdue et le modèle ne peut pas poursuivre son raisonnement précédent (cela peut provoquer des erreurs ou un comportement inattendu)Renvoyer dans l'historique le contenu reçu, sans le modifier (3-4)
FunctionResponse n'a pas d'idLe guide de migration de Google l'exigeInclure l'id et le name du FunctionCall (3-4)
Vous réglez la quantité de réflexion avec thinking_budgetLes nouveaux modèles utilisent thinking_level. Les budgets numériques doivent être remplacésPasser à thinking_level (3-2)
Vous ne précisez pas la quantité de réflexionLe modèle de redirection de 2.5 Flash utilise minimal par défaut (presque aucune réflexion)Pour les outils ou les tâches en plusieurs étapes, choisir medium ou plus
Vous définissez temperature, top_p ou top_kIgnorés sans erreur (la variabilité des réponses change)Les supprimer et écrire les règles de sortie dans l'instruction système (3-3)
Le dernier tour (non vide) est un tour du modèle (vous pré-remplissez le début de la réponse)Erreur HTTP 400Utiliser à la place une instruction système ou une sortie structurée (3-5)
candidate_count vaut 2 ou plusErreur HTTP 400 (non pris en charge à partir de Gemini 3)Le supprimer. Si vous avez besoin de plusieurs propositions, faire plusieurs appels (3-5)

Sources : Google, « What's new in Gemini 3.6 Flash and 3.5 Flash-Lite » et « What's new in Gemini 3.8 Flash », ainsi qu'un e-mail envoyé par Google aux utilisateurs d'AI Studio (3 novembre 2026). L'erreur HTTP 400 pour un candidate_count de 2 ou plus provient de l'e-mail de Google ; l'absence de prise en charge à partir de Gemini 3 provient du guide de migration. La correspondance de l'id et du name dans le function calling figure à la fois dans le guide de migration et dans l'e-mail. Le guide de migration de 3.8 Flash parle de call_id, mais dans generateContent le champ de FunctionResponse s'appelle id (un champ facultatif dans la référence de l'API).

Le moyen le plus rapide de trouver les endroits concernés dans votre code est une recherche de chaînes. Les SDK Python et JavaScript et le JSON de REST n'écrivent pas les noms de la même façon (thinking_budget ou thinkingBudget, par exemple) : utilisez donc des motifs qui attrapent les deux.

# Noms de modèle concernés (hors 2.5-flash-lite)
grep -rnE "gemini-2\.5-(flash|pro)([^-]|$)" .

# Réglages qui cassent ou sont ignorés
grep -rnE "thinking_?[bB]udget|temperature|top_?[pPkK]|candidate_?[cC]ount" .

# Endroits qui renvoient les résultats des appels de fonction
grep -rnE "function_?[rR]esponse|FunctionResponse" .

Si vous gardez les noms de modèle dans des fichiers de configuration ou des variables d'environnement, cherchez-y aussi. Une fois chaque résultat rapproché d'une ligne du tableau, vous saurez combien de choses il faut corriger.

3. Étapes de la migration

Nous vous recommandons de passer vous-même aux nouveaux noms de modèle, de faire passer vos tests, puis de déployer en production, plutôt que d'attendre le 1er décembre. Si vous laissez faire la redirection automatique, tout ce qui casse apparaîtra d'un coup en production. Les exemples de code utilisent generateContent dans le SDK Python de Google (google-genai).

  1. Changer les noms de modèle : gemini-2.5-flash → gemini-3.5-flash-lite, gemini-2.5-pro → gemini-3.8-flash
  2. Régler la quantité de réflexion avec thinking_level : supprimer thinking_budget et choisir le niveau adapté à la tâche
  3. Supprimer les réglages d'échantillonnage : temperature, top_p et top_k
  4. Corriger l'historique du function calling : conserver thought_signature et inclure id et name dans FunctionResponse
  5. Arrêter le pré-remplissage et retirer candidate_count
  6. Tester avec des entrées lourdes avant le déploiement : faire tourner des workflows qui appellent de nombreux outils et de longues conversations, et vérifier les erreurs, la qualité des réponses et la consommation de tokens

3-1. Changer les noms de modèle

Changer un nom se fait en une ligne, mais le même nom apparaît souvent à plusieurs endroits : utilisez les recherches de la section 2 pour trouver toutes les occurrences avant de les modifier. Dès que vous changez de nom, vous êtes facturé aux tarifs du nouveau modèle.

3-2. Remplacer thinking_budget par thinking_level

Gemini 2.5 réglait le nombre de tokens consacrés à la réflexion avec un thinking_budget numérique. Les nouveaux modèles le remplacent par thinking_level, qui prend un niveau nommé. Les niveaux disponibles et la valeur par défaut varient selon le modèle.

ModèlePar défautNiveaux disponibles
Cible de Flashgemini-3.5-flash-liteminimalminimal, low, medium, high
Cible de Progemini-3.8-flashmediumlow, medium, high (minimal renvoie une erreur)

Sources : le tableau de la page « Thinking » de Google et chaque guide de migration (vérifié le 7 novembre 2026).

Attention : le modèle de redirection de 2.5 Flash utilise minimal par défaut. 2.5 Flash réfléchissait par défaut, alors que 3.5 Flash-Lite réfléchit à peine si vous ne le lui demandez pas. Le guide de migration de Google indique que minimal convient à l'extraction en grand volume, au routage et à la classification, mais recommande medium ou high pour les appels d'outils, l'exécution de code et le raisonnement en plusieurs étapes, car à bas niveau les workflows qui utilisent des outils peuvent s'arrêter en cours de route.

from google import genai
from google.genai import types

client = genai.Client()

# Avant : gemini-2.5-flash
# config=types.GenerateContentConfig(
#     temperature=0.2,
#     thinking_config=types.ThinkingConfig(thinking_budget=1024),
# )

# Après : gemini-3.5-flash-lite
response = client.models.generate_content(
    model="gemini-3.5-flash-lite",
    contents=prompt,
    config=types.GenerateContentConfig(
        system_instruction="Réponds uniquement en JSON. N'ajoute aucun préambule.",
        thinking_config=types.ThinkingConfig(thinking_level="medium"),
    ),
)
print(response.text)

Si vous envoyez directement du JSON via REST, remplacez "thinkingBudget": 1024 par "thinkingLevel": "medium" dans generationConfig.thinkingConfig. La référence de l'API décrit thinkingLevel comme un champ destiné à Gemini 3 et aux modèles suivants, et indique que l'envoyer à des modèles antérieurs renvoie une erreur. Changez le nom du modèle et thinking_level dans la même modification.

Il n'existe pas de correspondance officielle entre les budgets numériques utilisés sur 2.5 et les niveaux. Partez du repère ci-dessous et ajustez selon la qualité des réponses et la consommation de tokens.

Votre usage de 2.53.5 Flash-Lite3.8 Flash
Sans réflexion, vitesse avant tout (classification, extraction)minimal (par défaut)low
Questions courantes, résuméslow ou mediumlow ou medium (par défaut)
Appels d'outils, code, raisonnement en plusieurs étapesmedium ou highmedium (par défaut) ou high

Ce repère s'appuie sur les usages par niveau décrits dans les guides de migration de Google. Les tokens de réflexion sont facturés au tarif de sortie : augmenter le niveau augmente donc aussi le coût.

3-3. Supprimer temperature, top_p et top_k

À partir de Gemini 3.6 Flash et 3.5 Flash-Lite, Google a rendu obsolètes temperature, top_p et top_k. Sur les nouveaux modèles actuels, ils sont ignorés sans erreur, et Google indique que les générations futures renverront une erreur HTTP 400. Comme aucune erreur n'apparaît, c'est facile à rater. Les workflows qui fixent temperature à 0 pour obtenir des réponses constantes risquent de ne plus l'être.

L'alternative recommandée par Google est d'énoncer clairement les règles de sortie dans l'instruction système (par exemple « Réponds uniquement en JSON » ou « N'ajoute aucun préambule »). Si vous avez besoin d'un format strictement constant, utilisez la sortie structurée (la fonctionnalité qui prend un schéma JSON).

L'API Claude a elle aussi changé le fonctionnement de temperature sur ses modèles récents. Pour la même logique, voir « temperature is deprecated for this model : causes et solutions ».

3-4. Corriger l'historique du function calling

Les modèles Gemini 3 renvoient des thought signatures dans leurs réponses : des représentations chiffrées du raisonnement interne du modèle avant qu'il réponde. Si la signature n'est pas renvoyée au tour suivant, le modèle ne peut pas poursuivre son raisonnement précédent. Dans generateContent, la signature se trouve dans le thoughtSignature de parties comme les appels de fonction.

Le schéma fragile consiste à reconstruire le tour du modèle à partir du seul nom et des arguments et à l'ajouter à l'historique. En le reconstruisant, vous perdez la signature.

# ❌ Reconstruire le tour du modèle à partir du seul nom et des args fait perdre thought_signature
contents.append(types.Content(role="model", parts=[
    types.Part(function_call=types.FunctionCall(name=call.name, args=call.args))
]))

La correction consiste à renvoyer dans l'historique le contenu reçu, sans le modifier. Dans le résultat de la fonction (FunctionResponse), incluez aussi le même id et le même name que le FunctionCall renvoyé par le modèle.

config = types.GenerateContentConfig(
    tools=[weather_tool],
    thinking_config=types.ThinkingConfig(thinking_level="medium"),
)
contents = [types.Content(role="user", parts=[
    types.Part.from_text(text="Quel temps fait-il à Boston ?")
])]

response = client.models.generate_content(
    model="gemini-3.5-flash-lite", contents=contents, config=config)
call = response.function_calls[0]

# ✅ Ajouter le tour du modèle tel qu'il a été reçu (il contient la signature)
contents.append(response.candidates[0].content)

result = get_weather(**call.args)
contents.append(types.Content(role="user", parts=[
    types.Part(function_response=types.FunctionResponse(
        id=call.id,      # même valeur que l'id du FunctionCall
        name=call.name,  # même valeur que le name du FunctionCall
        response={"result": result},
    ))
]))

response = client.models.generate_content(
    model="gemini-3.5-flash-lite", contents=contents, config=config)
print(response.text)

Quand le résultat d'une fonction contient des images ou d'autres médias, placez-les dans le FunctionResponse (dans parts) plutôt que dans des parties séparées. La page « Function calling » de Google indique que les SDK gèrent les signatures automatiquement. Si vous laissez la fonctionnalité de chat du SDK (client.chats) conserver l'historique, vous n'avez pas à transmettre les signatures vous-même. Il faut être prudent quand vous enregistrez l'historique dans votre propre base de données ou dans un autre format et que vous le reconstruisez à chaque requête. Vérifiez que votre format de stockage ne perd pas les signatures.

La référence de l'API liste MISSING_THOUGHT_SIGNATURE (Request has at least one thought signature missing) parmi les valeurs de finishReason, pour indiquer qu'une signature manque. Si vous voyez cette valeur ou une erreur de ce genre dans vos journaux, soupçonnez d'abord la façon dont vous construisez l'historique.

Passer à l'Interactions API permet au serveur de gérer les signatures à votre place

Google recommande l'Interactions API pour les nouveaux projets. Si vous gardez la valeur par défaut (store=true) et transmettez previous_interaction_id à partir du deuxième appel, le serveur conserve l'état de la conversation, signatures comprises, et vous n'avez plus à les transmettre vous-même. Les résultats de fonction sont renvoyés sous forme de function_result avec call_id et name.

import json

# Dans l'Interactions API, les déclarations de fonction s'écrivent en dict (une forme différente de weather_tool dans generateContent)
interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Quel temps fait-il à Boston ?",
    tools=[weather_tool_dict],
)
for step in interaction.steps:
    if step.type == "function_call":
        result = get_weather(**step.arguments)
        interaction = client.interactions.create(
            model="gemini-3.8-flash",
            input=[{
                "type": "function_result",
                "name": step.name,
                "call_id": step.id,
                "result": [{"type": "text", "text": json.dumps(result)}],
            }],
            tools=[weather_tool_dict],
            previous_interaction_id=interaction.id,
        )
print(interaction.output_text)

Les différences sont décrites dans « Migrating to the Interactions API » de Google. generateContent reste disponible : vous n'avez pas besoin de passer à une autre API d'ici le 1er décembre.

Le guide de migration renvoie aussi à des solutions de contournement pour les cas où du texte avant un appel d'outil provoque Malformed_Function_Call, dans la section « Workarounds for pre-tool text requirements » de la page Function calling.

3-5. Arrêter le pré-remplissage et retirer candidate_count

Pré-remplir le début de la réponse (faire du dernier tour non vide de contents un tour model) renvoie une erreur HTTP 400 sur les nouveaux modèles. Le guide de migration de Google range ce schéma parmi ceux à éviter.

{
  "contents": [
    {"role": "user", "parts": [{"text": "Traduis « Hello world » en espagnol."}]},
    {"role": "model", "parts": [{"text": "Traduction :"}]}
  ]
}

Si vous pré-remplissiez pour supprimer un préambule ou pour forcer une réponse en JSON, écrivez la règle dans l'instruction système ou utilisez la sortie structurée.

response = client.models.generate_content(
    model="gemini-3.5-flash-lite",
    contents="Traduis « Hello world » en espagnol.",
    config=types.GenerateContentConfig(
        system_instruction="Donne uniquement la traduction. N'ajoute aucun préambule.",
    ),
)

candidate_count (le réglage qui renvoie plusieurs réponses en un seul appel) n'est pas pris en charge à partir de Gemini 3, et le régler à 2 ou plus renvoie une erreur HTTP 400. Si vous avez besoin de plusieurs propositions, répartissez-les sur plusieurs appels.

⚠️ Ne vous arrêtez pas aux tests avec des entrées légères. Les requêtes courtes à un seul tour passent sans changement : vous ne verrez ce qui casse qu'en faisant tourner des workflows avec de nombreux allers-retours de function calling et des conversations reprises depuis un historique enregistré.

Google fournit aussi une skill Gemini API pour aider à cette migration, destinée aux agents de programmation qui prennent en charge les skills (« Coding agents »). Même si vous l'utilisez, faites vous-même passer les tests sur le code corrigé.

4. Comment les tarifs changent

Les tarifs des modèles de redirection sont à peu près les mêmes en venant de 2.5 Flash, et plus bas en venant de 2.5 Pro. Cependant, 3.8 Flash bénéficie d'un tarif de lancement jusqu'au 31 décembre 2026, et ses tarifs augmentent le 1er janvier 2027. Après la hausse, la sortie reste moins chère que 2.5 Pro, mais l'entrée devient plus chère que 2.5 Pro (pour les prompts de 200 000 tokens ou moins). Tous les prix ci-dessous sont les tarifs standard du niveau payant, en dollars US par million de tokens.

PosteFlash2.5 Flash→ 3.5 Flash-LitePro2.5 Pro→ 3.8 Flash
Entrée0,30 $ (audio 1,00 $)0,30 $ (idem pour l'audio)1,25 $ (2,50 $ au-delà de 200 000 tokens)0,75 $ (1,50 $ à partir du 1er janvier 2027)
Sortie (réflexion comprise)2,50 $2,50 $10,00 $ (15,00 $ au-delà de 200 000 tokens)3,75 $ (7,50 $ à partir du 1er janvier 2027)
Mise en cache du contexte (lectures)0,03 $ (audio 0,10 $)0,03 $0,125 $ (0,25 $ au-delà de 200 000 tokens)0,075 $ (0,15 $ à partir du 1er janvier 2027)
Mise en cache du contexte (stockage par heure)1,00 $1,00 $4,50 $0,50 $ (1,00 $ à partir du 1er janvier 2027)

Source : le tableau Standard de « Gemini Developer API pricing » de Google (vérifié le 7 novembre 2026). Consultez la page des tarifs pour les niveaux à prix réduit comme Batch et Flex. Les tarifs de 3.8 Flash ne varient pas selon la longueur du prompt.

Faisons le calcul pour une charge de travail sur 2.5 Pro. Avec 10 millions de tokens en entrée et 2 millions de tokens en sortie par mois (tous les prompts de 200 000 tokens ou moins), 2.5 Pro coûte 12,50 $ + 20,00 $ = 32,50 $. Les mêmes volumes sur 3.8 Flash coûtent 7,50 $ + 7,50 $ = 15,00 $ en décembre 2026, et 15,00 $ + 15,00 $ = 30,00 $ à partir de janvier 2027.

Cela dit, les volumes de tokens ne resteront pas forcément les mêmes. Google indique que 3.8 Flash est conçu pour utiliser plus de tokens sur les tâches longues et complexes. Il précise aussi que vous pouvez réduire cela pour le travail courant en baissant thinking_level. En passant de 2.5 Flash à 3.5 Flash-Lite, relever le niveau au-dessus du minimal par défaut augmente aussi les tokens de sortie consacrés à la réflexion. Même quand les tarifs sont identiques ou plus bas, votre facture dépend du niveau choisi. Si vous relevez les volumes de tokens dans les réponses (usage_metadata) pendant vos tests, vous pourrez estimer votre facture de décembre.

L'ancrage avec la recherche Google (Grounding with Google Search) est lui aussi décompté différemment. Pour 2.5 Flash et 2.5 Pro, les 1 500 premières requêtes par jour étaient gratuites, puis cela coûtait 35 $ pour 1 000 « prompts ancrés ». Pour 3.5 Flash-Lite et 3.8 Flash, les 5 000 premières requêtes par mois sont gratuites, tous modèles Gemini 3 et suivants confondus, puis cela coûte 14 $ pour 1 000 requêtes de recherche, avec une limite de 1 500 requêtes par jour. Si une requête lance plusieurs recherches, chaque recherche est facturée. Si vous utilisez beaucoup l'ancrage, revoyez vos volumes.

Pour les tarifs de Gemini dans leur ensemble (offres payantes de l'application ou API), voir « Tarifs de Gemini et utilisation gratuite ». Pour le fonctionnement de la tarification d'une API (tokens, entrée et sortie), voir « Qu'est-ce qu'une API IA ? ».

5. Ce qui se passe après le 1er décembre

Voici ce qui se passe si vous ne faites rien, selon la façon dont votre code est écrit.

  • Pas d'erreur sur le nom du modèle : les requêtes qui utilisent encore les noms gemini-2.5-flash et gemini-2.5-pro arrivent aux nouveaux modèles
  • Vous êtes facturé aux tarifs des nouveaux modèles : les tarifs du modèle de redirection de 2.5 Pro augmentent de nouveau le 1er janvier 2027
  • Les requêtes pré-remplies et celles où candidate_count vaut 2 ou plus s'arrêtent sur une erreur HTTP 400 : le function calling qui perd les signatures parce que vous reconstruisez l'historique vous-même peut aussi provoquer des erreurs ou un comportement inattendu
  • Certaines réponses changent sans aucune erreur : les réglages comme temperature sont ignorés, et le modèle de redirection de 2.5 Flash réfléchit à peine par défaut. Cela se traduit par des workflows avec outils qui s'arrêtent en cours de route ou par des réponses plus variables

Les changements qui ne produisent pas d'erreur apparaissent rarement dans les indicateurs de supervision. Comparer, avant et après le changement, le nombre d'échecs des contrôles qui valident le format des réponses (la sortie se lit-elle comme du JSON, les champs obligatoires sont-ils présents) vous aidera à les repérer.

6. Faut-il rester sur le modèle de redirection ?

Les modèles de redirection automatique sont ceux que Google recommande comme remplaçants. Leur caractère diffère pourtant de ce que vous utilisiez avant.

Flash 2.5 Flash → 3.5 Flash-Lite vous fait passer à la gamme « Lite » aux mêmes tarifs. Google indique que 3.5 Flash-Lite a obtenu 18,0 % au benchmark de raisonnement HLE contre 11,0 % pour 2.5 Flash, et 74,5 % contre 63,7 % au benchmark de compréhension de graphiques CharXIV (mesures de Google). Si votre travail est surtout de l'extraction ou de la classification en grand volume, migrer tel quel est logique. S'il s'agit surtout d'agents en plusieurs étapes ou de génération de code et que vous voulez de meilleures réponses, gemini-3.6-flash, que le tableau comparatif de Google indique pour la génération de code et les tâches en plusieurs étapes, est une autre option. Son tarif de lancement jusqu'au 31 décembre 2026 est de 0,75 $ en entrée et 3,75 $ en sortie, puis passe à 1,50 $ et 7,50 $ à partir du 1er janvier 2027 : il coûte donc plus cher que 3.5 Flash-Lite.

Pro 2.5 Pro → 3.8 Flash vous fait passer de la gamme Pro à la gamme Flash. Google présente 3.8 Flash comme son « most intelligent Flash model » et le positionne pour le développement logiciel de longue durée et aux agents. Par rapport à 2.5 Pro, son tarif de sortie reste plus bas même à partir de 2027 (10,00 $ → 7,50 $), tandis que son tarif d'entrée devient plus élevé à partir de 2027 (1,25 $ → 1,50 $ pour les prompts de 200 000 tokens ou moins).

Si la qualité des réponses est votre priorité absolue, le plus cher Gemini 4 Argon (gemini-4-argon) est aussi une option. Son tarif de lancement jusqu'au 30 novembre 2026 est de 2,00 $ en entrée et 10,00 $ en sortie, puis passe à 4,00 $ en entrée et 20,00 $ en sortie à partir du 1er décembre, et il n'a pas de niveau gratuit (« Pricing », vérifié le 7 novembre 2026).

Quel que soit le modèle choisi, changez le nom, faites tourner les mêmes tests et décidez en comparant la qualité des réponses, les erreurs et les volumes de tokens. Pour les dates de coupure des connaissances et le positionnement des autres modèles Gemini, voir « Dates de coupure des connaissances de l'IA générative ».

Les changements de forme des réponses et de traitement des réglages lors d'un changement de modèle ne sont pas propres à Gemini. Le même genre de problème lors du passage à un modèle plus récent dans l'API Claude est traité dans « 'ThinkingBlock' object has no attribute 'text' : cause et correction ».

En résumé

  • À partir du 1er décembre 2026, gemini-2.5-flash est automatiquement redirigé vers gemini-3.5-flash-lite et gemini-2.5-pro vers gemini-3.8-flash, facturés aux tarifs du modèle cible
  • Les requêtes simples de texte et d'image (un seul tour) continuent de fonctionner. gemini-2.5-flash-lite n'est pas concerné
  • Le function calling qui perd les signatures parce que vous reconstruisez l'historique vous-même, le pré-remplissage et les requêtes où candidate_count vaut 2 ou plus peuvent renvoyer des erreurs HTTP 400. Google exige id et name dans FunctionResponse (avec la fonctionnalité de chat du SDK, le SDK transmet les signatures)
  • Remplacez thinking_budget par thinking_level. 3.5 Flash-Lite utilise minimal par défaut : choisissez medium ou plus pour les outils et les tâches en plusieurs étapes. Les réglages comme temperature sont ignorés
  • Les tarifs sont à peu près les mêmes en venant de 2.5 Flash et plus bas en venant de 2.5 Pro. Mais 3.8 Flash augmente le 1er janvier 2027 (l'entrée devient plus chère que 2.5 Pro), et les volumes de tokens changent aussi selon le niveau de réflexion
  • N'attendez pas le 1er décembre : changez les noms de modèle, testez avec des entrées lourdes, puis déployez en production

FAQ

Q. Si j'appelle gemini-2.5-flash le 1er décembre, vais-je obtenir une erreur de modèle introuvable ?

R. Non. D'après la documentation de Google, les requêtes sont automatiquement redirigées vers gemini-3.5-flash-lite. C'est toutefois le nouveau modèle qui y répond, et vous êtes facturé à ses tarifs. Le function calling qui perd les signatures parce que vous reconstruisez l'historique vous-même, le pré-remplissage et les requêtes où candidate_count vaut 2 ou plus peuvent renvoyer des erreurs HTTP 400.

Q. J'ai une erreur de thought signature. Que dois-je corriger ?

R. La partie de votre code qui construit l'historique de la conversation. Vérifiez si vous reconstruisez le contenu renvoyé par le modèle au tour précédent à partir du seul nom et des arguments. Si vous renvoyez dans l'historique le contenu reçu sans le modifier, la signature repart avec lui. Si vous utilisez la fonctionnalité de chat du SDK ou previous_interaction_id dans l'Interactions API, les signatures sont gérées automatiquement.

Q. Combien coûte gemini-3.5-flash-lite ?

R. Au niveau payant, l'entrée coûte 0,30 $ par million de tokens (pour le texte, l'image, la vidéo et l'audio) et la sortie 2,50 $ (vérifié le 7 novembre 2026). Par rapport à 2.5 Flash, l'entrée et la sortie de texte, d'image et de vidéo sont identiques, et l'entrée audio passe de 1,00 $ à 0,30 $.

Q. J'avais mis thinking_budget à 0 pour désactiver la réflexion. Que faire maintenant ?

R. Sur 3.5 Flash-Lite, omettez thinking_level (la valeur par défaut est minimal) ou réglez-le sur "minimal". 3.8 Flash n'a pas de niveau minimal et renvoie une erreur : utilisez le niveau le plus bas, "low".

Historique des mises à jour

  • 7 novembre 2026Première publication. Rédigé après vérification du journal des modifications de l'API Gemini (2 novembre 2026), de Gemini deprecations, des guides de migration (3.6/3.5 Flash-Lite et 3.8 Flash), des tarifs, de Thinking et de la référence de l'API.

Sources