Ce guide vous aide à faire vos premiers pas avec l'API Gemini à l'aide de l'API Interactions. Vous effectuerez votre premier appel d'API en moins d'une minute et explorerez la génération de texte, la compréhension multimodale, la génération d'images, la sortie structurée, les outils, l'appel de fonction, les agents et l'exécution en arrière-plan.
L'API Interactions est disponible via les SDK Python et JavaScript, ainsi que via REST.
1. Obtenir une clé API
Pour utiliser l'API Gemini, vous devez disposer d'une clé API afin d'authentifier vos requêtes, d'appliquer des limites de sécurité et de suivre l'utilisation de votre compte.
- Google AI Studio crée automatiquement un projet et une clé API pour les nouveaux utilisateurs. Vous pouvez la copier depuis la page Clés API.
- Si vous avez besoin d'une nouvelle clé, cliquez sur Créer une clé API dans AI Studio et suivez la boîte de dialogue pour ajouter une nouvelle paire clé/projet.
Définissez votre clé en tant que variable d'environnement :
export GEMINI_API_KEY="YOUR_API_KEY"
Passer au niveau payant
Pour passer au niveau payant, vous devez configurer Cloud Billing. Vous pourrez ainsi augmenter vos limites de débit.
- Cliquez sur Configurer la facturation sur les pages Clés API ou Projets d'AI Studio.
- Suivez les instructions de la boîte de dialogue Cloud Billing pour créer ou associer un compte de facturation, ajouter un mode de paiement et prépayer un minimum de 10 $ (ou l'équivalent dans votre devise) en crédits payants.
- Consultez votre utilisation de l'API dans Google AI Studio sous Tableau de bord > Utilisation.
Pour en savoir plus, consultez la page "Facturation".
2. Installer le SDK et effectuer votre premier appel
Installez le SDK et générez du texte en un seul appel d'API.
Python
Installez le SDK :
pip install -U google-genai
Initialisez le client et envoyez une requête :
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="Explain how AI works in a few words"
)
print(interaction.output_text)
JavaScript
Installez le SDK :
npm install @google/genai
Initialisez le client et envoyez une requête :
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: "gemini-3.6-flash",
input: "Explain how AI works in a few words",
});
console.log(interaction.output_text);
REST
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.6-flash",
"input": "Explain how AI works in a few words"
}'
Réponse :
{
"id": "v1_ChdpQUFvYXI...",
"status": "completed",
"usage": {
"total_tokens": 197,
"total_input_tokens": 8,
"total_output_tokens": 12
},
"created": "2026-06-09T12:01:25Z",
"steps": [
{
"type": "thought",
"signature": "EvEFCu4FAQw..."
},
{
"type": "model_output",
"content": [
{
"type": "text",
"text": "AI learns patterns from data, then uses those patterns to make predictions or decisions on new data."
}
]
}
],
"object": "interaction",
"model": "gemini-3.6-flash",
}
Lorsque vous utilisez REST, l'API renvoie la ressource Interaction complète contenant les métadonnées, les statistiques d'utilisation et l'historique détaillé du tour.
Bien que les SDK exposent la réponse complète, ils fournissent également des propriétés pratiques telles que interaction.output_text et interaction.output_image pour accéder directement aux résultats finaux. Pour en savoir plus sur la structure des réponses, consultez la présentation des interactions ou le guide de génération de texte pour en savoir plus sur les instructions système et la configuration de la génération.
3. Diffuser la réponse
Pour des interactions plus fluides, diffusez la réponse au fur et à mesure de sa génération. Chaque événement step.delta fournit un bloc de texte que vous pouvez afficher immédiatement.
Python
from google import genai
client = genai.Client()
stream = client.interactions.create(
model="gemini-3.6-flash",
input="Explain how AI works",
stream=True
)
for event in stream:
print(event)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const stream = await ai.interactions.create({
model: "gemini-3.6-flash",
input: "Explain how AI works",
stream: true,
});
for await (const event of stream) {
console.log(event);
}
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?alt=sse" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
--no-buffer \
-d '{
"model": "gemini-3.6-flash",
"input": "Explain how AI works",
"stream": true
}'
Lors de la diffusion en flux continu, le serveur répond par un flux d'événements envoyés par le serveur (SSE). Chaque événement inclut un type et des données JSON.
Réponse :
event: interaction.created
data: {"interaction":{"id":"v1_Chd...","status":"in_progress","model":"gemini-3.6-flash"},"event_type":"interaction.created"}
event: step.start
data: {"index":0,"step":{"type":"thought"},"event_type":"step.start"}
event: step.delta
data: {"index":0,"delta":{"signature":"EvEFCu4F...","type":"thought_signature"},"event_type":"step.delta"}
event: step.stop
data: {"index":0,"event_type":"step.stop"}
event: step.start
data: {"index":1,"step":{"type":"model_output"},"event_type":"step.start"}
event: step.delta
data: {"index":1,"delta":{"text":"AI ","type":"text"},"event_type":"step.delta"}
event: step.delta
data: {"index":1,"delta":{"text":"works ","type":"text"},"event_type":"step.delta"}
event: step.stop
data: {"index":1,"event_type":"step.stop"}
event: interaction.completed
data: {"interaction":{"id":"v1_Chd...","status":"completed","usage":{"total_tokens":197}},"event_type":"interaction.completed"}
Pour en savoir plus sur la gestion des événements de streaming et des types de delta, consultez le guide des interactions de streaming.
4. Conversations multitours
L'API Interactions prend en charge les conversations multitours de deux manières :
- Avec état (recommandé) : poursuivez une conversation sur le serveur à l'aide de
previous_interaction_id. Idéal pour la plupart des workflows de chat et agentiques où vous souhaitez que le serveur gère l'historique et optimise la mise en cache. Sans état : gérez l'historique des conversations sur le client en transmettant tous les tours précédents (y compris les étapes de réflexion et d'outil intermédiaires du modèle) dans chaque requête.
Avec état (recommandé)
Enchaînez les interactions en transmettant previous_interaction_id. Le serveur gère l'intégralité de l'historique des conversations pour vous.
Python
from google import genai
client = genai.Client()
# Server-side state (recommended)
interaction1 = client.interactions.create(
model="gemini-3.6-flash",
input="I have 2 dogs in my house.",
)
print("Response 1:", interaction1.output_text)
interaction2 = client.interactions.create(
model="gemini-3.6-flash",
input="How many paws are in my house?",
previous_interaction_id=interaction1.id,
)
print("Response 2:", interaction2.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
// Server-side state (recommended)
const interaction1 = await ai.interactions.create({
model: "gemini-3.6-flash",
input: "I have 2 dogs in my house.",
});
console.log("Response 1:", interaction1.output_text);
const interaction2 = await ai.interactions.create({
model: "gemini-3.6-flash",
input: "How many paws are in my house?",
previous_interaction_id: interaction1.id,
});
console.log("Response 2:", interaction2.output_text);