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

# Grok Imagine 이미지-비디오 변환 Beta

> - Grok Imagine (grok-imagine-image-to-video-beta) 모델은 이미지-투-비디오 모드를 지원합니다
- 비동기 처리 모드, 반환된 작업 ID를 사용하여 [조회](/ko/api-manual/task-management/get-task-detail)
- 생성된 비디오 링크는 24시간 동안 유효하며, 즉시 저장하세요



## OpenAPI

````yaml ko/api-manual/video-series/grok/grok-imagine-image-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: grok-imagine-image-to-video 인터페이스
  description: Grok Imagine 모델을 사용한 이미지-투-비디오 생성
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: 프로덕션 환경
security:
  - bearerAuth: []
paths:
  /v1/videos/generations:
    post:
      tags:
        - 비디오 생성
      summary: grok-imagine-image-to-video 인터페이스
      description: >-
        - Grok Imagine (grok-imagine-image-to-video-beta) 모델은 이미지-투-비디오 모드를
        지원합니다

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

        - 생성된 비디오 링크는 24시간 동안 유효하며, 즉시 저장하세요
      operationId: createGrokImagineImageToVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrokImagineImageToVideoRequest'
            examples:
              image_to_video:
                summary: 이미지-투-비디오
                value:
                  model: grok-imagine-image-to-video-beta
                  prompt: The person starts dancing
                  image_urls:
                    - https://example.com/image.jpg
                  duration: 6
                  mode: normal
      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:
                    grok-imagine-image-to-video-beta
                  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:
    GrokImagineImageToVideoRequest:
      type: object
      required:
        - model
        - prompt
        - image_urls
      properties:
        model:
          type: string
          description: >-
            모델 이름


            **하위 호환성:** 이전에 통합된 모델명 `grok-imagine-image-to-video`은 계속 사용 가능하며,
            `grok-imagine-image-to-video-beta`로 자동 매핑됩니다
          enum:
            - grok-imagine-image-to-video-beta
          default: grok-imagine-image-to-video-beta
          example: grok-imagine-image-to-video-beta
        prompt:
          type: string
          description: 비디오 설명 프롬프트
          example: The person starts dancing
        image_urls:
          type: array
          items:
            type: string
            format: uri
          description: |-
            참조 이미지 URL 목록

            **요구사항:**
            - 요청당 `1` ~ `7`개의 이미지 지원
            - 이미지 크기: 최대 `10MB`
            - 지원 형식: JPEG, PNG, WebP
          minItems: 1
          maxItems: 7
          example:
            - https://example.com/image.jpg
        duration:
          type: integer
          description: 비디오 길이 (초), `6`~`30`초 사이의 임의 정수
          minimum: 6
          maximum: 30
          default: 6
          example: 6
        mode:
          type: string
          description: |-
            생성 스타일

            **옵션:**
            - `fun`: 재미있는 스타일
            - `normal`: 일반 스타일 (기본값)
            - `spicy`: 강렬한 스타일
          enum:
            - fun
            - normal
            - spicy
          default: normal
          example: normal
        aspect_ratio:
          type: string
          description: |-
            화면 비율 (다중 이미지 모드에서만 적용. 단일 이미지 모드에서는 비디오 크기가 입력 이미지를 따릅니다)

            **옵션:**
            - `16:9`: 가로 (기본값)
            - `9:16`: 세로
            - `1:1`: 정사각형
            - `3:2`: 가로 3:2
            - `2:3`: 세로 2:3
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '3:2'
            - '2:3'
          default: '16:9'
          example: '16:9'
        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: grok-imagine-image-to-video-beta
        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/Usage'
          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: 120
    Usage:
      type: object
      description: 사용량 및 과금 정보
      properties:
        billing_rule:
          type: string
          description: 과금 규칙
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: 예상 소비 크레딧
          minimum: 0
          example: 4.8
        user_group:
          type: string
          description: 사용자 그룹 카테고리
          enum:
            - default
            - vip
          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
        ```

````