> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Génération d’images Nanobanana 2.1

> - Nano Banana 2.1 (gemini-nano-banana-2.1) prend en charge la génération d’images à partir de texte ou d’images, la retouche et la composition de plusieurs images, avec des résolutions de sortie `1K`, `2K` et `4K`
- Traitement asynchrone : utilisez l’identifiant de tâche renvoyé pour [consulter la tâche](/fr/api-manual/task-management/get-task-detail)
- Les liens des images générées sont valides pendant 24 heures. Enregistrez les images rapidement
- Facturation : les images de sortie sont facturées selon leur résolution, les images d’entrée à l’image, et les recherches web et d’images selon le nombre de recherches réellement effectuées. Le texte du prompt, les sorties textuelles et le raisonnement sont facturés au token. Les frais réels sont déterminés par les données `usage` renvoyées lors de la consultation de la tâche



## OpenAPI

````yaml fr/api-manual/image-series/nanobanana/nanobanana-2.1/nanobanana-2.1-image-generate.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: API Nano Banana 2.1
  description: >-
    Créer des tâches de génération d'images en utilisant des modèles IA, prenant
    en charge divers modèles et configurations de paramètres
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Environnement de production
security:
  - bearerAuth: []
tags:
  - name: Génération d'image
    description: APIs liées à la génération d'images IA
paths:
  /v1/images/generations:
    post:
      tags:
        - Génération d'image
      summary: API Nano Banana 2.1
      description: >-
        - Nano Banana 2.1 (gemini-nano-banana-2.1) prend en charge la génération
        d’images à partir de texte ou d’images, la retouche et la composition de
        plusieurs images, avec des résolutions de sortie `1K`, `2K` et `4K`

        - Traitement asynchrone : utilisez l’identifiant de tâche renvoyé pour
        [consulter la tâche](/fr/api-manual/task-management/get-task-detail)

        - Les liens des images générées sont valides pendant 24 heures.
        Enregistrez les images rapidement

        - Facturation : les images de sortie sont facturées selon leur
        résolution, les images d’entrée à l’image, et les recherches web et
        d’images selon le nombre de recherches réellement effectuées. Le texte
        du prompt, les sorties textuelles et le raisonnement sont facturés au
        token. Les frais réels sont déterminés par les données `usage` renvoyées
        lors de la consultation de la tâche
      operationId: createImageGenerationNanoBanana21
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: Texte vers image
                value:
                  model: gemini-nano-banana-2.1
                  prompt: Un chat jouant dans l’herbe
                  size: '16:9'
                  quality: 2K
              image_edit:
                summary: Image vers image / Retouche d’image
                value:
                  model: gemini-nano-banana-2.1
                  prompt: >-
                    Remplace le chat de l’image par un Shiba Inu en conservant
                    l’arrière-plan et l’éclairage
                  quality: 2K
                  image_urls:
                    - https://example.com/image1.png
              web_search:
                summary: Génération avec recherche web
                value:
                  model: gemini-nano-banana-2.1
                  prompt: >-
                    Une infographie météo pour Tokyo ce week-end, dans un style
                    graphique plat, avec un texte clair et lisible
                  size: '16:9'
                  quality: 2K
                  model_params:
                    web_search: true
      responses:
        '200':
          description: Tâche de génération d'image créée avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '400':
          description: Paramètres de requête invalides
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Non authentifié, jeton invalide ou expiré
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Quota insuffisant, recharge requise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Accès refusé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: gemini-nano-banana-2.1'
                  type: invalid_request_error
        '429':
          description: Limite de débit dépassée
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    ImageGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            Nom du modèle de génération d'image, canal officiel, meilleure
            stabilité et contrôlabilité, adapté aux scénarios commerciaux
          example: gemini-nano-banana-2.1
          enum:
            - gemini-nano-banana-2.1
          default: gemini-nano-banana-2.1
        prompt:
          type: string
          description: >-
            Prompt décrivant l’image à générer ou les modifications à apporter à
            une image d’entrée, jusqu’à `4000` tokens
          example: Un chat jouant dans l’herbe
        size:
          type: string
          description: Rapport d'aspect de l'image générée, par défaut `auto`
          enum:
            - auto
            - '1:1'
            - '1:4'
            - '4:1'
            - '1:8'
            - '8:1'
            - '2:3'
            - '3:2'
            - '3:4'
            - '4:3'
            - '4:5'
            - '5:4'
            - '9:16'
            - '16:9'
            - '21:9'
          default: auto
        quality:
          type: string
          description: >-
            Résolution de l’image générée, `2K` par défaut


            **Remarque :**

            - Les tarifs varient selon la résolution. Les images de sortie sont
            facturées selon la résolution choisie. Il est recommandé de définir
            explicitement ce paramètre
          enum:
            - 1K
            - 2K
            - 4K
          default: 2K
        image_urls:
          type: array
          description: >-
            Liste des URL d’images de référence pour la génération à partir
            d’images, la retouche et la composition de plusieurs images


            **Remarque :**

            - Jusqu’à `14` images d’entrée par requête

            - Taille de l’image : au maximum `20MB`

            - Formats pris en charge : `.jpeg`, `.jpg`, `.png`, `.webp`

            - Les URL doivent être directement accessibles par le serveur ou
            déclencher un téléchargement direct de l’image (ces URL se terminent
            généralement par une extension d’image telle que `.png` ou `.jpg`)

            - Les images d’entrée sont facturées à l’image
          items:
            type: string
            format: uri
          maxItems: 14
          example:
            - https://example.com/image1.png
            - https://example.com/image2.png
        model_params:
          type: object
          description: Paramètres d'extension du modèle
          properties:
            web_search:
              type: boolean
              description: >-
                Active la recherche web, `false` par défaut. Lorsqu’elle est
                activée, le modèle recherche les informations les plus récentes
                sur le web avant de générer l’image


                **Remarque :**

                - La facturation dépend du nombre de recherches réellement
                effectuées par le modèle. Une requête peut entraîner plusieurs
                recherches
              default: false
              example: true
            image_search:
              type: boolean
              description: >-
                Active la recherche d’images, `false` par défaut. Lorsqu’elle
                est activée, le modèle récupère des images sur le web comme
                références visuelles avant de générer l’image


                **Remarque :**

                - La facturation dépend du nombre de recherches réellement
                effectuées par le modèle. Une requête peut entraîner plusieurs
                recherches
              default: false
              example: true
            thinking_level:
              type: string
              description: >-
                Niveau de raisonnement contrôlant la profondeur de réflexion du
                modèle avant la génération d’une image, `auto` par défaut


                - `auto` : aucune valeur imposée, le modèle décide

                - `min` : raisonnement minimal, génération la plus rapide

                - `medium` : raisonnement équilibré

                - `high` : raisonnement approfondi


                **Remarque :**

                - Les tokens de raisonnement sont facturés comme des sorties
                textuelles
              enum:
                - auto
                - min
                - medium
                - high
              default: auto
              example: medium
        callback_url:
          type: string
          description: >-
            Adresse de rappel HTTPS après l'achèvement de la tâche


            **Moment du rappel :**

            - Déclenché lorsque la tâche est terminée, échouée ou annulée

            - Envoyé après confirmation de la facturation


            **Restrictions de sécurité :**

            - Seul le protocole HTTPS est pris en charge

            - Les rappels vers les adresses IP internes sont interdits
            (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - La longueur de l'URL ne doit pas dépasser `2048` caractères


            **Mécanisme de rappel :**

            - Délai d'expiration : `10` secondes

            - Maximum `3` tentatives en cas d'échec (tentatives après `1`
            seconde/`2` secondes/`4` secondes)

            - Le format du corps de réponse du rappel est cohérent avec le
            format de réponse de l'API de requête de tâche

            - Un code de statut 2xx renvoyé par l'adresse de rappel est
            considéré comme un succès, les autres codes de statut déclenchent
            une nouvelle tentative
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de création de la tâche
          example: 1757165031
        id:
          type: string
          description: ID de tâche
          example: task-unified-1757165031-uyujaw3d
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: gemini-nano-banana-2.1
        object:
          type: string
          enum:
            - image.generation.task
          description: Type de tâche spécifique
        progress:
          type: integer
          description: Pourcentage de progression de la tâche (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Statut de la tâche
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/TaskInfo'
          description: Informations sur la tâche asynchrone
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Type de sortie de la tâche
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          description: Informations d'utilisation et de facturation
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identifiant du code d'erreur
            message:
              type: string
              description: Description de l'erreur
            type:
              type: string
              description: Type d'erreur
    TaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tâche peut être annulée
          example: true
        estimated_time:
          type: integer
          description: Temps d'achèvement estimé (secondes)
          minimum: 0
          example: 45
    Usage:
      type: object
      description: Informations d'utilisation et de facturation
      properties:
        billing_rule:
          type: string
          description: Règle de facturation
          enum:
            - per_call
            - per_image
            - per_token
            - per_second
          example: per_image
        credits_reserved:
          type: number
          description: Crédits estimés consommés
          minimum: 0
          example: 3.0845
        user_group:
          type: string
          description: Groupe de facturation auquel appartient l'utilisateur
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Toutes les API nécessitent une authentification Bearer Token##


        **Obtenir une clé API :**


        Visitez la [Page de gestion des clés
        API](https://evolink.ai/dashboard/keys) pour obtenir votre clé API


        **Ajouter à l'en-tête de requête :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.