HiAPI
블로그

사용 가이드

이미지-투-비디오 API 워크플로: Runway, Wan 2.7, Vidu 및 프로덕션 환경 API 패턴

API를 통해 정적 이미지를 비디오로 변환하는 실전 가이드 — 소스 이미지 준비, 첫 프레임/마지막 프레임 제어, 모션 프롬프트 작성, 그리고 프로덕션 환경에서 견딜 수 있는 폴링 및 콜백 패턴.

Jun 24, 2026
이미지-투-비디오 API 워크플로: Runway, Wan 2.7, Vidu 및 프로덕션 환경 API 패턴

당신 손에 정적 이미지 하나가 있습니다 — 제품 렌더링 이미지, 승인된 키 비주얼, 캐릭터 설정 이미지 — 이제 이걸 움직이게 해야 합니다. 대략 비슷한 새로운 장면을 생성하는 게 아니라, 그 프레임 자체가 움직이게 하는 것입니다. 이것이 바로 이미지-투-비디오(i2v)가 하는 일이며, "프롬프트를 입력하고 모델이 머릿속 그림을 그려주길 바라는" 방식과는 전혀 다른 통합 방식입니다. 이 글은 실전 버전입니다: 소스 이미지 준비, 모션의 시작과 끝 지점 제어, 장면을 다시 묘사하는 대신 애니메이션을 구동하는 프롬프트 작성, 그리고 수 분에 걸친 렌더링이 백엔드를 마비시키지 않도록 폴링과 콜백을 처리하는 방법입니다.

아직 i2v를 사용해야 할지 텍스트-투-비디오를 사용해야 할지 고민 중이신가요? 이 글은 이미 결정을 내렸고 i2v를 제대로 활용하고 싶다는 전제하에 작성되었습니다.

이미지-투-비디오가 적합한 경우

시작 프레임이 타협 불가능할 때 i2v를 사용해야 합니다. 모델이 주체를 무에서 창조하는 것이 아니라, 당신의 이미지를 받아 모션을 추가하므로 브랜드 일관성이나 형태 일관성을 반드시 유지해야 하는 모든 콘텐츠에 텍스트-투-비디오로는 보장할 수 없는 안전장치를 제공합니다 — 실제 SKU의 제품 이미지, 승인된 키 비주얼을 헤더 루프 애니메이션으로 변환, 얼굴 일관성을 유지하는 캐릭터 설정 이미지, 또는 시작 프레임과 끝 프레임을 고정하고 모델이 전환 과정을 채우게 하는 before→after 효과 등입니다. 주체가 유연하다면 텍스트-투-비디오가 보통 작업량이 더 적습니다. i2v의 핵심 가치는 정적 이미지가 고정되어 있다는 점입니다.

2026년 이미지-투-비디오 현황

i2v 분야는 경쟁이 치열하고 진입 장벽이 높습니다. 배경으로 알아두면 좋지만, 아래에서 호출 가능한 워크플로는 엄선된 모델 세트에서 실행됩니다:

  • Runway Gen-4 / Gen-4.5. Gen-3 Alpha의 후속작으로, 크로스 숏의 "세계 일관성"과 물리 기반 모션 및 의도적인 카메라 무빙을 이끌었습니다. Gen-4.5의 i2v는 광고나 고객 납품물에서 타이트한 크리에이티브 제어를 원할 때 최선의 선택으로 널리 평가받습니다 (Runway Research, "Introducing Runway Gen-4," 2026; ZNIX 모델 정리, 2026). Gen-4.5 이미지-투-비디오도 HiAPI에 출시되었으며 모델 ID는 runway-gen-4.5/image-to-video입니다; Runway Gen-4.5 API 가이드를 참조하세요.
  • Vidu Q3. 첫 프레임과 마지막 프레임 조건을 중심으로 구축 — 시작 프레임, 목표 끝 프레임, 프롬프트 변화, 중간 부분 채우기 — 최대 16초 1080p 오디오 지원 (Vidu, "AI Image to Video," 2026).
  • Kling 3.0. 참조 정적 이미지에서 복잡한 인체 모션 생성에 뛰어나며, 4K 및 립싱크를 기본 지원합니다 (TeamDay.ai, "Best AI Video Models 2026," 2026).
  • Seedance 2.0. 바이트댄스의 모델(2026년 2월 12일)로 프레임 간 제품 디테일, 로고, 텍스트를 안정적으로 유지 — 바로 이커머스 i2v에 필요한 것입니다 (opencreator.io, "AI Video Models Comparison 2026," 2026).

강력한 모델들 간의 패턴은 일관됩니다: 첫 프레임 제어는 기본 요건이고, 마지막 프레임 제어는 더 이상 특별하지 않으며, 양 끝을 고정하는 것이 마지막 1초에 클립이 흔들리는 것을 방지하는 가장 확실한 방법입니다. 아래 워크플로는 바로 이 원칙을 중심으로 구축되었습니다. HiAPI에서 호출 가능한 두 i2v 모델은 Seedance 2.0(바이트댄스)과 Wan 2.7 이미지-투-비디오(알리바바)입니다.

1단계 — 소스 이미지 준비

사람들이 자주 건너뛰고 나서 모델 탓을 하는 단계입니다. i2v를 사용할 때 첫 프레임이 품질의 상한선입니다. 무언가를 보내기 전에 세 가지를 해야 합니다:

  • 화면 비율을 출력과 일치시키세요. 4:3으로 렌더링한 소스로 16:9 클립을 요청하면 모델이 크롭하거나 채워야 합니다 — 최종적으로 무엇이 남을지 제어력을 잃게 됩니다. 먼저 출력 비율을 정하고, 그 비율에 맞춰 정적 이미지를 만드세요. Seedance는 adaptive 비율도 허용하여 소스 이미지 크기에 자동으로 맞춥니다.
  • 원하는 출력 해상도로 렌더링하세요. 480p 소스가 선명한 1080p 클립이 되지 않습니다; 흐릿한 입력을 업스케일하면 흐릿함이 움직일 뿐입니다.
  • 주체를 깔끔하게 구성하세요. 선명하고 복잡하지 않은 주체는 모델의 오판을 줄입니다. 어수선한 배경과 흐릿한 가장자리가 바로 이상한 모션의 원인입니다.

그런 다음 호스팅하세요. API는 소스 이미지를 파일 업로드가 아닌 URL(first_frame_url)로 받으므로 HTTPS로 접근 가능해야 합니다 — 스토리지 버킷, CDN, 서명된 오브젝트 스토리지 등. localhost 경로나 API가 가져올 수 없는 링크는 작업 실패를 초래합니다.

2단계 — 첫 프레임과 함께 작업 제출

HiAPI에서 모든 모델(비디오 포함)은 비동기 작업 API를 통해 실행됩니다. 작업을 생성하면 즉시 taskId를 받고, 렌더링은 서버 측에서 진행됩니다. 텍스트-투-비디오를 이미지-투-비디오로 바꾸는 데는 필드 하나만 추가하면 됩니다: first_frame_url. 다음은 Seedance 2.0을 사용한 최소 호출입니다:

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2-0",
    "input": {
      "prompt": "Slow cinematic push-in, a soft light sweep travels across the surface, the subject holds steady and in focus",
      "first_frame_url": "https://cdn.your-domain.com/assets/product-front.jpg",
      "aspect_ratio": "16:9",
      "duration": 5,
      "resolution": "720p",
      "generate_audio": false
    }
  }'

이것이 완전한 이미지-투-비디오 요청입니다. 중요한 입력 필드:

  • first_frame_url — 애니메이션을 생성할 정적 이미지; 이 필드의 존재가 바로 i2v의 핵심입니다.
  • aspect_ratio — 소스 이미지와 일치시키세요(또는 adaptive 사용).
  • duration — 출력 초 수; 길수록 비용이 높아지고 모션이 흔들릴 여지도 커집니다.
  • resolution — 480p / 720p / 1080p; 주요 비용 조절 항목입니다.
  • generate_audio — 무음 루프와 제품 이미지에는 끄세요.

전체 요청 및 응답 구조는 문서를 참조하세요. Wan 2.7 이미지-투-비디오는 동일한 생성-폴링-다운로드 흐름을 따르지만 입력이 다릅니다 — 소스 프레임을 media 배열에 담아 전달하고 720p 또는 1080p로 출력합니다 — 따라서 Seedance의 요청 본문을 그대로 재사용하지 말고 문서에서 정확한 구조를 확인하세요.

3단계 — 결말이 중요할 때 마지막 프레임 추가

첫 프레임 제어는 클립이 어디서 시작할지 정하고 모델이 어떻게 끝낼지 결정하게 합니다 — 바로 여기서 흔들림이 조용히 나타나는데, 모델이 후반부를 즉흥적으로 만들기 때문입니다. 마지막 프레임을 통한 연속성이 중요하다면, 그것도 고정하세요:

{
  "model": "seedance-2-0",
  "input": {
    "prompt": "The product rotates a quarter turn and settles, light resolving to a clean studio key",
    "first_frame_url": "https://cdn.your-domain.com/assets/product-front.jpg",
    "last_frame_url": "https://cdn.your-domain.com/assets/product-three-quarter.jpg",
    "aspect_ratio": "16:9",
    "duration": 5,
    "resolution": "720p"
  }
}

이제 두 끝점이 고정되어 모델이 그 사이의 모션만 채웁니다. 이것은 제품 공개와 before→after 전환의 주력 패턴이며, "클립이 마지막 1초까지는 훌륭했는데" 문제를 해결하는 가장 효과적인 단일 수정법입니다. 두 프레임을 동일한 주체와 구도로 유지하세요 — 시작 이미지와 끝 이미지가 너무 크게 다르면 모델이 그 사이에 경로를 만들어내야 하고, 다시 추측의 영역으로 돌아갑니다.

4단계 — 정적 이미지를 위한 모션 프롬프트 작성

프롬프트는 i2v에서 다른 역할을 맡으며, 잘못 쓰면 렌더링이 낭비됩니다. 텍스트-투-비디오에서 프롬프트는 전체 장면을 구성합니다. 이미지-투-비디오에서 모델은 이미 장면을 볼 수 있습니다 — 당신이 준 프레임 안에 있으니까요 — 따라서 프롬프트의 역할은 콘텐츠가 아니라 시간에 따른 변화입니다:

  • 카메라 무빙으로 시작하세요. "Slow dolly-in", "gentle pan left", "push-in then hold". 모션 모델은 카메라 동작 동사를 안정적으로 따르므로, 하나를 명확히 지정하세요.
  • 주체가 어떻게 움직이는지 설명하세요, 그것이 무엇인지가 아니라. "Steam begins to rise", "the fabric sways", "the screen wakes and glows". 당신은 애니메이션을 연출하는 것이지 물체를 다시 나열하는 것이 아닙니다.
  • 화면을 다시 묘사하지 마세요. 소스 이미지에서 명백한 내용을 재진술하면 모델과 충돌하고, 애니메이션 대신 재생성으로 끌어당길 수 있습니다.
  • 모션을 재생 시간 내에서 합리적으로 만드세요. 5초 클립이 20초 이야기를 담을 수 없습니다.

좋은 i2v 프롬프트는 화가에게 주는 장면 설명이 아니라 사진작가에게 주는 동작 지시처럼 읽힙니다.

5단계 — 폴링 또는 콜백 수신

비디오는 밀리초가 아닌 GPU 분 단위로 소모됩니다. 렌더링은 의도적으로 비동기로 설계되어 연결을 계속 열어두지 않습니다. 작업을 생성한 후 완료를 알 수 있는 방법은 두 가지입니다.

종료 상태에 도달할 때까지 폴링 — 스크립트와 프로토타입에 적합:

curl https://api.hiapi.ai/v1/tasks/<taskId> \
  -H "Authorization: Bearer sk-<your-key>"
# data.status: queued -> handling -> archiving -> success (or fail)
# on success, read data.output[0].url and download it promptly — the URL expires

콜백 수신은 프로토타입을 넘어서는 모든 경우에 적합합니다. 폴링 루프에 앉아 있는 대신 콜백을 전달하면 HiAPI가 종료 상태를 푸시합니다:

{
  "model": "seedance-2-0",
  "input": { "prompt": "...", "first_frame_url": "https://cdn.your-domain.com/assets/product-front.jpg", "aspect_ratio": "16:9", "duration": 5, "resolution": "720p" },
  "callback": { "url": "https://your-domain.com/hooks/hiapi", "when": "final" }
}

어느 쪽이든 출력 URL은 시간 제한이 있습니다. 작업이 success가 되는 즉시 data.output[0].url을 자체 스토리지로 다운로드하세요 — 페이지에 핫링크하거나 고객에게 전달하지 마세요, 만료되기 때문입니다.

프로덕션에서 견디는 패턴

몇 가지 습관이 데모 스크립트와 대규모로 운영되는 것을 구분합니다:

  • 규모가 커지면 폴링보다 콜백을 우선하세요. 작업마다 폴링 루프를 도는 것은 컴퓨팅과 속도 제한 측면에서 낭비입니다. 결과를 다운로드하고 레코드를 업데이트하는 단일 콜백 엔드포인트는 수백 개의 폴러보다 훨씬 잘 확장됩니다.
  • 제출을 멱등하게 만드세요. 재시도와 최소 1회 콜백은 발생합니다. 렌더링마다 안정적인 ID(소스 이미지 + 프롬프트 + 파라미터를 해시화)를 설정하여 재시도가 조용히 중복 클립을 생성하고 — 청구하지 — 않도록 하세요.
  • 비용은 해상도 × 재생 시간입니다. 비디오는 초 단위로 청구되고 요금은 해상도에 따라 올라가므로, 1080p 10초 클립은 480p 5초 클립보다 훨씬 비쌉니다. 480p에서 반복하고 프롬프트와 카메라 무빙을 확정한 다음, 최종 납품 해상도로만 유지할 클립을 재렌더링하세요. 실시간 요금은 가격 페이지에서 확인하세요 — 변동되므로 코드에 하드코딩하지 마세요.
  • 렌더링 횟수가 아닌 사용 가능한 클립 기준으로 예산을 잡으세요. 세 클립 중 하나만 유지한다면 납품 가능한 자산당 실제 비용은 표시 가격의 세 배입니다 — 초당 요금이 아니라 이 비율이 예산을 결정하며, 480p에서 프롬프트를 확정하는 것이 비용을 회수하는 이유입니다.
  • 소스 URL을 조기에 검증하세요. API가 가져올 수 없는 첫 프레임은 가장 흔한 피할 수 있는 실패입니다 — 제출 전에 HTTPS로 접근 가능한지 확인하세요.

자주 묻는 질문

요청에서 이미지-투-비디오와 텍스트-투-비디오의 차이는 무엇인가요? 필드 하나입니다. 작업 호출은 다른 점이 동일하며, first_frame_url(소스 이미지)를 추가하면 텍스트-투-비디오에서 이미지-투-비디오로 전환됩니다. HiAPI에서 둘 다 동일한 POST /v1/tasks 엔드포인트를 통해 실행됩니다.

첫 프레임과 마지막 프레임을 동시에 제어할 수 있나요? 네. first_frame_url은 시작 프레임을 고정하고, last_frame_url을 추가하면 끝 프레임을 고정하여 모델이 두 고정 끝점 사이의 모션만 채우게 합니다. 양 끝을 동시에 고정하는 것이 전환을 제어하고 클립 끝의 흔들림을 방지하는 가장 확실한 방법입니다.

Runway Gen-3/Gen-4 API는 이미지-투-비디오를 지원하나요? Runway의 Gen-3 및 Gen-4 시리즈는 이미지-투-비디오를 지원하며 영화적 제어에서 뛰어납니다 — 이것이 더 넓은 현황입니다. 이 가이드의 호출 가능한 워크플로는 Seedance 2.0과 Wan 2.7 이미지-투-비디오에서 실행되며, HiAPI가 이를 하나의 작업 API 뒤에 호스팅합니다. Runway Gen-4.5 이미지-투-비디오도 같은 API에서 실행됩니다; Runway Gen-4.5 API 가이드에 사용 가능한 요청 예시가 있습니다.

이미지-투-비디오 렌더링은 얼마나 걸리나요? 몇 초가 아닌 몇 분입니다 — 비디오는 실제 연산입니다. 그래서 API가 비동기입니다: 작업을 생성한 후 폴링하거나 콜백을 받으므로 긴 렌더링이 요청을 차단하지 않습니다.

핵심 요약

이미지-투-비디오는 특정 정적 이미지가 그대로 화면에 나타난 다음 움직여야 할 때 적합합니다. 품질 상한은 첫 프롬프트를 쓰기도 전에 소스 이미지의 해상도, 화면 비율, 구도로 결정됩니다 — 따라서 먼저 준비하고 안정적인 위치에 호스팅하세요. 첫 프레임을 고정하여 클립이 어디서 시작할지 제어하고, 결말이 반드시 안착해야 할 때 마지막 프레임을 추가하며, 프롬프트는 모델이 이미 볼 수 있는 화면을 다시 묘사하는 대신 모션과 카메라 지시로 작성하세요. 그런 다음 원래 그런 것처럼 비동기 작업으로 취급하세요: 폴링하거나 더 나아가 콜백을 받고; 제출을 멱등하게 하며; URL이 만료되기 전에 다운로드하고; 납품 해상도로 사용 가능한 클립 기준으로 예산을 잡으세요.

준비되면 소스 이미지를 Seedance 2.0 모델 페이지 또는 Wan 2.7 이미지-투-비디오로 실행한 다음, 위의 작업 API에 연결하고 규모를 확장하기 전에 가격 페이지에서 실시간 초당 요금을 확인하세요. (먼저 키 없는 옵션을 찾으시나요? 무료 텍스트-투-비디오 옵션을 참조하세요.)

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기