> ## 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 비디오 업스케일

> - Tencent Video Upscale (tencent-video-upscale)은 기존 영상의 화질을 개선하고 `720p`, `1080p`, `2k` 또는 `4k`로 업스케일합니다
- 실사, 애니메이션, 원거리 장면의 작은 얼굴, 얼굴 특징 보존, 디테일 강조, 부드러운 결과를 위한 7가지 스타일을 제공합니다
- 기본적으로 원본 프레임 레이트를 유지합니다(`model_params.max_fps: "source"`). `"30"`, `"60"`, `"120"`으로 상한을 설정할 수 있습니다. 프레임 레이트를 낮추기만 하며 프레임 보간은 하지 않습니다
- 영상 길이에 따라 과금됩니다. 해상도와 출력 프레임 레이트별 가격은 [EvoLink 모델 가격](https://evolink.ai/models)을 확인하세요
- 비동기 처리 방식입니다. 반환된 작업 ID로 [작업 상태를 조회](/ko/api-manual/task-management/get-task-detail)하세요
- 제출한 작업은 취소할 수 없습니다
- 처리된 영상 URL은 24시간 동안 유효합니다. 영상을 바로 저장하세요



## OpenAPI

````yaml ko/api-manual/video-series/tencent/tencent-video-upscale.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: tencent-video-upscale API
  description: Tencent Video Upscale로 영상 화질을 개선하고 720p, 1080p, 2K 또는 4K로 업스케일합니다
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: 프로덕션 환경
security:
  - bearerAuth: []
tags:
  - name: 비디오 생성
    description: AI 영상 생성 관련 API
paths:
  /v1/videos/generations:
    post:
      tags:
        - 비디오 생성
      summary: tencent-video-upscale API
      description: >-
        - Tencent Video Upscale (tencent-video-upscale)은 기존 영상의 화질을 개선하고 `720p`,
        `1080p`, `2k` 또는 `4k`로 업스케일합니다

        - 실사, 애니메이션, 원거리 장면의 작은 얼굴, 얼굴 특징 보존, 디테일 강조, 부드러운 결과를 위한 7가지 스타일을 제공합니다

        - 기본적으로 원본 프레임 레이트를 유지합니다(`model_params.max_fps: "source"`). `"30"`,
        `"60"`, `"120"`으로 상한을 설정할 수 있습니다. 프레임 레이트를 낮추기만 하며 프레임 보간은 하지 않습니다

        - 영상 길이에 따라 과금됩니다. 해상도와 출력 프레임 레이트별 가격은 [EvoLink 모델
        가격](https://evolink.ai/models)을 확인하세요

        - 비동기 처리 방식입니다. 반환된 작업 ID로 [작업 상태를
        조회](/ko/api-manual/task-management/get-task-detail)하세요

        - 제출한 작업은 취소할 수 없습니다

        - 처리된 영상 URL은 24시간 동안 유효합니다. 영상을 바로 저장하세요
      operationId: createTencentVideoUpscaleTask
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              default_1080p:
                summary: '기본값: 일반 실사 스타일, 1080p, 원본 프레임 레이트'
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-video.mp4
              explicit_defaults:
                summary: '위 예시와 동일한 동작: 모든 기본값을 명시'
                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: 애니메이션 영상을 4K로 개선
                value:
                  model: tencent-video-upscale
                  video_urls:
                    - https://example.com/my-animation.mp4
                  mode: animation
                  quality: 4k
              cap_frame_rate:
                summary: 높은 프레임 레이트의 영상을 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: 콜백 URL 포함
                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: 영상 화질 개선 작업이 생성되었습니다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: 요청 매개변수가 잘못되었습니다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missing_video:
                  summary: 비디오 URL 누락
                  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: 잘못된 화질 개선 스타일
                  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: 잘못된 프레임 레이트 상한
                  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: 영상 길이가 60초를 초과함
                  value:
                    error:
                      code: invalid_parameter
                      message: video duration 75.2s exceeds the 60s limit
                      type: invalid_request_error
                source_too_large:
                  summary: 원본 영상이 4K를 초과함
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        source video resolution exceeds 4K (short side 2880px >
                        2160px)
                      type: invalid_request_error
                target_too_low:
                  summary: 목표 해상도가 원본보다 낮음
                  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: 최상위 fps 매개변수는 지원되지 않음
                  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: 영상 정보 읽기 실패
                  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: 인증되지 않았거나 토큰이 유효하지 않거나 만료되었습니다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: 할당량이 부족합니다. 충전이 필요합니다
          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: 접근이 거부되었습니다
          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: 요청 한도를 초과했습니다
          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: 서버 내부 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
        '503':
          description: 서비스를 일시적으로 이용할 수 없습니다. 나중에 다시 시도하거나 고객지원에 문의하세요
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - video_urls
      properties:
        model:
          type: string
          description: 비디오 업스케일 모델 이름
          enum:
            - tencent-video-upscale
          default: tencent-video-upscale
          example: tencent-video-upscale
        video_urls:
          type: array
          description: >-
            입력 영상 URL 목록


            **참고:**

            - 요청당 영상 `1`개만 지원합니다(여러 개를 전달하면 첫 번째 영상만 사용합니다)

            - 영상 URL은 서버에서 직접 접근할 수 있어야 합니다(공개 URL 또는 사전 서명된 URL)

            - 지원 형식: `.mp4`, `.mov`

            - 최대 길이: `60`초

            - 원본 최대 해상도: 4K(짧은 변이 `2160`픽셀 이하)

            - 제출 시 서버가 영상 길이, 해상도, 프레임 레이트를 읽습니다. 읽기에 실패하면 `video_probe_failed`를
            반환합니다
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 1
          example:
            - https://example.com/my-video.mp4
        mode:
          type: string
          description: |-
            영상 내용에 맞게 선택하는 화질 개선 스타일

            **선택 항목:**
            - `realistic` - 일반 실사: 실사 등 일반적인 장면 — **기본값**
            - `realistic_distant` - 실사·원거리: 원거리 장면의 작은 얼굴에 최적화
            - `animation` - 일반 애니메이션: 애니메이션, 애니, 만화 영상
            - `animation_distant` - 애니메이션·원거리: 먼 거리의 캐릭터가 많은 장면에서 작은 얼굴에 최적화
            - `face_fidelity` - 얼굴 특징 보존: 원본 얼굴 특징을 최대한 유지
            - `detail_boost` - 디테일 강조: 질감과 윤곽을 더 뚜렷하게 표현
            - `soft` - 부드럽게: 샤프닝을 줄여 더 자연스럽게 표현

            대소문자를 구분하지 않습니다. 잘못된 값은 거부됩니다
          enum:
            - realistic
            - realistic_distant
            - animation
            - animation_distant
            - face_fidelity
            - detail_boost
            - soft
          default: realistic
          example: realistic
        quality:
          type: string
          description: >-
            영상의 짧은 변을 기준으로 하는 목표 해상도


            **선택 항목:**

            - `720p` - 짧은 변 `720`픽셀

            - `1080p` - 짧은 변 `1080`픽셀 — **기본값**

            - `2k` - 짧은 변 `1440`픽셀

            - `4k` - 짧은 변 `2160`픽셀


            **참고:**

            - 목표 해상도는 원본보다 낮을 수 없습니다. 예를 들어 `1080p` 원본은 `1080p`, `2k`, `4k`를 선택할
            수 있으며 `720p`는 거부됩니다

            - 원본 해상도 이상인 가장 낮은 단계를 선택하면 화면 크기는 거의 바뀌지 않습니다
          enum:
            - 720p
            - 1080p
            - 2k
            - 4k
          default: 1080p
          example: 1080p
        model_params:
          type: object
          description: 모델별 매개변수
          properties:
            max_fps:
              type: string
              description: >-
                출력 영상의 프레임 레이트 상한입니다. 기본값 `"source"`는 원본 프레임 레이트를 유지하며, 생략해도
                `"source"`와 같습니다


                **선택 항목:**

                - `"source"` - 원본 프레임 레이트 유지 — **기본값**

                - `"30"` - 출력 프레임 레이트를 30 fps 이하로 제한

                - `"60"` - 출력 프레임 레이트를 60 fps 이하로 제한

                - `"120"` - 출력 프레임 레이트를 120 fps 이하로 제한


                **동작:**

                - 원본 프레임 레이트가 상한 이하면 그대로 유지하며 **프레임 보간은 하지 않습니다**. 상한을 초과하면 상한까지
                낮춥니다

                - `"source"`를 사용하거나 생략하더라도 원본이 `120` fps를 초과하면 `120` fps로 제한됩니다


                **허용되는 타입:**

                - 문자열 사용을 권장합니다. 정수 `30`, `60`, `120`도 지원합니다(예: `"60"`과 `60`은
                동일)

                - `"source"`는 대소문자를 구분하지 않습니다

                - 다른 값(예: `45`, `60.5`, `"auto"`)은 거부됩니다

                - 이 모델은 최상위 `fps` 매개변수를 지원하지 않습니다
              enum:
                - source
                - '30'
                - '60'
                - '120'
              default: source
              example: '30'
        callback_url:
          type: string
          description: >-
            작업 완료 후 HTTPS 콜백 주소


            **콜백 타이밍:**

            - 작업이 완료, 실패 또는 취소될 때 트리거됨

            - 과금 확인 완료 후 전송


            **보안 제한:**

            - HTTPS 프로토콜만 지원

            - 내부 IP 주소로의 콜백 금지 (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x
            등)

            - URL 길이는 `2048`자를 초과할 수 없음


            **콜백 메커니즘:**

            - 타임아웃: `10`초

            - 실패 시 최대 `3`회 재시도 (`1`초/`2`초/`4`초 후 재시도)

            - 콜백 응답 본문 형식은 작업 조회 API 응답 형식과 동일

            - 콜백 주소가 2xx 상태 코드를 반환하면 성공으로 간주, 다른 상태 코드는 재시도를 트리거
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: 작업 생성 타임스탬프
          example: 1757169743
        id:
          type: string
          description: 작업 ID
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: 실제 사용된 모델 이름
          example: tencent-video-upscale
        object:
          type: string
          enum:
            - video.generation.task
          description: 작업 유형
        progress:
          type: integer
          description: 작업 진행률 (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: 작업 상태
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: 비디오 작업 상세 정보
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: 작업 출력 유형
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: 사용량 및 과금 정보
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: 오류 코드 식별자
            message:
              type: string
              description: 오류 설명
            type:
              type: string
              description: 오류 유형
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: 작업 취소 가능 여부(이 모델의 작업은 제출 후 취소할 수 없습니다)
          example: false
        estimated_time:
          type: integer
          description: >-
            예상 완료 시간(초). 실제 소요 시간은 대기열 상황에 따라 달라지며 4K, 높은 프레임 레이트, 긴 영상은 훨씬 오래
            걸립니다
          minimum: 0
          example: 120
        video_duration:
          type: integer
          description: 비디오 길이 (초)
          example: 0
    VideoUsage:
      type: object
      description: 사용량 및 과금 정보
      properties:
        billing_rule:
          type: string
          description: >-
            과금 규칙. 이 모델은 영상 길이에 따라 `per_second`로 과금됩니다. 실제 가격은 [EvoLink 모델
            가격](https://evolink.ai/models)을 확인하세요
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: 예상 크레딧 사용량(사전 승인). 최종 사용량은 작업 완료 후 정산되며, 최종 금액은 청구 내역을 확인하세요
          minimum: 0
          example: 3.264
        user_group:
          type: string
          description: 사용자 그룹 카테고리
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        ##모든 API는 Bearer Token 인증이 필요합니다##

        **API Key 받기:**

        [API Key 관리 페이지](https://evolink.ai/dashboard/keys)를 방문하여 API Key를 받으세요

        **요청 헤더에 추가:**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````

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