> ## 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 Retoque

<Note>
  Midjourney cuenta con un sistema de moderación de contenido integrado. Si algunas imágenes generadas son filtradas por la moderación, los créditos consumidos en esa solicitud no serán reembolsados. Asegúrese de que sus prompts cumplan con las directrices de contenido.
</Note>


## OpenAPI

````yaml es/api-manual/image-series/midjourney/mj-v7-inpaint.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: Interfaz mj-v7-inpaint
  version: 1.0.0
  description: >-
    - Regenerar áreas específicas de la imagen, manteniendo el resto sin cambios

    - Soporta dos tipos de máscara: coordenadas de polígono o imagen de máscara
    en blanco y negro

    - Modo de procesamiento asíncrono, use el ID de la tarea devuelto para
    [consultar](/es/api-manual/task-management/get-task-detail)
servers:
  - url: https://api.evolink.ai
security: []
paths:
  /v1/images/generations:
    post:
      summary: Midjourney V7 Inpaint
      operationId: mjV7Inpaint
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MjV7InpaintRequest'
            examples:
              polygon_mask:
                summary: Inpaint con coordenadas de polígono
                value:
                  model: mj-v7-inpaint
                  prompt: Agregar un árbol de cerezo
                  model_params:
                    task_id: task-unified-xxx
                    image_number: 0
                    mask:
                      areas:
                        - width: 200
                          height: 200
                          points:
                            - 50
                            - 50
                            - 50
                            - 250
                            - 250
                            - 250
                            - 250
                            - 50
              image_mask:
                summary: Inpaint con imagen de máscara
                value:
                  model: mj-v7-inpaint
                  model_params:
                    task_id: task-unified-xxx
                    image_number: 0
                    mask:
                      url: https://example.com/mask.png
      responses:
        '200':
          description: Tarea creada exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '400':
          description: Parámetros de solicitud inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: No autenticado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Cuota insuficiente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Acceso denegado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Límite de velocidad excedido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    MjV7InpaintRequest:
      type: object
      required:
        - model
        - model_params
      properties:
        model:
          type: string
          enum:
            - mj-v7-inpaint
          default: mj-v7-inpaint
          description: Nombre del modelo
        prompt:
          type: string
          description: Describir el contenido deseado para el área de repintado
          example: Agregar un árbol de cerezo
        model_params:
          type: object
          required:
            - task_id
            - mask
          description: Parámetros del modelo
          properties:
            task_id:
              type: string
              description: ID de tarea fuente
              example: task-unified-xxx
            image_number:
              type: integer
              enum:
                - 0
                - 1
                - 2
                - 3
              default: 0
              description: Seleccionar imagen (0-3)
            mask:
              type: object
              description: Definición del área de repintado, dos métodos soportados
              oneOf:
                - type: object
                  description: Método de coordenadas de polígono
                  required:
                    - areas
                  properties:
                    areas:
                      type: array
                      description: >-
                        Método de coordenadas de polígono, soporta múltiples
                        áreas de inpaint
                      items:
                        type: object
                        properties:
                          width:
                            type: integer
                            description: Ancho del cuadro delimitador del polígono
                          height:
                            type: integer
                            description: Alto del cuadro delimitador del polígono
                          points:
                            type: array
                            items:
                              type: integer
                            description: >-
                              Pares de coordenadas planas [x1,y1,x2,y2,...]
                              formando un polígono cerrado
                - type: object
                  description: >-
                    URL de imagen de máscara B/N, área blanca=área de inpaint,
                    área negra=área preservada
                  required:
                    - url
                  properties:
                    url:
                      type: string
                      format: uri
                      description: >-
                        URL de imagen de máscara B/N, área blanca=área de
                        inpaint, área negra=área preservada
            speed:
              type: string
              enum:
                - fast
                - turbo
              default: fast
              description: |-
                Modo de velocidad (solo se aplica cuando se proporciona prompt)

                **Información de costos:** El modo turbo cuesta más
        callback_url:
          type: string
          format: uri
          description: URL de callback tras finalización
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Marca de tiempo de creación
          example: 1757165031
        id:
          type: string
          description: ID de la tarea
          example: task-unified-1757165031-mjv7
        model:
          type: string
          description: Nombre del modelo utilizado
        object:
          type: string
          enum:
            - image.generation.task
          description: Tipo de tarea
        progress:
          type: integer
          description: Porcentaje de progreso (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Estado de la tarea
          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
            message:
              type: string
            type:
              type: string
    TaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tarea se puede cancelar
          example: true
        estimated_time:
          type: integer
          description: Tiempo estimado de finalización (segundos)
          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éditos estimados consumidos
          minimum: 0
          example: 1.8
        user_group:
          type: string
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las interfaces requieren autenticación con Bearer Token##


        **Obtener API Key:**


        Visite la [página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener su API Key


        **Agregue lo siguiente al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````