Génération gratuite d’images avec OpenRouter et Nano-Banana

Vous êtes développeur Python en Intelligence Artificielle (IA) et vous cherchez un moyen rapide et gratuit de tester la génération d’images avec une IA ?

Bonne nouvelle : OpenRouter propose désormais l’accès gratuit à Google Gemini Nano-Banana, un modèle puissant et facile à intégrer dans vos projets.

Qu’est-ce que Google Gemini Nano Banana ?

Gemini 2.5 Flash Image, surnommé Nano-Banana, est un modèle de génération et d’édition d’images développé par Google.

Il se distingue par :

  • Préservation de l’identité visuelle : l’image conserve son style et ses détails même après plusieurs modifications (coiffure, arrière-plan, accessoires, etc.).
  • Fusion texte + image fluide : création de scènes complexes à partir de prompts et d’images de référence.
  • Prix compétitif : environ 0,04 € par image (1024×1024) via l’API, avec un accès gratuit via OpenRouter.

Idéal pour les développeurs qui veulent retoucher des photos, tester des styles créatifs ou intégrer un moteur d’images IA dans leurs applications.

Pourquoi utiliser OpenRouter pour Nano-Banana ?

OpenRouter agit comme une passerelle API vers plusieurs modèles IA (texte, image, multimodal). Ses avantages principaux :

  1. Accès gratuit à certains modèles IA, dont Nano-Banana, même sans GPU puissant.
  2. Routage automatique : si un serveur est indisponible, la requête est redirigée vers un endpoint secondaire.
  3. Inscription simple : création de compte via e-mail ou Google et génération d’une clé API gratuite (à sauvegarder !).
  4. Quotas gratuits généreux : jusqu’à 50 requêtes/jour (20/minute). Avec 10 crédits achetés, vous passez à 1000 requêtes/jour.

👉 En savoir plus sur OpenRouter

Tutoriel Python : générer une image avec Nano-Banana

Étape 1 : Créer un compte OpenRouter

Inscrivez-vous gratuitement et récupérez votre clé API.

Étape 2 : Installer les dépendances

pip install Pillow requests

Pillow est nécessaire pour manipuler les images, et requests servant à envoyer le prompt à l’endpoint API d’OpenRouter pour utiliser le modèle Nano-Banana (gemini-2.5-flash-image-preview:free).

Étape 3 : Code Python pour interroger l’API

Voici le code Python complet d’interrogation de l’API et de conversion du résultat Base64 en une image :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import base64, io, os, requests
from PIL import Image

def gen_image(prompt):
    headers = {
        "Authorization": f"Bearer {os.getenv('OPENROUTER_API_KEY')}",
        "Content-Type": "application/json",
    }
    payload = {
        "model": "google/gemini-2.5-flash-image-preview:free",
        "messages": [{"role": "user", "content": prompt}],
        "modalities": ["image", "text"],
    }
    response = requests.post("https://openrouter.ai/api/v1/chat/completions", headers=headers, json=payload, timeout=15)
    result = response.json()
    if result.get("choices"):
        images = result["choices"][0]["message"].get("images", [])
        if images:
            return images[0]["image_url"]["url"]  # Base64
    return None

def save_image(b64_str, filename="output.png"):
    data = b64_str.split(",")[1] if b64_str.startswith("data:image") else b64_str
    img = Image.open(io.BytesIO(base64.b64decode(data)))
    img.save(filename)
    print(f"Image enregistrée : {filename}")

if __name__ == "__main__":
    prompt = "Un chaton cyberpunk avec néons violets et arrière-plan futuriste"
    img_str = gen_image(prompt)
    if img_str:
        save_image(img_str)

Étape 4 : Résultat

Nano-Banana renvoi une chaîne encodée en Base64. Cela signifie que l’image est renvoyée directement dans la réponse API sous forme d’une longue chaîne de caractères codée, pas un lien cliquable vers un fichier image.

Cette approche est intentionnelle : elle empêche les dépendances à des URLs externes et garantit que l’image est directement encapsulée.

Il faut donc décoder cette chaîne de caractères et sauvegarder le résultat dans un fichier au format PNG.

Pourquoi cette combinaison est intéressante ?

  • Gratuite : possibilité de tester sans frais.
  • Robuste : OpenRouter garantit la disponibilité grâce au routage automatique.
  • Qualité : Nano-Banana génère des images cohérentes et visuellement stables. En effet, le modèle Nano-Banana préserve l’identité visuelle des sujets en se souvenant de l’apparence de l’image originale. Il ne se contente pas de jeter les dés en espérant le meilleur. Peu de modèle IA de génération d’image arrive à faire cela.
  • Accessible : intégration simple dans un projet Python avec quelques lignes de code.

👉 Vous pouvez combiner cette approche avec d’autres modèles via OpenRouter pour enrichir vos workflows IA, voir la documentation officielle OpenRouter.

Conclusion

L’association OpenRouter + Google Gemini Nano-Banana est une opportunité unique pour les développeurs IA qui veulent explorer la génération d’images gratuite.

Entre simplicité d’intégration, quotas gratuits et qualité visuelle, cette solution est parfaite pour vos projets Python d’expérimentation et de prototypage.

Laisser un commentaire