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

# Midjourney V7 Édition de canevas

> - Repositionne des images deja generees sur un canevas et remplit les zones vides avec l'IA
- Adapte pour ajuster la composition, etendre les scenes, etc.
- Mode de traitement asynchrone, utilisez l'ID de tache retourne pour [effectuer une requete](/fr/api-manual/task-management/get-task-detail)

<Note>
  Midjourney dispose d'un système de modération de contenu intégré. Si certaines images générées sont filtrées par la modération, les crédits consommés pour cette requête ne seront pas remboursés. Veuillez vous assurer que vos prompts respectent les directives de contenu.
</Note>


## OpenAPI

````yaml fr/api-manual/image-series/midjourney/mj-v7-edit.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: Interface mj-v7-edit
  description: Interface d'edition de canevas Midjourney V7
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Génération d'images
    description: Interfaces de génération d'images IA
paths:
  /v1/images/generations:
    post:
      tags:
        - Génération d'images
      summary: Interface mj-v7-edit
      description: >-
        - Repositionne des images deja generees sur un canevas et remplit les
        zones vides avec l'IA

        - Adapte pour ajuster la composition, etendre les scenes, etc.

        - Mode de traitement asynchrone, utilisez l'ID de tache retourne pour
        [effectuer une requete](/fr/api-manual/task-management/get-task-detail)
      operationId: createImageGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              edit_example:
                summary: Edition de canevas
                value:
                  model: mj-v7-edit
                  prompt: Magnifique paysage de montagne
                  model_params:
                    task_id: task-unified-xxx
                    image_number: 0
                    canvas:
                      width: 1024
                      height: 1024
                    img_pos:
                      width: 512
                      height: 512
                      x: 256
                      'y': 256
                    speed: fast
      responses:
        '200':
          description: Génération d'imagesTâche 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é, token 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, veuillez recharger
          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: mj-v7-edit'
                  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
        - model_params
      properties:
        model:
          type: string
          description: Nom du modèle
          enum:
            - mj-v7-edit
          default: mj-v7-edit
          example: mj-v7-edit
        prompt:
          type: string
          description: Decrire le contenu de remplissage souhaite
          example: Magnifique paysage de montagne
        model_params:
          type: object
          description: Parametres d'edition de canevas
          required:
            - task_id
            - canvas
            - img_pos
          properties:
            task_id:
              type: string
              description: ID de la tache source
              example: task-unified-xxx
            image_number:
              type: integer
              description: Selectionner l'image de la tache source
              enum:
                - 0
                - 1
                - 2
                - 3
              default: 0
              example: 0
            canvas:
              type: object
              description: Dimensions du canevas (pixels)
              required:
                - width
                - height
              properties:
                width:
                  type: integer
                  description: Largeur du canevas
                  example: 1024
                height:
                  type: integer
                  description: Hauteur du canevas
                  example: 1024
            img_pos:
              type: object
              description: Position et taille de l'image sur le canevas
              required:
                - width
                - height
                - x
                - 'y'
              properties:
                width:
                  type: integer
                  description: Largeur de rendu
                  example: 512
                height:
                  type: integer
                  description: Hauteur de rendu
                  example: 512
                x:
                  type: integer
                  description: Decalage horizontal du coin superieur gauche
                  example: 256
                'y':
                  type: integer
                  description: Decalage vertical du coin superieur gauche
                  example: 256
            mask:
              type: object
              description: Zone de repeinture optionnelle (meme format que inpaint)
            speed:
              type: string
              description: |-
                Mode de vitesse

                **Informations sur les couts :** Le mode turbo coûte plus cher
              enum:
                - fast
                - turbo
              default: fast
              example: fast
        callback_url:
          type: string
          description: >-
            Adresse de rappel HTTPS apres l'achevement de la tache


            **Moment du rappel :**

            - Declenche lorsque la tache est terminee (completed), echouee
            (failed) ou annulee (cancelled)

            - Envoye apres la confirmation de facturation


            **Restrictions de securite :**

            - Seul le protocole HTTPS est pris en charge

            - Les rappels vers les adresses IP privees 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 depasser `2048` caracteres


            **Mecanisme de rappel :**

            - Delai d'expiration : `10` secondes

            - Jusqu'a `3` tentatives apres un echec (respectivement
            `1`s/`2`s/`4`s apres l'echec)

            - Le format du corps de la reponse de rappel est identique a celui
            de l'interface de requete de tache

            - Un code de statut 2xx de l'adresse de rappel est considere comme
            un succes, tout autre code de statut declenche 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
          example: 1757165031
        id:
          type: string
          description: ID de la tâche
          example: task-unified-1757165031-mjv7
        model:
          type: string
          description: Nom du modèle utilisé
        object:
          type: string
          enum:
            - image.generation.task
          description: Type de tâche
        progress:
          type: integer
          description: Pourcentage de progression (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'
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identifiant du code d'erreur
            message:
              type: string
              description: Message d'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
      properties:
        billing_rule:
          type: string
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: Crédits estimés consommés
          minimum: 0
          example: 1.8
        user_group:
          type: string
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Toutes les interfaces necessitent une authentification par Bearer
        Token##


        **Obtenir une cle API :**


        Visitez la [page de gestion des cles
        API](https://evolink.ai/dashboard/keys) pour obtenir votre cle API


        **Ajoutez dans l'en-tete de la requete :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````