DEV Community

Cover image for Gemini 3.8 Flash : Niveaux de réflexion Faible, Moyen, Élevé – Pourquoi le Minimal a Disparu
Antoine Laurent
Antoine Laurent

Posted on Originally published at apidog.com

Gemini 3.8 Flash : Niveaux de réflexion Faible, Moyen, Élevé – Pourquoi le Minimal a Disparu

Gemini 3.8 Flash : choisir le bon niveau de réflexion

Gemini 3.8 Flash propose trois niveaux de réflexion : low, medium et high. Ce réglage contrôle la quantité de raisonnement interne effectuée avant la réponse et influence simultanément la latence, les jetons de sortie et le coût. Google a conçu Gemini 3.8 Flash pour « travailler plus dur » sur les tâches complexes : le niveau choisi est donc plus déterminant que sur Gemini 3.7 Flash. Pour découvrir le modèle, consultez l’aperçu de Gemini 3.8 Flash. Ce guide se concentre sur le réglage thinking_level.

Essayez Apidog aujourd’hui

Deux détails surprennent les équipes dès la première heure :

  • Le niveau par défaut de Gemini 3.8 Flash est medium, et non high. Gemini 3 Pro utilise high par défaut, ce qui crée souvent la confusion.
  • minimal, encore envoyé par certaines configurations Gemini 3.7 Flash, n’est plus accepté. La requête échoue à la validation avant la génération du moindre jeton.

Google documente ces deux changements dans les Nouveautés de Gemini 3.8 Flash.

Ce guide explique :

  • le rôle de chaque niveau ;
  • le coût par tâche ;
  • la configuration dans les deux interfaces d’API ;
  • une stratégie de routage par cas d’usage ;
  • un test reproductible pour comparer jetons et latence avant le déploiement.

Niveaux de réflexion en un coup d’œil

Niveau Recommandations de Google Coût par tâche (AA) Temps par tâche (AA) À utiliser lorsque
low Minimise la latence et le coût ; suivi d’instructions simples, chat, routes à haut débit 0,24 $ 0,8 min La latence utilisateur est importante, notamment pour la recherche de transcription et la classification
medium (par défaut) Niveau par défaut pour le code complexe et le travail agentique 0,41 $ Non publié dans le texte La plupart des routes et les questions-réponses vidéo générales
high Profondeur maximale pour les problèmes multi-étapes les plus difficiles 0,58 $ 2,5 min QA visuelle dense, vidéos de plus de 60 minutes et planification critique
minimal Non pris en charge sur 3.8 Flash n/a n/a Jamais ; le remplacer par low

Les coûts et durées sont des moyennes d’Artificial Analysis, calculées avec leur Intelligence Index et les tarifs de lancement de Google. Ce ne sont pas des chiffres Google et ils mesurent une charge de référence, pas vos prompts. Utilisez-les pour comparer les ratios, puis mesurez vos propres routes.

Ce que fait chaque niveau

Chaque réponse de Gemini 3.8 Flash peut contenir des jetons de réflexion : le raisonnement généré avant la réponse visible. Ils sont facturés comme des jetons de sortie :

  • 3,75 $ par million au tarif de lancement, jusqu’au 31/12/2026 ;
  • 7,50 $ par million à partir du 01/01/2027.

L’API les expose séparément via usageMetadata.thoughtsTokenCount. Le niveau de réflexion indique au modèle la quantité de raisonnement à effectuer.

  • low limite la réflexion. Le premier jeton arrive plus rapidement et le coût de sortie reste réduit. Google le recommande pour le suivi d’instructions simples, le chat et les endpoints à haut débit.
  • medium est le compromis et le niveau par défaut. Google le recommande pour le code complexe et les tâches agentiques.
  • high demande au modèle de raisonner aussi profondément que possible. Il est réservé aux problèmes multi-étapes les plus difficiles.

Gemini 3.8 Flash adopte aussi un comportement par défaut différent. Sur les tâches complexes, il peut « exécuter des étapes de raisonnement supplémentaires et appeler des outils de manière itérative » et « vérifier son travail en cours de route ». Google précise qu’il « peut utiliser plus de jetons sur les tâches plus longues et complexes, par conception », en particulier avec des niveaux d’effort élevés.

Si l’utilisation de jetons augmente, Google recommande d’abord de réduire le niveau de réflexion, puis éventuellement de rester sur Gemini 3.7 Flash, qui reste entièrement pris en charge.

thinking_level est une énumération, pas un budget. Le paramètre entier thinking_budget des modèles précédents a disparu sur Gemini 3 : vous ne pouvez plus demander exactement 2 000 jetons de réflexion. Choisissez un niveau, puis mesurez son coût sur vos prompts.

Le niveau par défaut est medium, pas high

Si vous omettez le champ, Gemini 3.8 Flash utilise medium. Cela affecte notamment :

  • les équipes qui prototypent sur Gemini 3 Pro et s’attendent à high ;
  • les équipes qui ont supprimé thinking_budget lors d’une migration depuis Gemini 3.7 Flash sans ajouter de nouveau niveau.

Définissez donc thinking_level explicitement sur chaque requête, par route et dans la configuration plutôt que dans le code. Les valeurs par défaut peuvent évoluer ; votre profil de coût ne devrait pas changer sans décision explicite.

Pourquoi minimal a disparu

minimal fonctionnait sur Gemini 3.7 Flash, mais ne fait pas partie des niveaux pris en charge par Gemini 3.8 Flash. La page du modèle ne répertorie que low, medium et high.

Avec REST, la requête est rejetée avant l’exécution du modèle avec une erreur 400 INVALID_ARGUMENT :

Thinking level MINIMAL is not supported for this model.
Please retry with other thinking level.
Enter fullscreen mode Exit fullscreen mode

Les SDK peuvent encapsuler cette erreur dans leur propre classe d’exception. Faites correspondre le statut 400 ou le code INVALID_ARGUMENT, plutôt que la chaîne exacte du message.

Avant

{
  "model": "gemini-3.8-flash",
  "input": "Classify this ticket as billing, bug, or feature.",
  "generation_config": { "thinking_level": "minimal" }
}
Enter fullscreen mode Exit fullscreen mode

Après

{
  "model": "gemini-3.8-flash",
  "input": "Classify this ticket as billing, bug, or feature.",
  "generation_config": { "thinking_level": "low" }
}
Enter fullscreen mode Exit fullscreen mode

Le guide de migration de Gemini 3.7 vers 3.8 Flash recommande un mappage direct : minimal devient low.

Évitez deux fausses solutions :

  1. réintroduire thinking_budget, qui n’est pas pris en charge par Gemini 3 ;
  2. réduire temperature pour limiter la réflexion.

Google recommande de conserver la valeur par défaut 1.0 sur les modèles Gemini 3, car une valeur plus faible peut provoquer des boucles ou dégrader la sortie. Utilisez thinking_level pour contrôler la profondeur du raisonnement.

Comme l’erreur intervient pendant la validation, un test planifié pour chaque niveau peut détecter gratuitement une régression de configuration vers minimal.

Coût de chaque niveau par tâche

Le tarif par jeton ne varie pas selon le niveau. La page de tarification Google indique les montants suivants pour Gemini 3.8 Flash :

  • entrée : 0,75 $ par million de jetons au tarif de lancement ;
  • sortie : 3,75 $ par million de jetons au tarif de lancement ;
  • à partir du 01/01/2027 : 1,50 $ en entrée et 7,50 $ en sortie.

La différence entre les niveaux vient donc du nombre de jetons générés, notamment pour la réflexion.

Modèle et niveau Coût par tâche Temps par tâche
Gemini 3.8 Flash low 0,24 $ 0,8 min
Gemini 3.8 Flash medium 0,41 $ Non publié dans le texte
Gemini 3.8 Flash high 0,58 $ 2,5 min
Gemini 3.7 Flash high 0,40 $ 2,2 min

Source : Artificial Analysis, exécutions de l’Intelligence Index aux tarifs de lancement.

Trois ratios sont particulièrement utiles :

  • low coûte environ 41 % du coût de high et prend environ un tiers de son temps réel ;
  • medium sur 3.8 Flash coûte à peu près autant que high sur 3.7 Flash : 0,41 $ contre 0,40 $ ;
  • high sur 3.8 Flash coûte 45 % de plus par tâche que high sur 3.7 Flash, à tarifs identiques, car le modèle produit environ 30 % de jetons de sortie supplémentaires — 48 000 en moyenne par tâche de l’index.

Le score de 59 de l’Intelligence Index d’Artificial Analysis pour Gemini 3.8 Flash a été obtenu en high. Les scores medium et low n’ont pas été publiés dans le texte. Ne supposez donc pas que la qualité varie linéairement avec le coût : testez vos évaluations à chaque niveau.

Pour un exemple détaillé avec 1 000 tâches quotidiennes et le changement tarifaire du 31 décembre, consultez la tarification de Gemini 3.8 Flash.

Définir thinking_level dans l’API Interactions

L’API Interactions est l’interface principale de Google pour Gemini 3.x. Le niveau se trouve dans generation_config, sous forme de chaîne en snake_case.

cURL

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"gemini-3.8-flash","input":"Explain HTTP caching in 3 sentences.","generation_config":{"thinking_level":"low"}}'
Enter fullscreen mode Exit fullscreen mode

Python

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain HTTP caching in 3 sentences.",
    generation_config={"thinking_level": "low"},
)
print(interaction.output_text)
Enter fullscreen mode Exit fullscreen mode

Le champ est défini au niveau de la requête : renseignez-le sur chaque appel, y compris les tours de suivi qui utilisent previous_interaction_id.

La réponse est renvoyée sous forme date de fin de vie.

Ici, le champ est imbriqué un niveau plus profondément et utilise le camelCase.

cURL

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
  -H "x-goog-[REDACTED CREDENTIAL] \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{"contents":[{"parts":[{"text":"Explain HTTP caching in 3 sentences."}]}],
       "generationConfig":{"thinkingConfig":{"thinkingLevel":"low","includeThoughts":true}}}'
Enter fullscreen mode Exit fullscreen mode

Python

from google.genai import types

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="Explain HTTP caching in 3 sentences.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)
print(response.usage_metadata.thoughts_token_count)
Enter fullscreen mode Exit fullscreen mode

includeThoughts: true ajoute des résumés de réflexion à la réponse dans des parties marquées thought: true. Cette option est utile pendant le calibrage, mais ajoute du bruit ensuite.

Le champ à surveiller en production est :

usageMetadata.thoughtsTokenCount
Enter fullscreen mode Exit fullscreen mode

Il correspond au nombre exact de jetons de réflexion facturés comme sortie.

Une stratégie de routage par cas d’usage

Traitez le niveau comme une décision de routage, pas comme un réglage global.

Cas d’usage Niveau conseillé
Chat et autocomplétion low
Classification, extraction et recherche de transcription low, après validation de la précision
Agents de codage et boucles d’outils medium
Étape de planification critique high uniquement pour cette étape
Workflows documentaires longs high, idéalement via l’API Batch avec une réduction de 50 %
QA vidéo dense ou vidéos de plus de 60 minutes high
Questions-réponses vidéo générales medium
Recherche dans une transcription vidéo low

Pour les agents de codage, utilisez medium par défaut. Faites passer en high uniquement une étape de planification dont dépendent toutes les étapes suivantes, puis revenez à medium. Les boucles d’outils de Gemini 3.8 Flash exécutent déjà davantage de tours par conception ; appliquer high à toute la boucle peut rapidement augmenter le coût.

Si même low est trop lent ou trop cher, utilisez un modèle Flash-Lite. Le guide Gemini 3.1 Flash-Lite couvre le compromis, et Gemini 3.5 Flash-Lite est proposé à 0,30 $ en entrée et 2,50 $ en sortie.

Conservez le niveau dans la configuration de chaque route et placez gemini-3.7-flash derrière un feature flag. Si le nombre de jetons augmente après la migration, vous pourrez réduire le niveau ou changer de modèle sans modifier le code de l’application.

Tester les trois niveaux côte à côte dans Apidog

Les données d’Artificial Analysis donnent des ratios. Seuls vos prompts produiront des chiffres exploitables pour votre application. Le scénario suivant envoie un prompt de référence à chaque niveau et vérifie la réponse.

Il fonctionne avec les deux interfaces d’API. L’endpoint legacy est utilisé ici, car usageMetadata y est un champ de premier niveau.

  1. Stockez la clé comme variable d’environnement.

    Créez GEMINI_API_KEY dans un environnement Apidog et utilisez {{GEMINI_API_KEY}} dans l’en-tête x-goog-api-key. Ajoutez aussi THINKING_LEVEL, afin de réutiliser la même requête pour les trois niveaux.

  2. Enregistrez une requête.

    Envoyez une requête POST vers /v1beta/models/gemini-3.8-flash:generateContent avec votre prompt de référence et :

   {
     "thinkingConfig": {
       "thinkingLevel": "{{THINKING_LEVEL}}"
     }
   }
Enter fullscreen mode Exit fullscreen mode
  1. Créez un scénario en trois étapes.

    Importez la même requête trois fois et définissez successivement THINKING_LEVEL sur low, medium et high.

  2. Vérifiez les champs variables.

    À chaque étape, vérifiez que le statut est 200 et que usageMetadata.thoughtsTokenCount existe. Pour low, imposez un plafond de jetons et de temps de réponse adapté à votre route. Établissez la référence après la première exécution.

Un script de post-traitement peut enregistrer le compte de chaque étape dans une variable. L’étape high peut ensuite vérifier que le nombre de jetons est au moins égal à celui de low. Si l’ordre est inversé, le modèle ou la valeur par défaut a changé.

  1. Ajoutez une étape de garde.

    Envoyez thinkingLevel: "minimal" et vérifiez que la réponse n’est pas 200. Lors d’un changement futur d’identifiant de modèle, ce test indiquera si minimal est toujours rejeté.

  2. Planifiez le scénario.

    Exécutez-le quotidiennement afin qu’une régression de configuration ou un changement silencieux de comportement produise une exécution rouge, plutôt qu’une facture inattendue. Consultez comment planifier des tests d’API dans Apidog.

Pour les réponses en streaming, appliquez le même scénario avec le rendu SSE. Le guide comment tester les API LLM qui diffusent en streaming via SSE détaille la configuration.

Le plan gratuit d’Apidog couvre ce scénario.

FAQ

Le niveau de réflexion modifie-t-il le prix par jeton ?

Non. Gemini 3.8 Flash coûte 0,75 $ en entrée et 3,75 $ en sortie par million de jetons au tarif de lancement, quel que soit le niveau. Le niveau modifie le nombre de jetons de sortie générés pour la réflexion ; ces jetons sont facturés au tarif de sortie.

La répartition complète des prix couvre également la mise en cache, le traitement par lots et l’augmentation du 1er janvier.

Puis-je définir un budget exact de jetons de réflexion ?

Pas sur les modèles Gemini 3. thinking_budget a été remplacé par l’énumération thinking_level, et Gemini 3.8 Flash n’accepte que low, medium et high.

Si vous avez besoin d’un plafond, appliquez-le dans les tests et les alertes plutôt que dans la requête.

Quel niveau utilise le score de 59 d’Artificial Analysis ?

high. Artificial Analysis a exécuté l’Intelligence Index en high pour le score principal et publié les coûts et durées de low et medium, mais pas leurs scores d’index.

Considérez donc les niveaux inférieurs comme non évalués sur ce benchmark jusqu’à ce que vous exécutiez vos propres tests.

Dois-je réduire la température pour limiter la réflexion ?

Non. Google recommande de conserver temperature à sa valeur par défaut de 1.0 sur tous les modèles Gemini 3. La réduire peut provoquer des boucles ou dégrader la sortie.

Utilisez thinking_level pour contrôler la profondeur du raisonnement.

Que faire si low est encore trop lent ou trop cher ?

Restez sur Gemini 3.7 Flash, que Google déclare entièrement pris en charge sans date de dépréciation, ou déplacez la route vers un modèle Flash-Lite. La comparaison entre Gemini 3.8 et Gemini 3.7 Flash montre où les jetons supplémentaires apportent une amélioration mesurable.

Choisissez le niveau par route, puis mesurez

Gemini 3.8 Flash propose trois niveaux et raisonne davantage que son prédécesseur par défaut. Pour une migration maîtrisée :

  1. définissez explicitement thinking_level sur chaque route ;
  2. mappez toute valeur minimal restante vers low ;
  3. surveillez usageMetadata.thoughtsTokenCount ;
  4. mesurez la qualité et la latence avec vos propres prompts ;
  5. utilisez un scénario Apidog quotidien pour détecter les régressions.

Les chiffres Artificial Analysis — 0,24 $, 0,41 $ et 0,58 $ par tâche — donnent la forme de la courbe. Un scénario en trois étapes dans Apidog vous donnera les données nécessaires avant que la hausse tarifaire du 31 décembre ne double l’impact budgétaire.

Ressources

Top comments (0)