> ## 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 Generación de imágenes

> - El modelo Midjourney V7 genera imágenes de alta calidad mediante prompts en lenguaje natural, 4 imágenes por generación
- Soporta generación texto-a-imagen e imagen-a-imagen (referenciando URLs de imágenes en el prompt)
- Soporta toda la sintaxis nativa de parámetros V7 (como --ar, --s, --c, etc.), consulte la [guía de parámetros de prompt](/es/api-manual/image-series/midjourney/midjourney-v7-prompt-guide)
- Modo de procesamiento asíncrono, use el ID de la tarea devuelto para [consultar](/es/api-manual/task-management/get-task-detail)
- Los enlaces de imágenes generadas son válidos por 24 horas, guárdelos lo antes posible
- Tiempo de espera: aproximadamente 20 minutos
- Protección del sistema: `--v`/`--version` bloqueado en V7, `--niji` no compatible, `--fast`/`--turbo`/`--draft` debe controlarse a través de `model_params.speed` (estos parámetros en el prompt se eliminarán automáticamente)

<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-image-generate.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: Midjourney V7 Interfaz de generación de imágenes
  description: Crear tareas de Generación de imágenestarea
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Producción
security:
  - bearerAuth: []
paths:
  /v1/images/generations:
    post:
      tags:
        - Generación de imágenes
      summary: Midjourney V7 Interfaz de generación de imágenes
      description: >-
        - El modelo Midjourney V7 genera imágenes de alta calidad mediante
        prompts en lenguaje natural, 4 imágenes por generación

        - Soporta generación texto-a-imagen e imagen-a-imagen (referenciando
        URLs de imágenes en el prompt)

        - Soporta toda la sintaxis nativa de parámetros V7 (como --ar, --s, --c,
        etc.), consulte la [guía de parámetros de
        prompt](/es/api-manual/image-series/midjourney/midjourney-v7-prompt-guide)

        - Modo de procesamiento asíncrono, use el ID de la tarea devuelto para
        [consultar](/es/api-manual/task-management/get-task-detail)

        - Los enlaces de imágenes generadas son válidos por 24 horas, guárdelos
        lo antes posible

        - Tiempo de espera: aproximadamente 20 minutos

        - Protección del sistema: `--v`/`--version` bloqueado en V7, `--niji` no
        compatible, `--fast`/`--turbo`/`--draft` debe controlarse a través de
        `model_params.speed` (estos parámetros en el prompt se eliminarán
        automáticamente)
      operationId: createMjV7ImageGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              text_to_image:
                summary: Generación de imagen desde texto
                value:
                  model: mj-v7
                  prompt: >-
                    A cinematic shot of a Maine Coon cat on a neon-lit balcony
                    --ar 16:9 --s 500
                  model_params:
                    speed: fast
              image_to_image:
                summary: Imagen a imagen
                value:
                  model: mj-v7
                  prompt: >-
                    https://example.com/ref.jpg A sunset landscape in watercolor
                    style --iw 1.5 --ar 16:9
                  model_params:
                    speed: fast
      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'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: No autenticado, token inválido o expirado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Cuota insuficiente, recargue por favor
          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: Acceso denegado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: mj-v7'
                  type: invalid_request_error
        '429':
          description: Límite de velocidad excedido
          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: Error interno del servidor
          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
          enum:
            - mj-v7
          default: mj-v7
          description: Nombre del modelo
        prompt:
          type: string
          description: >-
            Prompt, soporta toda la sintaxis nativa de parámetros de Midjourney
            V7 (como --ar 16:9 --s 500).


            **Imagen a imagen:** Coloque las URLs de imagen al inicio del
            prompt. Formatos soportados: .png, .gif, .webp, .jpg, .jpeg


            **Reglas de imagen a imagen:**

            - 1 imagen + sin texto = **inválido** (devolverá error)

            - 1 imagen + descripción de texto = válido

            - 2+ imágenes + sin texto = válido

            - 2+ imágenes + descripción de texto = válido
          maxLength: 8192
          example: >-
            A cinematic shot of a Maine Coon cat on a neon-lit balcony --ar 16:9
            --s 500
        model_params:
          type: object
          description: Parámetros del modelo
          properties:
            speed:
              type: string
              enum:
                - draft
                - fast
                - turbo
              default: fast
              description: >-
                Modo de velocidad


                - `draft`: Modo boceto, 10 veces más rápido, menor costo, se
                puede mejorar después con mj-v7-enhance

                - `fast`: Modo estándar (predeterminado)

                - `turbo`: Modo ultra rápido, mayor costo


                **Información de costos:** draft es el más económico, turbo el
                más costoso (aproximadamente 2 veces el costo de fast)
        callback_url:
          type: string
          description: >-
            Dirección de callback HTTPS después de completar la tarea


            **Momento del callback:**

            - Se activa cuando la tarea se completa (completed), falla (failed)
            o se cancela (cancelled)

            - Se envía después de confirmar la facturación


            **Restricciones de seguridad:**

            - Solo se admite el protocolo HTTPS

            - Se prohíbe el callback a direcciones IP de red interna (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - La longitud de la URL no debe exceder `2048` caracteres


            **Mecanismo de callback:**

            - Tiempo de espera: `10` segundos

            - Máximo `3` reintentos después de fallar (a los `1`s/`2`s/`4`s
            respectivamente)

            - El formato de respuesta del callback es consistente con el de la
            interfaz de consulta de tareas

            - Si la dirección de callback devuelve un código 2xx se considera
            exitoso, otros códigos activan reintentos
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    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
          example: mj-v7
        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'
          description: Información de tarea asíncrona
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Tipo de salida
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          description: Información de uso y facturación
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identificador de código de error
            message:
              type: string
              description: Mensaje de error
            type:
              type: string
              description: Tipo de error
    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
      description: Información de uso y facturación
      properties:
        billing_rule:
          type: string
          description: Regla de facturación
          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
          description: Grupo de usuario
          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

        ```

````