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

# Tencent Escalado de Video

> - Tencent Video Upscale (tencent-video-upscale) mejora videos existentes y aumenta su resolución a `720p`, `1080p`, `2k` o `4k`
- Ofrece 7 estilos para grabaciones reales, animación, rostros pequeños en planos lejanos, fidelidad facial, detalles más marcados y resultados más suaves
- Conserva la tasa de fotogramas original de forma predeterminada (`model_params.max_fps: "source"`); usa `"30"`, `"60"` o `"120"` para fijar un límite. Solo reduce la tasa de fotogramas; no interpola fotogramas
- Se factura según la duración del video. Consulta los [precios de los modelos EvoLink](https://evolink.ai/models) para las distintas resoluciones y tasas de fotogramas de salida
- Procesamiento asíncrono: usa el ID de tarea devuelto para [consultar su estado](/es/api-manual/task-management/get-task-detail)
- Las tareas no se pueden cancelar después de enviarlas
- Las URL de los videos mejorados son válidas durante 24 horas. Guarda tu video cuanto antes



## OpenAPI

````yaml es/api-manual/video-series/tencent/tencent-video-upscale.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Interfaz tencent-video-upscale
  description: >-
    Mejora la calidad del video con Tencent Video Upscale y aumenta su
    resolución a 720p, 1080p, 2K o 4K
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Entorno de producción
security:
  - bearerAuth: []
tags:
  - name: Generación de video
    description: APIs relacionadas con la generación de video por IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Generación de video
      summary: Interfaz tencent-video-upscale
      description: >-
        - Tencent Video Upscale (tencent-video-upscale) mejora videos existentes
        y aumenta su resolución a `720p`, `1080p`, `2k` o `4k`

        - Ofrece 7 estilos para grabaciones reales, animación, rostros pequeños
        en planos lejanos, fidelidad facial, detalles más marcados y resultados
        más suaves

        - Conserva la tasa de fotogramas original de forma predeterminada
        (`model_params.max_fps: "source"`); usa `"30"`, `"60"` o `"120"` para
        fijar un límite. Solo reduce la tasa de fotogramas; no interpola
        fotogramas

        - Se factura según la duración del video. Consulta los [precios de los
        modelos EvoLink](https://evolink.ai/models) para las distintas
        resoluciones y tasas de fotogramas de salida

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

        - Las tareas no se pueden cancelar después de enviarlas

        - Las URL de los videos mejorados son válidas durante 24 horas. Guarda
        tu video cuanto antes
      operationId: createTencentVideoUpscaleTask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              default_1080p:
                summary: >-
                  Predeterminado: estilo realista general, 1080p, tasa de
                  fotogramas original
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-video.mp4
              explicit_defaults:
                summary: >-
                  Equivalente al ejemplo anterior, con todos los valores
                  predeterminados explícitos
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-video.mp4
                  mode: realistic
                  quality: 1080p
                  model_params:
                    max_fps: source
              animation_4k:
                summary: Mejorar un video de animación a 4K
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-animation.mp4
                  mode: animation
                  quality: 4k
              cap_frame_rate:
                summary: Limitar un video con alta tasa de fotogramas a 30 fps
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-60fps-video.mp4
                  quality: 1080p
                  model_params:
                    max_fps: '30'
              with_callback:
                summary: Con URL de callback
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-video.mp4
                  mode: face_fidelity
                  quality: 2k
                  callback_url: https://your-domain.com/webhooks/video-task-completed
      responses:
        '200':
          description: Tarea de mejora de video creada correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Parámetros de solicitud inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missing_video:
                  summary: URL de video faltante
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        video_urls is required and must not be empty for
                        tencent-video-upscale
                      type: invalid_request_error
                invalid_mode:
                  summary: Estilo de mejora no válido
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        invalid mode "general" for tencent-video-upscale;
                        supported: realistic, realistic_distant, animation,
                        animation_distant, face_fidelity, detail_boost, soft
                      type: invalid_request_error
                invalid_max_fps:
                  summary: Límite de tasa de fotogramas no válido
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        invalid model_params.max_fps auto for
                        tencent-video-upscale; supported: "source", 30, 60, 120
                      type: invalid_request_error
                too_long:
                  summary: El video supera los 60 segundos
                  value:
                    error:
                      code: invalid_parameter
                      message: video duration 75.2s exceeds the 60s limit
                      type: invalid_request_error
                source_too_large:
                  summary: El video original supera 4K
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        source video resolution exceeds 4K (short side 2880px >
                        2160px)
                      type: invalid_request_error
                target_too_low:
                  summary: La resolución de destino es inferior a la original
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        target quality 720p is lower than the source video
                        (short side 1080px); choose a higher quality
                      type: invalid_request_error
                top_level_fps:
                  summary: No se admite el parámetro fps en el nivel superior
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        fps is not supported for tencent-video-upscale; use
                        model_params.max_fps (30, 60 or 120) to cap the output
                        frame rate
                      type: invalid_request_error
                probe_failed:
                  summary: No se pudieron leer los metadatos del video
                  value:
                    error:
                      code: video_probe_failed
                      message: >-
                        Failed to read the video's duration, resolution and
                        frame rate. Please provide a publicly downloadable MP4
                        or MOV video URL
                      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: tencent-video-upscale'
                  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
        '503':
          description: >-
            Servicio no disponible temporalmente. Inténtalo de nuevo más tarde o
            contacta con soporte
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - video_urls
      properties:
        model:
          type: string
          description: Nombre del modelo de escalado de video
          enum:
            - tencent-video-upscale
          default: tencent-video-upscale
          example: tencent-video-upscale
        video_urls:
          type: array
          description: >-
            Lista de URL de los videos de entrada


            **Notas:**

            - Solo se admite `1` video por solicitud (si se proporcionan varios,
            solo se usa el primero)

            - La URL del video debe ser directamente accesible para el servidor
            (URL pública o prefirmada)

            - Formatos admitidos: `.mp4`, `.mov`

            - Duración máxima: `60` segundos

            - Resolución máxima del original: 4K (lado corto de hasta `2160`
            píxeles)

            - Al enviar la solicitud, el servidor lee la duración, la resolución
            y la tasa de fotogramas. Si la lectura falla, devuelve
            `video_probe_failed`
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 1
          example:
            - https://example.com/my-video.mp4
        mode:
          type: string
          description: >-
            Estilo de mejora. Elige según el contenido del video


            **Opciones:**

            - `realistic` - Realista general: grabaciones reales y otras escenas
            habituales — **predeterminado**

            - `realistic_distant` - Realista, planos lejanos: optimizado para
            rostros pequeños en planos lejanos

            - `animation` - Animación general: animación, anime y dibujos
            animados

            - `animation_distant` - Animación, planos lejanos: optimizado para
            rostros pequeños en escenas animadas con personajes lejanos

            - `face_fidelity` - Fidelidad facial: conserva los rasgos faciales
            originales en la medida de lo posible

            - `detail_boost` - Refuerzo de detalles: resalta texturas y bordes

            - `soft` - Suave: menor enfoque para un aspecto más natural


            No distingue entre mayúsculas y minúsculas. Los valores no válidos
            se rechazan
          enum:
            - realistic
            - realistic_distant
            - animation
            - animation_distant
            - face_fidelity
            - detail_boost
            - soft
          default: realistic
          example: realistic
        quality:
          type: string
          description: >-
            Resolución de destino, medida por el lado corto del video


            **Opciones:**

            - `720p` - Lado corto de `720` píxeles

            - `1080p` - Lado corto de `1080` píxeles — **predeterminado**

            - `2k` - Lado corto de `1440` píxeles

            - `4k` - Lado corto de `2160` píxeles


            **Notas:**

            - La resolución de destino no puede ser inferior a la original. Por
            ejemplo, un video `1080p` admite `1080p`, `2k` o `4k`; se rechaza
            `720p`

            - Elegir el nivel más bajo que sea al menos igual a la resolución
            original mantiene el tamaño de la imagen prácticamente sin cambios
          enum:
            - 720p
            - 1080p
            - 2k
            - 4k
          default: 1080p
          example: 1080p
        model_params:
          type: object
          description: Parámetros específicos del modelo
          properties:
            max_fps:
              type: string
              description: >-
                Tasa máxima de fotogramas del video de salida. El valor
                predeterminado `"source"` conserva la tasa original; omitir este
                parámetro equivale a `"source"`


                **Opciones:**

                - `"source"` - Conservar la tasa de fotogramas original —
                **predeterminado**

                - `"30"` - Tasa de salida de hasta 30 fps

                - `"60"` - Tasa de salida de hasta 60 fps

                - `"120"` - Tasa de salida de hasta 120 fps


                **Comportamiento:**

                - Si la tasa original no supera el límite, se conserva; **no se
                interpolan fotogramas**. Si lo supera, se reduce al límite

                - Con `"source"` o sin este parámetro, las tasas originales
                superiores a `120` fps también se reducen a `120` fps


                **Tipos admitidos:**

                - Se recomienda usar cadenas de texto. También se aceptan los
                enteros `30`, `60` y `120` (por ejemplo, `"60"` y `60` son
                equivalentes)

                - `"source"` no distingue entre mayúsculas y minúsculas

                - Otros valores (como `45`, `60.5` o `"auto"`) se rechazan

                - Este modelo no admite el parámetro `fps` en el nivel superior
              enum:
                - source
                - '30'
                - '60'
                - '120'
              default: source
              example: '30'
        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, falla o se cancela

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


            **Restricciones de seguridad:**

            - Solo se admite el protocolo HTTPS

            - El callback a direcciones IP internas está prohibido (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 en caso de fallo (reintentos después de `1`
            segundo/`2` segundos/`4` segundos)

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

            - La dirección de callback que devuelve un código de estado 2xx se
            considera exitosa, otros códigos de estado activarán reintentos
          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 real utilizado
          example: tencent-video-upscale
        object:
          type: string
          enum:
            - video.generation.task
          description: Tipo de tarea
        progress:
          type: integer
          description: Porcentaje de 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
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Información detallada de la tarea de video
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Tipo de salida de la tarea
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Información de uso y facturación
    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
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: >-
            Indica si la tarea se puede cancelar (las tareas de este modelo no
            se pueden cancelar después de enviarlas)
          example: false
        estimated_time:
          type: integer
          description: >-
            Tiempo estimado de finalización en segundos. El tiempo real depende
            de la cola; 4K, tasas de fotogramas altas y videos largos requieren
            mucho más tiempo
          minimum: 0
          example: 120
        video_duration:
          type: integer
          description: Duración del video (segundos)
          example: 0
    VideoUsage:
      type: object
      description: Información de uso y facturación
      properties:
        billing_rule:
          type: string
          description: >-
            Regla de facturación. Este modelo se factura según la duración del
            video con `per_second`. Consulta los [precios de los modelos
            EvoLink](https://evolink.ai/models) para conocer los precios
            aplicables
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: >-
            Consumo estimado de créditos (preautorización). El consumo final se
            liquida al completar la tarea; consulta tu factura para ver el
            importe definitivo
          minimum: 0
          example: 3.264
        user_group:
          type: string
          description: Categoría de grupo de usuario
          example: default
  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

        ```

````

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