Utiliser le SDK OpenAI avec l’API Gemini : configurer base_url, le nom du modèle et les tarifs de Gemini 3.5 Flash
14 juin 2026 · 10 min de lecture · Claude / GPT / Gemini

La documentation de compatibilité OpenAI de Google a été mise à jour le 18/05/2026 et l’indique clairement : les modèles Gemini peuvent être appelés via les SDK OpenAI Python / JavaScript ; il suffit essentiellement de modifier trois éléments : api_key, base_url, model (Google). Nous sommes aujourd’hui le 14/06/2026, et la page des tarifs indique pour gemini-3.5-flash, au niveau payant standard : entrée $1.50 / 100 万 token, sortie incluant les tokens de réflexion $9.00 / 100 万 token (Tarifs Google).
Mon avis est simple : si vous avez déjà un projet basé sur le SDK OpenAI, ne le réécrivez pas tout de suite. Branchez d’abord Gemini comme backend compatible OpenAI, validez les coûts, le streaming et les appels d’outils, puis décidez ensuite s’il vaut la peine de migrer vers le SDK Gemini natif.

1. Modification minimale : changer seulement l’endpoint et le nom du modèle
Installez d’abord le SDK OpenAI officiel pour Python :
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
Puis modifiez le client comme suit :
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
reasoning_effort="low",
messages=[
{"role": "system", "content": "你是一个直接、准确的代码助手。"},
{"role": "user", "content": "用三句话解释 SSE 流式输出。"},
],
)
print(resp.choices[0].message.content)
chat.completions.create, messages et tools conservent une structure de type OpenAI Chat Completions ; la référence API d’OpenAI elle-même définit toujours Chat Completions comme une interface générant des réponses à partir d’une liste de messages (OpenAI). Le point clé de la migration n’est donc pas le code métier, mais la couche de configuration.
2. N’oubliez pas le slash final dans base_url
L’adresse indiquée dans la documentation Google est :
https://generativelanguage.googleapis.com/v1beta/openai/
Si vous omettez le / final, certains clients peuvent produire des chemins étranges lors de la concaténation. En production, il est recommandé de l’extraire dans une variable d’environnement :
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
Si vous voulez éviter de jongler entre comptes, quotas et factures de plusieurs fournisseurs, onehop est une option plus simple : remplacez base_url par https://api.onehop.ai/v1, et appelez Claude, GPT et Gemini via la même interface compatible OpenAI / Anthropic. Les nouveaux comptes reçoivent $10, sans carte bancaire requise ; c’est pratique pour faire d’abord un PoC, puis décider ensuite s’il faut se connecter directement aux API officielles.
from openai import OpenAI
client = OpenAI(
api_key="你的 onehop key",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)
Les points d’entrée sont ici : appeler Claude et d’autres modèles sur onehop, s’inscrire et recevoir $10 de crédit d’essai.
3. Calculez d’abord le coût selon les tokens de sortie
Le niveau standard de gemini-3.5-flash n’est pas « assez bon marché pour ne pas y penser ». Le prix de sortie est 6 fois celui de l’entrée :
| Modèle | Niveau | Entrée / 1 million de tokens | Sortie / 1 million de tokens |
|---|---|---|---|
gemini-3.5-flash |
Standard | $1.50 |
$9.00 |
gemini-3.5-flash |
Batch | $0.75 |
$4.50 |
gemini-3.5-flash |
Flex | $0.75 |
$4.50 |
Les chiffres des modes Batch et Flex proviennent également de la même page de tarifs Google. Lors du développement d’une application, il faut limiter max_completion_tokens, surtout pour les résumés, la génération de code et les boucles d’outils d’agents. Une entrée plus longue peut encore être mise en cache ; une sortie incontrôlée, elle, brûle directement du budget.

4. Comment mapper reasoning_effort
La couche de compatibilité Google accepte le reasoning_effort de style OpenAI et le mappe vers la configuration thinking de Gemini (Google) :
reasoning_effort |
Gemini 3 Flash thinking_level |
|---|---|
minimal |
minimal |
low |
low |
medium |
medium |
high |
high |
Si rien n’est transmis, la valeur par défaut du modèle est utilisée. La documentation Google précise aussi une limite importante : Gemini 3 ne permet pas de désactiver thinking ; none ne s’applique qu’à certains modèles 2.5. Ma recommandation est d’utiliser low par défaut en production, et de ne passer à medium ou high que pour la planification complexe ou les longs enchaînements d’appels d’outils. Comme le prix de sortie inclut les tokens de réflexion, l’intensité du raisonnement n’est pas un bouton gratuit.
5. Streaming et appels de fonctions : utilisables, mais attention aux blocs vides
L’appel en streaming conserve la syntaxe du SDK OpenAI :
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Le if delta est très utile ici. Une réponse en streaming peut contenir un rôle, un appel d’outil ou un incrément vide ; ne supposez pas que chaque chunk contient du texte.
Les appels de fonctions passent eux aussi par tools et tool_choice="auto". La documentation de compatibilité Google fournit un exemple de fonction météo et confirme que l’API Gemini prend en charge le function calling (Google). Dans un vrai projet, ne vous contentez pas d’afficher la réponse du modèle ; vérifiez message.tool_calls, exécutez la fonction locale, puis renvoyez le résultat de l’outil au modèle comme message du tour suivant.
Conclusion : le coût minimal pour migrer vers Gemini, c’est trois lignes de configuration ; ce qu’il faut vraiment surveiller, ce sont les tokens de sortie, l’intensité de thinking, les chunks vides en streaming et la boucle complète d’appel d’outils. Si vous voulez simplement intégrer rapidement Claude, GPT et Gemini dans un même projet basé sur le SDK OpenAI, l’entrée unifiée de onehop vous fera gagner pas mal de temps de configuration : appeler Claude et d’autres modèles sur onehop, ou bien récupérer d’abord les $10 de crédit d’essai offerts à l’inscription.
Lectures liees

Utiliser Groq GPT-OSS 120B avec le SDK OpenAI : URL de base, tarifs et mise en cache
Changez une seule URL de base du SDK OpenAI pour exécuter GPT-OSS 120B sur Groq, estimer les coûts en cache et éviter les surprises.
17 juin 2026 · 28 min de lecture

Appeler l’API Gemini avec le SDK OpenAI : tutoriel de migration en ne changeant que base_url, la clé API et le nom du modèle
Checklist de migration vers l’interface compatible Gemini pour projets OpenAI SDK, avec code, correspondance des paramètres et tarifs.
14 juin 2026 · 9 min de lecture

Appeler l’API Gemini avec le SDK OpenAI : guide d’intégration en ne modifiant que base_url, la clé et le nom du modèle
Intégrez Gemini à votre code SDK OpenAI existant avec seulement trois changements de configuration.
14 juin 2026 · 9 min de lecture