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.
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 nonhigh. Gemini 3 Pro utilisehighpar 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.
-
lowlimite 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. -
mediumest le compromis et le niveau par défaut. Google le recommande pour le code complexe et les tâches agentiques. -
highdemande 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_levelest une énumération, pas un budget. Le paramètre entierthinking_budgetdes 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_budgetlors 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.
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" }
}
Après
{
"model": "gemini-3.8-flash",
"input": "Classify this ticket as billing, bug, or feature.",
"generation_config": { "thinking_level": "low" }
}
Le guide de migration de Gemini 3.7 vers 3.8 Flash recommande un mappage direct : minimal devient low.
Évitez deux fausses solutions :
- réintroduire
thinking_budget, qui n’est pas pris en charge par Gemini 3 ; - réduire
temperaturepour 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 :
-
lowcoûte environ 41 % du coût dehighet prend environ un tiers de son temps réel ; -
mediumsur 3.8 Flash coûte à peu près autant quehighsur 3.7 Flash : 0,41 $ contre 0,40 $ ; -
highsur 3.8 Flash coûte 45 % de plus par tâche quehighsur 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"}}'
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)
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}}}'
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)
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
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.
Stockez la clé comme variable d’environnement.
CréezGEMINI_API_KEYdans un environnement Apidog et utilisez{{GEMINI_API_KEY}}dans l’en-têtex-goog-api-key. Ajoutez aussiTHINKING_LEVEL, afin de réutiliser la même requête pour les trois niveaux.Enregistrez une requête.
Envoyez une requêtePOSTvers/v1beta/models/gemini-3.8-flash:generateContentavec votre prompt de référence et :
{
"thinkingConfig": {
"thinkingLevel": "{{THINKING_LEVEL}}"
}
}
Créez un scénario en trois étapes.
Importez la même requête trois fois et définissez successivementTHINKING_LEVELsurlow,mediumethigh.Vérifiez les champs variables.
À chaque étape, vérifiez que le statut est200et queusageMetadata.thoughtsTokenCountexiste. Pourlow, 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é.
Ajoutez une étape de garde.
EnvoyezthinkingLevel: "minimal"et vérifiez que la réponse n’est pas200. Lors d’un changement futur d’identifiant de modèle, ce test indiquera siminimalest toujours rejeté.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 :
- définissez explicitement
thinking_levelsur chaque route ; - mappez toute valeur
minimalrestante verslow; - surveillez
usageMetadata.thoughtsTokenCount; - mesurez la qualité et la latence avec vos propres prompts ;
- 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
- Aperçu de Gemini 3.8 Flash
- Nouveautés de Gemini 3.8 Flash
- Artificial Analysis
- Page du modèle Gemini 3.8 Flash
- Guide de migration de Gemini 3.7 vers 3.8 Flash
- Tarification Google Gemini
- Comparaison Gemini 3.8 Flash et Gemini 3.7 Flash
- Tarification de Gemini 3.8 Flash
- Utiliser l’API Gemini 3.8 Flash
- Guide Gemini 3.1 Flash-Lite
- Planifier des tests d’API dans Apidog
- Tester les API LLM en streaming via SSE
- Télécharger Apidog
Top comments (0)