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

# Hailuo-2.3 Generación de video

> - Hailuo 2.3 (MiniMax-Hailuo-2.3) soporta modos T2V (Texto a Video) e I2V (Imagen a Video)
- Detección automática de modo: 0 imágenes=T2V, 1 imagen=I2V
- Seguimiento de instrucciones SOTA, salida de alta calidad
- Soporta 15 comandos de movimiento de cámara como `[Pan left]`, `[Push in]`, `[Static shot]`
- Procesamiento asíncrono, usa el ID de tarea devuelto para [consultar estado](/es/api-manual/task-management/get-task-detail)
- Los enlaces de video generados son válidos por 24 horas, guárdalos oportunamente



## OpenAPI

````yaml es/api-manual/video-series/hailuo/hailuo-2-3-video-generate.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Hailuo 2.3 API
  description: >-
    Crea tareas de generación de video usando el modelo MiniMax Hailuo 2.3,
    soportando modos T2V e I2V
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Generación de video
    description: APIs de generación de video con IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Generación de video
      summary: Hailuo 2.3 API
      description: >-
        - Hailuo 2.3 (MiniMax-Hailuo-2.3) soporta modos T2V (Texto a Video) e
        I2V (Imagen a Video)

        - Detección automática de modo: 0 imágenes=T2V, 1 imagen=I2V

        - Seguimiento de instrucciones SOTA, salida de alta calidad

        - Soporta 15 comandos de movimiento de cámara como `[Pan left]`, `[Push
        in]`, `[Static shot]`

        - Procesamiento asíncrono, usa el ID de tarea devuelto para [consultar
        estado](/es/api-manual/task-management/get-task-detail)

        - Los enlaces de video generados son válidos por 24 horas, guárdalos
        oportunamente
      operationId: createVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Texto a Video (T2V)
                value:
                  model: MiniMax-Hailuo-2.3
                  prompt: A beautiful sunset over the ocean [Static shot]
      responses:
        '200':
          description: Tarea de generación de video creada exitosamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '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, se requiere recarga
          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: MiniMax-Hailuo-2.3'
                  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:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: Nombre del modelo de generación de video
          default: MiniMax-Hailuo-2.3
          example: MiniMax-Hailuo-2.3
        prompt:
          type: string
          description: >-
            Prompt que describe el contenido del video y el movimiento de
            cámara. Requerido para T2V, opcional para I2V. Máx 2000 caracteres


            **15 Comandos de Cámara:**

            - Truck: `[Truck left]`, `[Truck right]`

            - Pan: `[Pan left]`, `[Pan right]`

            - Dolly: `[Push in]`, `[Pull out]`

            - Pedestal: `[Pedestal up]`, `[Pedestal down]`

            - Tilt: `[Tilt up]`, `[Tilt down]`

            - Zoom: `[Zoom in]`, `[Zoom out]`

            - Especial: `[Shake]`

            - Seguimiento: `[Tracking shot]`

            - Estático: `[Static shot]`


            **Uso:**

            - Combinado: Múltiples comandos en un `[]` se ejecutan
            simultáneamente, ej. `[Pan left,Pedestal up]`, máx 3 recomendado

            - Secuencial: Los comandos se ejecutan en orden del texto, ej.
            `...lentamente [Push in], luego rápidamente [Pull out]`
          example: A beautiful sunset over the ocean [Static shot]
          maxLength: 2000
        image_urls:
          type: array
          description: |-
            URLs de imágenes de referencia para modo I2V, opcional

            **Detección de Modo:**
            - 0 imágenes = T2V (Texto a Video)
            - 1 imagen = I2V (Imagen a Video)

            **Requisitos:**
            - Tamaño de imagen: máx 20MB
            - Formatos: JPG, JPEG, PNG, WebP
            - Relación de aspecto: 2:5 a 5:2
            - Borde corto > 300px
          items:
            type: string
            format: uri
          maxItems: 1
          example:
            - https://example.com/image.jpg
        quality:
          type: string
          description: |-
            Resolución de video

            **Soportado por modo:**
            - I2V: 768p, 1080p
            - T2V: 768p, 1080p

            **Duración y Resolución:**
            - 768p: 6s, 10s
            - 1080p: solo 6s
          enum:
            - 768p
            - 1080p
          default: 768p
          example: 768p
        duration:
          type: integer
          description: |-
            Duración del video (segundos)
            - 6 segundos (predeterminado)
            - 10 segundos (no disponible para 1080p)
          enum:
            - 6
            - 10
          default: 6
          example: 10
        model_params:
          type: object
          description: Parámetros específicos del modelo
          properties:
            prompt_optimizer:
              type: boolean
              description: >-
                Optimización automática del prompt. Establece false para control
                preciso
              default: true
              example: true
            fast_pretreatment:
              type: boolean
              description: >-
                Habilitar preprocesamiento rápido para reducir el tiempo de
                optimización
              default: false
              example: false
        callback_url:
          type: string
          description: >-
            URL de callback HTTPS para completación de tarea


            **Momento del Callback:**

            - Se activa cuando la tarea se completa, falla o se cancela

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


            **Restricciones de Seguridad:**

            - Solo protocolo HTTPS

            - Direcciones IP internas están prohibidas (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 del fallo (a `1`/`2`/`4` segundos
            después del fallo)

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

            - El código de estado 2xx se considera exitoso, otros códigos
            activan reintento
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Marca de tiempo de creación de la tarea
          example: 1757169743
        id:
          type: string
          description: ID de tarea
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: Nombre del modelo utilizado
          example: MiniMax-Hailuo-2.3
        object:
          type: string
          enum:
            - video.generation.task
          description: Tipo de tarea
        progress:
          type: integer
          description: Progreso de la tarea (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Estado de la tarea
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identificador del código de error
            message:
              type: string
              description: Descripción del error
            type:
              type: string
              description: Tipo de error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las APIs requieren autenticación Bearer Token##


        **Obtener API Key:**


        Visita la [Página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````