Introduction
Chat compatible OpenAI pour Gemini 3.7 Flash. Une fenêtre de lecture de 1 048 576 tokens, trois niveaux d’effort, 128 schémas d’outils et la sortie JSON dans un seul appel synchrone, avec diffusion SSE si vous la demandez.
Gemini 3.7 Flash est le modèle Flash rapide de Google, conçu pour le code quotidien, les appels d’outils des agents et une exécution multi-étapes fiable ; il est publié ici comme un seul point de terminaison de chat compatible OpenAI. Une requête lit jusqu’à 1 048 576 tokens et répond dans la limite de 65 536, l’effort de raisonnement passe de low à medium ou high d’un tour à l’autre, et les appels d’outils comme la sortie JSON s’écrivent à la manière d’OpenAI.
Fonctionnalités et points forts
Assez rapide pour tenir dans la boucle
Un agent qui planifie, appelle un outil, lit le résultat et décide à nouveau passe l’essentiel de son temps réel à attendre le modèle. C’est exactement la forme de travail pour laquelle ce modèle est fait — code quotidien, usage d’outils, exécution multi-étapes —, si bien que la boucle se referme vite au lieu de caler à chaque saut.
Trois niveaux, choisis tour par tour
low, medium et high, avec medium par défaut. C’est une chaîne dans le même corps de requête : l’étape de routine tourne en low tandis que l’étape qui doit porter passe en high. Ce modèle n’a pas de niveau minimal : l’API de Google le refuse, et ce point de terminaison le refuse aussi au lieu de le réécrire en silence.
1 048 576 tokens en une requête
Un module entier avec ses tests, un long journal d’agent où tous les résultats d’outils sont encore attachés, ou un jeu de documents lu d’un seul tenant. Le plafond compte ensemble le message système, l’historique et la sortie des outils : le budget appartient au fil, pas au dernier message.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
messages | Oui | Tours ordonnés, du plus ancien au plus récent. Le contenu est une chaîne ou un tableau de parties text, |
max_tokens | Non | Plafonne la réponse à 65 536 ; le défaut est 16 384. |
reasoning_effort | Non | minimal, low, medium ou high ; medium est le défaut. Les étapes de routine passent très bien en low, et l’étape qui doit porter se monte seule en high. |
stop | Non | Jusqu’à 4 séquences, sous forme de chaîne ou de tableau. La réponse s’arrête dès que le modèle en écrit une, et le texte correspondant n’est pas renvoyé. 1 caractères minimum · 1 éléments minimum · 4 éléments maximum |
seed | Non | N’importe quel entier. |
temperature | Non | 0 à 2, 1 par défaut. Google recommande de laisser les modèles Gemini 3 à 1,0 : en dessous, la génération peut boucler ou se dégrader. |
top_p | Non | 0,01 à 1. Ajustez celui-ci ou temperature, jamais les deux dans la même comparaison. |
tools | Non | Jusqu’à 128 définitions de fonctions par requête. 128 éléments maximum |
tool_choice | Non | auto, none, required, ou un objet qui nomme une fonction. |
response_format | Non | Réclamez un objet JSON et nommez chaque clé dans le message système — c’est ainsi que les résultats d’extraction reviennent analysables. |
Tarification
Entrée $0.675 / Sortie $3.375 par 1 million de tokens
Cas d’utilisation
Travail de code quotidien
Lire un diff et dire ce qu’il change, écrire le test qui manquait, transformer une trace d’appels en correctif. Ce sont des requêtes courtes et fréquentes où le délai avant le premier token décide si l’outil sera utilisé du tout.
Boucles d’outils pour agents
Jusqu’à 128 définitions de fonctions par requête, avec tool_choice pour forcer un appel précis ou n’en autoriser aucun. Les appels d’outils reviennent dans la forme OpenAI : un environnement d’agent existant n’a besoin que d’un autre identifiant de modèle.
Exécution multi-étapes sur un long fil
Un agent qui a déjà appelé six outils emporte les six résultats dans sa requête suivante. Une fenêtre de 1 048 576 tokens garde ce fil intact au lieu d’imposer une étape de résumé à mi-parcours.
Extraction structurée en volume
Réclamez un objet JSON avec response_format, nommez chaque clé dans le message système. Des lignes de journal vers des champs, des tickets vers des étiquettes, du texte libre vers un schéma — c’est le prix par appel qui décide si le travail vaut d’être lancé.
Guide de prompt et conseils pratiques
Laisser de la place à la réflexion avant de plafonner la réponse
Sur l’effort medium par défaut, le modèle réfléchit avant d’écrire, et cette réflexion sort du même budget max_tokens que la réponse. Un plafond serré dépense le budget en délibération et renvoie une chaîne vide. Donnez à max_tokens une vraie marge — quelques milliers pour une réponse de code — ou baissez reasoning_effort à low quand vous voulez une réponse courte et aucune délibération.
Changer l’effort par tour, pas par intégration
Faites tourner les étapes de routine en low pour un premier token plus rapide, puis envoyez en high l’étape qui doit porter. Même point de terminaison, même corps, une chaîne de différence.
Les limites à prévoir
reasoning_effort n’accepte que low, medium et high. L’API de Google refuse minimal sur ce modèle, ce point de terminaison le refuse donc aussi au lieu de le remplacer en silence. Le plafond de réponse est de 65 536 tokens et un max_tokens supérieur échoue d’emblée à la validation. Le contenu des messages se compose de texte, d’images et de vidéo ; les parties audio sont rejetées. La vidéo est envoyée sous forme de fichier téléversé, et la vidéo d’une même requête peut totaliser 14 MB.
Démarrage rapide de l’API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "google/gemini-3.7-flash/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.












