Vous avez joué avec Gemma 4 dans une fenêtre de chat et maintenant vous voulez construire quelque chose avec. Parfait — c'est là que ça devient intéressant. Il y a trois façons principales d'appeler Gemma 4 via API, et chacune a du sens selon les situations.
Passons en revue les trois avec du vrai code que vous pouvez copier et exécuter.
Option 1 : API locale Ollama (gratuit, privé, sans limites)
Si vous avez déjà configuré Ollama localement, vous avez un serveur API qui tourne sur localhost:11434 en ce moment. Pas de clé API nécessaire, pas de limites de débit, complètement gratuit.
Python (requests)
import requests
response = requests.post("http://localhost:11434/api/generate", json={
"model": "gemma4",
"prompt": "Explique async/await en Python comme si j'avais 10 ans",
"stream": False
})
print(response.json()["response"])cURL
curl http://localhost:11434/api/generate -d '{
"model": "gemma4",
"prompt": "Explique async/await en Python comme si j avais 10 ans",
"stream": false
}'JavaScript (fetch)
const response = await fetch("http://localhost:11434/api/generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "gemma4",
prompt: "Explique async/await en Python comme si j'avais 10 ans",
stream: false,
}),
});
const data = await response.json();
console.log(data.response);API Chat Ollama (multi-tours)
Pour les conversations avec historique de messages, utilisez le endpoint chat :
import requests
response = requests.post("http://localhost:11434/api/chat", json={
"model": "gemma4",
"messages": [
{"role": "system", "content": "Tu es un tuteur de programmation serviable."},
{"role": "user", "content": "Quelle est la différence entre une liste et un tuple ?"}
],
"stream": False
})
print(response.json()["message"]["content"])Avantages : Coût zéro, confidentialité totale, pas de limites de débit, fonctionne hors ligne. Inconvénients : La vitesse dépend de votre matériel. Pas de GPU = lent.
Option 2 : API Google AI Studio (niveau gratuit disponible)
Google propose Gemma 4 via son API AI Studio. Vous bénéficiez d'un niveau gratuit généreux et c'est rapide car ça tourne sur l'infrastructure TPU de Google.
Obtenir votre clé API
- Allez sur aistudio.google.com
- Cliquez sur « Get API Key » en haut à droite
- Créez une clé (ça prend 10 secondes)
Pour une procédure détaillée, consultez notre guide Google AI Studio.
Python (SDK google-generativeai)
pip install google-generativeaiimport google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemma-4-27b-it")
response = model.generate_content("Écris un décorateur Python pour la logique de retry")
print(response.text)cURL
curl "https://generativelanguage.googleapis.com/v1beta/models/gemma-4-27b-it:generateContent?key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "Écris un décorateur Python pour la logique de retry"}]
}]
}'Limites du niveau gratuit
Voici ce que vous obtenez sans rien payer :
- 15 requêtes par minute (RPM)
- 1 500 requêtes par jour (RPD)
- 1 million de tokens par minute
C'est en fait assez généreux pour le développement et les petits projets. Vous n'atteindrez les limites que si vous construisez quelque chose avec du vrai trafic utilisateur.
Gestion des erreurs
L'API retourne des codes d'erreur spécifiques que vous devriez gérer :
import google.generativeai as genai
from google.api_core import exceptions
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemma-4-27b-it")
try:
response = model.generate_content("Votre prompt ici")
print(response.text)
except exceptions.ResourceExhausted:
print("Limite de débit atteinte. Attendez une minute et réessayez.")
except exceptions.InvalidArgument as e:
print(f"Requête invalide : {e}")
except exceptions.NotFound:
print("Modèle non trouvé. Vérifiez le nom du modèle.")
except Exception as e:
print(f"Erreur inattendue : {e}")Option 3 : API OpenRouter (compatible OpenAI)
OpenRouter est excellent si vous voulez basculer facilement entre les modèles. Il utilise le même format que l'API d'OpenAI, donc si vous avez construit quelque chose avec GPT, vous pouvez passer à Gemma 4 en changeant une seule ligne.
Obtenir votre clé API
- Allez sur openrouter.ai
- Inscrivez-vous et ajoutez des crédits (5 $ minimum)
- Générez une clé API depuis le tableau de bord
Python
import requests
response = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer YOUR_OPENROUTER_KEY",
"Content-Type": "application/json",
},
json={
"model": "google/gemma-4-27b-it",
"messages": [
{"role": "user", "content": "Compare React et Vue en 5 points"}
],
},
)
print(response.json()["choices"][0]["message"]["content"])cURL
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_OPENROUTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemma-4-27b-it",
"messages": [
{"role": "user", "content": "Compare React et Vue en 5 points"}
]
}'Utiliser le SDK Python OpenAI
Puisque OpenRouter est compatible OpenAI, vous pouvez utiliser le SDK officiel OpenAI :
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="YOUR_OPENROUTER_KEY",
)
response = client.chat.completions.create(
model="google/gemma-4-27b-it",
messages=[
{"role": "user", "content": "Explique les monades en termes simples"}
],
)
print(response.choices[0].message.content)C'est particulièrement pratique car vous pouvez basculer entre Gemma 4, Claude, GPT, Llama et d'autres simplement en changeant la chaîne du modèle. Vous voulez que le modèle appelle des outils et des API externes ? Consultez notre guide d'appel de fonctions.
Réponses en streaming
Personne ne veut attendre 30 secondes pour un mur de texte. Le streaming affiche les tokens au fur et à mesure qu'ils sont générés — bien meilleure expérience utilisateur. Voici comment faire avec chaque méthode.
Streaming Ollama (Python)
import requests
import json
response = requests.post("http://localhost:11434/api/generate", json={
"model": "gemma4",
"prompt": "Écris une courte histoire sur une session de débogage à 3h du matin",
"stream": True
}, stream=True)
for line in response.iter_lines():
if line:
chunk = json.loads(line)
print(chunk.get("response", ""), end="", flush=True)Streaming Google AI Studio (Python)
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemma-4-27b-it")
response = model.generate_content(
"Écris une courte histoire sur une session de débogage à 3h du matin",
stream=True
)
for chunk in response:
print(chunk.text, end="", flush=True)Streaming OpenRouter (Python)
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="YOUR_OPENROUTER_KEY",
)
stream = client.chat.completions.create(
model="google/gemma-4-27b-it",
messages=[{"role": "user", "content": "Écris une courte histoire sur une session de débogage à 3h du matin"}],
stream=True,
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)Comparaison : Quelle API utiliser ?
| Fonctionnalité | Ollama (local) | Google AI Studio | OpenRouter |
|---|---|---|---|
| Coût | Gratuit | Niveau gratuit (15 RPM) | Paiement par token |
| Vitesse | Dépend du matériel | Rapide (TPU Google) | Rapide |
| Confidentialité | Totale (hors ligne) | Données envoyées à Google | Données envoyées au fournisseur |
| Limites de débit | Aucune | 15 RPM / 1 500 RPD | Basé sur les crédits |
| Configuration | Installer Ollama + modèle | Obtenir une clé API | S'inscrire + ajouter des crédits |
| Compatible OpenAI | Partiel | Non (SDK propre) | Oui |
| Idéal pour | Confidentialité, développement | Prototypage gratuit | Production, multi-modèle |
Ma recommandation :
- Vous construisez un side project ? Commencez avec le niveau gratuit de Google AI Studio. C'est rapide et gratuit.
- La confidentialité compte ? Exécutez Ollama localement. Vos données restent sur votre machine.
- Application en production ? OpenRouter vous donne le plus de flexibilité et la possibilité de basculer vers d'autres modèles.
- Vous apprenez ? Ollama. Pas de clés API, pas de limites, juste du code.
Pièges courants
« Connection refused » sur Ollama : Assurez-vous que le serveur Ollama tourne. Sur Mac, vérifiez si l'icône Ollama est dans la barre de menu. Sur Linux, lancez d'abord ollama serve.
« Model not found » sur Google AI Studio : Les noms de modèles changent. Consultez la documentation AI Studio pour les identifiants de modèle actuels.
Réponses lentes sur Ollama : Vous tournez probablement sur CPU. C'est normal — ça fonctionne, juste plus lentement. Consultez notre guide matériel pour savoir à quoi vous attendre.
Timeouts : Pour les générations longues, augmentez le timeout de votre client HTTP. Le modèle 31B de Gemma 4 peut prendre du temps pour les prompts complexes.
Prochaines étapes
- Nouveau sur Ollama ? Commencez par notre guide de configuration Ollama complet
- Envie d'envoyer des images à l'API ? Consultez le guide multimodal Gemma 4
- Besoin de meilleurs prompts ? Parcourez nos 50 meilleurs prompts Gemma 4
- Pas sûr de la taille de modèle ? Lisez Gemma 4 : Quel modèle utiliser ?
Stop reading. Start building.
~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.
Launch Playground />


