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

# Kling-4.0 참조-비디오 변환

> - Kling-4.0 Reference to Video (kling-v4-reference-to-video)는 참조 이미지와 비디오를 기반으로 새로운 비디오를 생성합니다
- 참조 비디오는 특징 참조용으로 사용되며(직접 편집이 아님), 텍스트 및 참조 이미지와 결합할 수 있습니다
- 비동기 처리 모드이며, 반환된 작업 ID를 사용하여 [상태 조회](/ko/api-manual/task-management/get-task-detail)
- 생성된 비디오 링크는 24시간 동안 유효하며, 즉시 저장하시기 바랍니다



## OpenAPI

````yaml ko/api-manual/video-series/kling/kling-v4-reference-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: kling-v4-reference-to-video API
  description: AI 모델을 사용하여 참조 기반 비디오 생성 작업 만들기
  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: kling-v4-reference-to-video API
      description: >-
        - Kling-4.0 Reference to Video (kling-v4-reference-to-video)는 참조 이미지와
        비디오를 기반으로 새로운 비디오를 생성합니다

        - 참조 비디오는 특징 참조용으로 사용되며(직접 편집이 아님), 텍스트 및 참조 이미지와 결합할 수 있습니다

        - 비동기 처리 모드이며, 반환된 작업 ID를 사용하여 [상태
        조회](/ko/api-manual/task-management/get-task-detail)

        - 생성된 비디오 링크는 24시간 동안 유효하며, 즉시 저장하시기 바랍니다
      operationId: createVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              basic:
                summary: 기본 비디오 참조
                value:
                  model: kling-v4-reference-to-video
                  prompt: <<<video_1>>>의 움직임 스타일을 유지하고 배경을 설경으로 바꾼다
                  video_urls:
                    - https://example.com/reference.mp4
                  duration: 5
                  aspect_ratio: '16:9'
                  quality: 720p
              pro:
                summary: 고화질 세로 비디오
                value:
                  model: kling-v4-reference-to-video
                  prompt: <<<video_1>>>의 동작 리듬을 참고하여 스트리트 댄스 비디오를 생성한다
                  video_urls:
                    - https://example.com/dance.mp4
                  duration: 10
                  aspect_ratio: '9:16'
                  quality: 1080p
              with_reference_image:
                summary: 비디오 및 이미지 참조
                value:
                  model: kling-v4-reference-to-video
                  prompt: <<<image_1>>>의 인물이 <<<video_1>>>의 장면 스타일을 반영한 공간을 걷는다
                  video_urls:
                    - https://example.com/reference.mp4
                  image_urls:
                    - https://example.com/character.jpg
                  duration: 8
                  quality: 1080p
              image_only:
                summary: 참조 이미지만 사용
                value:
                  model: kling-v4-reference-to-video
                  prompt: <<<image_1>>>의 제품을 나무 테이블 위에 놓고 카메라가 천천히 주위를 돈다
                  image_urls:
                    - https://example.com/product.jpg
                  duration: 5
                  aspect_ratio: '1:1'
                  quality: 720p
      responses:
        '200':
          description: 비디오 생성 작업이 성공적으로 생성되었습니다
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: 잘못된 요청 매개변수
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  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:
                    kling-v4-reference-to-video
                  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
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: 비디오 생성 모델 이름
          enum:
            - kling-v4-reference-to-video
          default: kling-v4-reference-to-video
          example: kling-v4-reference-to-video
        prompt:
          type: string
          description: >-
            텍스트 프롬프트, 최대 2500자


            **참조 구문:** 프롬프트에서 `<<<xxx>>>`를 사용하여 이미지와 비디오를 참조할 수 있습니다. 예:
            `<<<image_1>>>의 인물이 <<<video_1>>>의 카메라 움직임에 맞춰 거리를 걷는다`
          example: <<<image_1>>>의 인물이 <<<video_1>>>의 카메라 움직임에 맞춰 거리를 걷는다
          maxLength: 2500
        video_urls:
          type: array
          description: >-
            참조 비디오 URL 배열. 최대 `5`개이며 순서대로 프롬프트의 `<<<video_1>>>`, `<<<video_2>>>`
            등에 대응합니다


            **비디오 요구 사항:**

            - 형식: MP4 / MOV

            - 크기: 비디오당 ≤ 200MB

            - 길이: 비디오당 ≥ 3초, 전체 합계 ≤ 30초

            - 크기: 너비와 높이 각각 720px~2160px

            - 프레임 속도: 24fps~60fps

            - 비디오 URL은 서버에서 직접 접근할 수 있어야 합니다
          items:
            type: string
            format: uri
          maxItems: 5
          example:
            - https://example.com/reference.mp4
        image_urls:
          type: array
          description: >-
            참조 이미지 URL 배열(스타일, 장면, 피사체 참조). 순서대로 프롬프트의 `<<<image_1>>>`,
            `<<<image_2>>>` 등에 대응합니다


            **제약:** 최대 `10`장

            **참고:** 이미지 URL은 서버에서 직접 접근할 수 있거나 접근 시 바로 다운로드되어야 합니다
          items:
            type: string
            format: uri
          example:
            - https://example.com/character.jpg
          maxItems: 10
        duration:
          type: integer
          description: 비디오 길이(초), 범위 3~30초
          minimum: 3
          maximum: 30
          default: 5
          example: 5
        aspect_ratio:
          type: string
          description: |-
            비디오 화면 비율

            **옵션:**
            - `16:9`: 가로
            - `9:16`: 세로
            - `1:1`: 정사각형
            - `21:9`: 울트라와이드
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '21:9'
          example: '16:9'
          default: '16:9'
        quality:
          type: string
          description: |-
            해상도 등급

            **옵션:**
            - `720p`: 표준 720P
            - `1080p`: 고화질 1080P
          enum:
            - 720p
            - 1080p
          default: 720p
          example: 720p
        callback_url:
          type: string
          description: |-
            작업 완료 시 HTTPS 콜백 URL

            **콜백 시점:**
            - 작업이 완료, 실패 또는 취소될 때 트리거됩니다
            - 과금 확인 후 전송됩니다

            **보안 제한:**
            - 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: kling-v4-reference-to-video
        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: true
        estimated_time:
          type: integer
          description: 예상 완료 시간 (초)
          minimum: 0
          example: 300
        video_duration:
          type: integer
          description: 비디오 길이 (초)
          example: 9
    VideoUsage:
      type: object
      description: 사용량 및 과금 정보
      properties:
        billing_rule:
          type: string
          description: 과금 규칙
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: 예상 소비 크레딧
          minimum: 0
          example: 53.38
        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.