0% read

Comment utiliser l'API Gemma 4 (Python, cURL et JavaScript)

avr. 7, 2026

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

  1. Allez sur aistudio.google.com
  2. Cliquez sur « Get API Key » en haut à droite
  3. 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-generativeai
import 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

  1. Allez sur openrouter.ai
  2. Inscrivez-vous et ajoutez des crédits (5 $ minimum)
  3. 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 StudioOpenRouter
CoûtGratuitNiveau gratuit (15 RPM)Paiement par token
VitesseDépend du matérielRapide (TPU Google)Rapide
ConfidentialitéTotale (hors ligne)Données envoyées à GoogleDonnées envoyées au fournisseur
Limites de débitAucune15 RPM / 1 500 RPDBasé sur les crédits
ConfigurationInstaller Ollama + modèleObtenir une clé APIS'inscrire + ajouter des crédits
Compatible OpenAIPartielNon (SDK propre)Oui
Idéal pourConfidentialité, développementPrototypage gratuitProduction, 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

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Comment utiliser l'API Gemma 4 (Python, cURL et JavaScript) | Blog