Bien démarrer

Démarrage rapide

Commencez avec Nano Banana API à l’aide d’un token Bearer, d’un corps de requête JSON et des deux endpoints de production : create et check.

Ce dont vous avez besoin

  • AUn compte Nano Banana avec des crédits disponibles
  • Une clé API créée depuis le tableau de bord Clés API

Obtenir votre clé API

Connectez-vous, ouvrez la page Clés API, saisissez un nom de clé et cliquez sur Créer. Copiez immédiatement la clé ; la clé complète n’est affichée qu’une seule fois.

Configurer l’en-tête de votre requête HTTP

URL de base

HTTPS
https://nanobanana.io
HTTP
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

Démarrage rapide

Envoyez un payload JSON pour créer une tâche de génération asynchrone. Enregistrez le task_id retourné et utilisez-le pour vérifier l’état de la tâche.

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana-2",
  "input": {
    "prompt": "Une photo produit cinématographique d’un appareil photo futuriste en forme de banane",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}'
Réponse
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Créer une tâche

Envoyez un ID de modèle et un objet d’entrée pour créer une tâche de génération asynchrone. Cet endpoint confirme que la tâche a été mise en file d’attente ; il n’attend pas le résultat média final.

POST/api/v1/create

Autorisations

Champ
Type
requis
Description et contraintes
Authorizationstringrequis
Clé API transmise comme token Bearer dans l’en-tête de la requête. Exemple : Authorization: Bearer sk_live_your_api_key

Corps de la requête

application/json
Champ
Type
requis
Description et contraintes
modelstringrequis
ID public du modèle. Utilisez un modèle répertorié dans la section API, par exemple nano-banana-2.
inputobjectrequis
Entrée de génération. Elle doit inclure un prompt non vide. Les autres champs d’entrée dépendent du modèle ; consultez la documentation correspondante avant d’envoyer des champs tels que les images, le format, la durée, la résolution ou le nombre.
JSON
{
  "model": "nano-banana-2",
  "input": {
    "prompt": "Une photo produit cinématographique d’un appareil photo futuriste en forme de banane",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}

Réponse de création

application/json

Une réponse réussie renvoie l’ID de tâche, l’ID du modèle, le statut en file d’attente et le nombre de crédits réservés pour cette tâche.

HTTP 201
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Obtenir l’état de la tâche

Interrogez cet endpoint avec l’ID de tâche renvoyé jusqu’à ce que la tâche soit terminée ou échoue. Nous recommandons un polling toutes les 5 secondes pour vérifier le dernier état de la tâche.

POST/api/v1/check

Corps de la requête

application/json
Champ
Type
requis
Description et contraintes
task_idstringrequis
L’ID de tâche renvoyé par POST /api/v1/create. Utilisez cet ID pour récupérer l’état de la tâche et les URL des résultats finaux.
JSON
{
  "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617"
}

Réponse de statut

application/json

Une fois le traitement terminé, la réponse inclut les URL des résultats finaux et les métadonnées de temps. Tant que la tâche est en cours, data est renvoyé comme null.

HTTP 200
{
  "id": "adc0e6ec-9c12-44fc-b45f-112187766c3",
  "created_at": 1788652800,
  "model": "nano-banana-2",
  "status": "completed",
  "data": {
    "results": [
      "https://cdn.nanobanana.io/api/predictions/example.mp4"
    ],
    "processing_time": 48
  }
}