Nano Banana Pro OpenRouter
Vue d'ensemble
Générez ou modifiez des images avec OpenRouter en utilisant le modèle google/gemini-3-pro-image-preview. Prise en charge de la génération par prompt seul, des éditions d'image unique et de la composition multi-images.
Génération par prompt seul
uv run {baseDir}/scripts/generate_image.py \
--prompt "A cinematic sunset over snow-capped mountains" \
--filename sunset.png
Modifier une seule image
uv run {baseDir}/scripts/generate_image.py \
--prompt "Replace the sky with a dramatic aurora" \
--input-image input.jpg \
--filename aurora.png
Composer plusieurs images
uv run {baseDir}/scripts/generate_image.py \
--prompt "Combine the subjects into a single studio portrait" \
--input-image face1.jpg \
--input-image face2.jpg \
--filename composite.png
Résolution
- Utilisez
--resolutionavec1K,2K, ou4K. - La résolution par défaut est
1Ksi non spécifiée.
Personnalisation du system prompt
La skill lit un system prompt optionnel depuis assets/SYSTEM_TEMPLATE. Cela vous permet de personnaliser le comportement de la génération d'images sans modifier le code.
Comportement et contraintes
- Acceptez jusqu'à 3 images d'entrée via
--input-imagerépété. --filenameaccepte les chemins relatifs (sauvegarde dans le répertoire courant) ou les chemins absolus.- Si plusieurs images sont retournées, ajoutez
-1,-2, etc. au nom du fichier. - Affichez
MEDIA: <path>pour chaque image sauvegardée. Ne relisez pas les images dans la réponse.
Dépannage
Si le script se termine avec un code non zéro, vérifiez stderr par rapport à ces blocages courants :
| Symptôme | Résolution |
|---|---|
OPENROUTER_API_KEY is not set |
Demandez à l'utilisateur de le définir. PowerShell : $env:OPENROUTER_API_KEY = "sk-or-..." / bash : export OPENROUTER_API_KEY="sk-or-..." |
uv: command not found ou non reconnu |
macOS/Linux : <code>curl -LsSf https://astral.sh/uv/install.sh | sh</code>. Windows : <code>powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"</code>. Puis redémarrez le terminal. |
AuthenticationError / HTTP 401 |
La clé est invalide ou n'a pas de crédits. Vérifiez sur https://openrouter.ai/settings/keys. |
Pour les erreurs transitoires (HTTP 429, timeouts réseau), réessayez une fois après 30 secondes. Ne réessayez pas la même erreur plus de deux fois — exposez plutôt le problème à l'utilisateur.