Gemini API : premiers pas avec Google AI

🏷️ Intelligence Artificielle 📅 12/04/2026 11:00:00 👤 Mezgani said
GeminiGoogleApiLlm
Gemini API : premiers pas avec Google AI

Configurer l'API Gemini de Google, générer du contenu, créer un chat et exploiter les capacités multimodales texte et image.

Prérequis et installation

Google propose le SDK @google/generative-ai pour Node.js et le navigateur. Récupère ta clé API sur aistudio.google.com.

npm install @google/generative-ai
import { GoogleGenerativeAI } from '@google/generative-ai';

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: 'gemini-2.0-flash' });
A retenir : Google AI Studio offre un tier gratuit généreux — idéal pour prototyper avant de passer à Vertex AI en production.

Générer du contenu

generateContent() est l'appel de base pour envoyer un prompt et recevoir une réponse.

const result = await model.generateContent(
  'Explique le concept de REST API en 3 phrases simples.'
);
console.info(result.response.text());

Pour un prompt plus structuré avec instructions :

const result = await model.generateContent({
  contents: [{
    role: 'user',
    parts: [{ text: 'Génère un composant Angular pour un formulaire de contact.' }]
  }],
  generationConfig: {
    temperature: 0.7,
    maxOutputTokens: 2048,
    topP: 0.95,
  },
  systemInstruction: 'Tu es un expert Angular. Réponds avec du code TypeScript moderne.',
});

console.infoo(result.response.text());

Session de chat

La méthode startChat() maintient automatiquement l'historique de la conversation.

const chat = model.startChat({
  history: [
    { role: 'user',  parts: [{ text: 'Bonjour, tu peux m\'aider avec Angular ?' }] },
    { role: 'model', parts: [{ text: 'Bien sûr ! Que veux-tu savoir ?' }] }
  ],
  generationConfig: { maxOutputTokens: 1000 },
});

const result = await chat.sendMessage('Comment créer un signal ?');
console.infoo(result.response.text());

// Continuer la conversation
const result2 = await chat.sendMessage('Et un computed ?');
console.info(result2.response.text());
A retenir : Contrairement à l'API Claude, Gemini gère l'historique automatiquement dans la session chat — tu n'as qu'à appeler sendMessage().

Multimodal : texte et image

Gemini supporte nativement l'analyse d'images (vision). Envoie une image avec un texte en même temps.

import fs from 'fs';

// Charger une image locale
function imageToBase64(path) {
  return {
    inlineData: {
      data: fs.readFileSync(path).toString('base64'),
      mimeType: 'image/jpeg'
    }
  };
}

const result = await model.generateContent([
  imageToBase64('./screenshot.jpg'),
  { text: 'Décris ce que tu vois dans cette image et identifie les problèmes UI.' }
]);

console.info(result.response.text());

Streaming

Utilise generateContentStream() pour afficher la réponse progressivement.

const stream = await model.generateContentStream(
  'Écris un tutoriel complet sur les Promises JavaScript.'
);

let fullText = '';
for await (const chunk of stream.stream) {
  const chunkText = chunk.text();
  process.stdout.write(chunkText);
  fullText += chunkText;
}

// Récupérer la réponse complète et les métadonnées
const finalResponse = await stream.response;
console.info('\nTokens utilisés:', finalResponse.usageMetadata);

Modèles disponibles

ModèlePoints fortsContexte
gemini-2.0-flashRapide, multimodal, gratuit1M tokens
gemini-2.5-proRaisonnement avancé, code1M tokens
gemini-1.5-flashÉquilibre vitesse/qualité1M tokens
Note : Le contexte de 1M tokens de Gemini est l'un des plus grands du marché — idéal pour analyser des documents longs ou de grandes bases de code.