HiAPI
블로그

사용 가이드

Ray 3.2 이미지-투-비디오: 정적 이미지를 세로형 숏폼 비디오 클립으로 변환

보유한 제품 사진과 인물 초상화를 9:16 비디오 클립으로 만들고, 검증된 end_image_url 매끄러운 루프 요령을 더하세요

Nov 1, 2026
Ray 3.2 이미지-투-비디오: 정적 이미지를 세로형 숏폼 비디오 클립으로 변환

TL;DR

  • 무엇인가: hiapi 비동기 작업 API의 ray-3.2/image-to-video를 사용해 이미 보유한 정적 이미지(예: 제품 사진이나 인물 사진)를 세로형 숏폼 비디오 클립으로 변환하는 반복 가능한 워크플로입니다.
  • 모든 것을 결정하는 핵심 사실: ray-3.2 i2v에는 aspect_ratio도 없고 duration 필드도 없습니다. 클립의 형태는 입력 이미지에서 오며 길이는 항상 약 5초입니다. 9:16 세로형을 얻으려면 9:16 정적 이미지를 입력하세요. 모든 요령은 여기에 있습니다.
  • 이전 튜토리얼 대비 새로운 점: 스키마는 이제 선택적 end_image_url(마지막 프레임)을 허용합니다. 동일한 이미지를 첫 프레임과 마지막 프레임으로 동시에 사용하면 시작 지점에서 끝나는 클립을 얻을 수 있으며, 이것이 바로 매끄러운 루프에 필요한 것입니다.
  • 검증: 아래 각 클립은 이 글을 위해 한 번의 fan-out 배치 처리에서 생성되었습니다. 세 개의 540p 클립, 각 $0.2145(총 $0.6435), 서버 측 소요 시간 각 41–58초. 세 개 모두 540×960, 24fps, 5.04s, 무음 MP4로 반환되었습니다.

대부분의 숏폼 비디오 팀은 아이디어가 부족하지 않습니다. 제품 사진, 광고 정적 이미지, 크리에이터 인물 사진은 쌓여 있지만 움직이지 않습니다. 이미지-투-비디오가 이 문제를 해결합니다. 화면은 앵커로 유지되고 모델이 모션을 추가합니다. 이 가이드는 Ray 3.2로 이 작업을 엔드투엔드로 다룹니다. 정적 이미지 준비, 모션 프롬프트 작성, 배치 처리, 루프 요령, 그리고 편집 시 수정할 사항입니다.

이미지-투-비디오 vs 텍스트-투-비디오: 어느 쪽이 필요한가?

Ray 3.2는 hiapi에서 서로 다른 숏폼 비디오 작업에 적합한 두 개의 독립 엔드포인트를 제공합니다.

  • 이미지-투-비디오(이 페이지): 이미 화면이 있습니다. 모델은 당신의 제품, 당신의 모델, 당신의 조명을 유지하고 애니메이션만 추가해야 합니다. 제품 이미지 쇼케이스, 카탈로그에서 Reels로, 크리에이터 정적 이미지, 브랜드 정확성이 참신함보다 우선하는 모든 클립에 적합합니다.
  • 텍스트-투-비디오: 아이디어는 있지만 소재가 없습니다. 모델이 전체 샷을 구성합니다. 이 경우라면 Ray 3.2 텍스트-투-비디오 숏폼 워크플로가 프롬프트만으로 콘셉트를 배치 생성하는 방법을 다룹니다.

이 두 워크플로는 실제로 다릅니다. 텍스트-투-비디오에서는 aspect_ratio: "9:16"을 전달하여 세로형 화면을 선택합니다. 이미지-투-비디오에서는 해당 필드가 없으므로 구도는 API 호출 이전에, 정적 이미지를 준비할 때 결정됩니다.

요청: 세 개의 필수 또는 자주 쓰는 필드, 하나의 새로운 선택 필드

2026-11-01에 라이브 API를 기준으로 스키마를 필드별로 확인했습니다. 닫힌 스키마이므로 알 수 없는 키는 400을 반환합니다.

필드 필수 값 설명
prompt 예 텍스트 장면이 아니라 모션을 설명합니다. 장면은 이미 이미지에 있습니다
image_url 예 공개 URL 첫 프레임. 출력의 가로세로 비율을 결정합니다
resolution 아니오 540p, 720p, 1080p 유일하게 비용을 지불하는 항목(아래 참조)
end_image_url 아니오 공개 URL 선택적 마지막 프레임. 사용 가이드가 작성된 이후 추가됨

duration과 aspect_ratio는 여전히 즉시 거부됩니다(additional properties 'duration' not allowed). 짐작할 수 있는 다른 마지막 프레임 이름들, 예를 들어 last_frame_url, tail_image_url, end_frame_url도 같은 방식으로 거부됩니다. 필드는 end_image_url이며 다른 것은 없습니다.

단일 세로형 클립:

curl -s https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ray-3.2/image-to-video",
    "input": {
      "prompt": "Slow cinematic push-in toward the serum bottle, a single water droplet slides down the amber glass...",
      "image_url": "https://your-cdn.example.com/serum-9x16.jpg",
      "resolution": "540p"
    }
  }'

data.taskId를 받습니다. data.status가 success(또는 fail)가 될 때까지 GET /v1/tasks/{taskId}를 폴링한 다음, output[0].url을 즉시 다운로드하세요. expireAt이 있는 임시 링크이기 때문입니다. 사용 가이드에는 전체 Python 제출/폴링/다운로드 스크립트와 오류 페이로드가 있으며, 빠른 시작은 키와 작업 API 기본 사항을 다룹니다.

가격: 해상도가 유일한 지렛대

ray-3.2/image-to-video의 실시간 가격(작성 시점의 hiapi 가격 기준. 항상 그곳에서 재확인하세요):

해상도 클립당 가격
540p $0.2145
720p $0.429
1080p $1.7145

클립 길이는 고정되어 있고 가로세로 비율은 이미지에서 오므로, 세로형에 추가 비용을 내지 않으며 "더 긴 클립" 옵션으로 스스로 업그레이드할 수도 없습니다. 1080p 클립 하나의 비용은 540p 클립 여덟 개에 해당합니다. 따라서 숏폼의 패턴은 클립당 과금되는 모든 비디오 모델과 같습니다. 540p에서 모션 테스트를 실행한 다음, 승리한 프롬프트 + 정적 이미지만 720p 또는 1080p로 재렌더링하여 게시할 버전을 만드세요. 두 엔드포인트의 전체 Ray 3.2 비용 개요는 Ray 3.2 API 가격 상세를 참조하세요.

1단계: 9:16 정적 이미지 준비(세로형은 여기서 나옵니다)

모델은 샷을 재구성할 수 없으므로 정적 이미지는 제출 전에 올바라야 합니다.

  • 9:16으로 만드세요. 우리는 720×1280 정적 이미지를 사용했습니다. 540p에서 540×960으로 반환되어 네이티브 세로형이었고 이후 자를 필요가 없었습니다. 가로형 제품 이미지는 가로형 클립을 주므로 먼저 9:16으로 자르거나 확장하세요.
  • 모션을 위한 여유를 두세요. 카메라 모션이 화면으로 밀고 들어옵니다. 우리의 세럼 정적 이미지는 병 위에 넓은 빈 배경이 있어 푸시인이 이 공간을 활용했고 뚜껑을 잘라내지 않았습니다.
  • 훅을 화면 자체에 두세요. 클립의 첫 프레임이 바로 당신의 이미지이므로, 스크롤을 멈추게 하는 요소(제품, 얼굴, 조명)가 이미 정적 이미지에 있어야 합니다.

이 글의 두 정적 이미지는 gpt-image-2로 네이티브 9:16 이미지로 생성되었습니다. 실제 사용에서는 자신의 제품 사진이나 인물 사진을 넣게 됩니다:

2단계: 장면이 아니라 모션을 프롬프트하기

이미지는 이미 샷에 무엇이 있는지 말해줍니다. 프롬프트는 어떻게 움직이는지만 말하면 됩니다. 이 배치에서 효과가 있었던 세 가지:

  1. 하나의 카메라 모션을 지정하고(푸시인, 부드러운 드리프트, 고정 카메라) 무엇이 정지 상태로 유지되어야 하는지 명시하세요.
  2. 피사체에 한두 가지 물리적 비트를 주세요. 물방울이 흘러내리거나, 빛이 스쳐 지나가거나, 머리카락이 바람에 날리는 것 등입니다. 이것이 5초 클립을 Ken Burns 팬처럼 보이지 않고 생동감 있게 만드는 이유입니다.
  3. 소재 유형에 맞는 모션을 선택하세요. 제품에는 느리고 통제된 빛과 그림자 변화가 필요합니다. 인물은 더 크고 따뜻한 모션을 견딜 수 있습니다.

제품 클립(위의 커버 클립). 프롬프트:

Slow cinematic push-in toward the serum bottle, a single water droplet slides
down the amber glass, a band of warm light sweeps across the bottle from left
to right and makes the gold cap glint, the background stays dark and still,
premium skincare commercial

푸시인과 빛 스윕은 잘 작동했고 병 형태와 금색 캡은 유지되었습니다. 솔직한 주의점: 빛이 스칠 때 스포이드의 검은 고무 볼이 더 밝고 금속 같은 색으로 변했습니다. 실제 SKU라면 브랜드 팀이 지적할 만한 디테일 드리프트입니다. 게시 전에 제품 디테일을 프레임별로 확인하세요. 특정 부품이 계속 드리프트하면 빛 스윕 지시를 약화하거나 모션을 배경으로 유지하세요.

인물 / 크리에이터 정적 이미지. 프롬프트:

The wind lifts her curls, she turns her head slightly toward the camera and
her half-smile widens into a warm smile, the golden-hour backlight flickers
through her hair, the camera holds steady with a very gentle drift, natural
lifestyle feel

얼굴, 스웨터, 골든아워 조명은 일관되게 유지되었고 고개 돌림과 미소도 구현되었습니다. 하지만 Ray 3.2의 카메라 모션은 "매우 부드러운 드리프트"가 암시하는 것보다 큽니다. 마지막 프레임에서는 그녀가 화면 반대편으로 이동했고 뒤의 스카이라인도 움직였습니다. 인물 샷에서는 모델이 모션 프롬프트를 느슨하게 해석할 것으로 예상하세요. 화면을 고정해야 한다면 아래 루프 프롬프트에서 한 것처럼 명확히 지시하세요.

3단계: end_image_url로 루프 요령 구현하기

루프는 숏폼 피드에서 잘 작동합니다. 매끄럽게 다시 시작되는 클립은 반복 재생되며 자막이나 제품 라벨의 배경으로도 사용할 수 있습니다. Ray 3.2의 선택적 end_image_url이 이를 쉽게 만듭니다. 동일한 정적 이미지를 첫 프레임과 마지막 프레임으로 동시에 사용하면 모델이 시작 지점으로 돌아와야 합니다.

{
  "model": "ray-3.2/image-to-video",
  "input": {
    "prompt": "Seamless loop: the warm light slowly brightens and dims across the serum bottle, water droplets glisten, a faint wisp of mist drifts past the stone and fades out, the camera stays locked off, the bottle does not move",
    "image_url": "https://your-cdn.example.com/serum-9x16.jpg",
    "end_image_url": "https://your-cdn.example.com/serum-9x16.jpg",
    "resolution": "540p"
  }
}

눈대중이 아니라 측정했습니다. 각 클립의 첫 프레임과 마지막 프레임을 추출해 SSIM으로 비교했습니다(1.0은 완전히 동일):

클립 end_image_url 첫 프레임 대 마지막 프레임 SSIM
루프(동일 정적 이미지를 마지막 프레임으로) 예 0.958
제품 푸시인 아니오 0.654
인물 아니오 0.410

마지막 프레임을 고정하면 클립이 시작과 거의 같은 위치에서 끝나며, 편집기나 플랫폼 자동 재생에서 단순 반복해도 눈에 띄는 점프가 없을 만큼 충분히 가깝습니다. 고정하지 않으면 클립이 새로운 위치에서 끝나므로 컷에는 괜찮지만 루프에는 아닙니다. 기억할 두 가지:

  • 루프 모션은 주기적으로 유지하세요. 빛이 밝아졌다 어두워지고, 안개가 들어왔다 나가고, 카메라가 고정된 것은 모두 괜찮습니다. 푸시인은 5초 안에 설득력 있게 "돌아올" 수 없습니다.
  • 우리는 동일 이미지 루프만 테스트했습니다. 다른 마지막 프레임을 전달하는 것(예: 첫 프레임은 닫힌 상자, 마지막 프레임은 열린 상자)은 이 필드의 설계 목적이지만 우리는 그 결과를 여기서 검증하지 않았으므로 이를 기반으로 캠페인을 구축하기 전에 테스트하세요.

4단계: 배치 처리: 먼저 fan out, 그다음 수집

작업 API는 비동기이므로 한 번에 하나씩 클립을 렌더링하지 마세요. 모든 정적 이미지 + 프롬프트 쌍을 먼저 제출하고, 각 taskId를 받는 즉시 디스크에 저장한 다음 폴링하세요:

for each (still, prompt) pair:
    taskId = POST /v1/tasks  (model=ray-3.2/image-to-video, input={...})
    persist taskId immediately        # the task is billed at submit

for each saved taskId:
    poll GET /v1/tasks/{taskId} until status in ("success", "fail")
    on success: download output[0].url now (it expires)

우리의 세 클립 배치는 연속으로 제출되었으며 서버 측 소요 시간은 각각 44초(제품), 41초(루프), 58초(인물)였습니다. 병렬로 실행되었기 때문에 전체 배치는 가장 느린 클립과 비슷한 시간이 걸렸고, 8초 폴링 간격을 포함해 실제 시간은 1분을 약간 넘었습니다. 네트워크 변동으로 폴링이 실패하면 같은 id로 재시도하세요. 다시 제출하면 두 번째 클립이 생성되고 과금됩니다.

5단계: 편집기에서 마무리

API가 주는 것은 완성된 게시물이 아니라 원본 소재입니다:

  • 오디오가 없습니다. 세 클립 모두 H.264 비디오 스트림 하나만 있고 오디오 트랙은 없습니다. 편집기에서 인기 사운드, 내레이션, 자막을 추가하세요.
  • 5초는 하나의 비트입니다. 세 개에서 네 개의 클립을 쌓아(예: 제품 푸시인 → 자막 배경으로 쓰는 루프 → 크리에이터 리액션) 15–20초 버전으로 편집하고 비트에 맞춰 하드 컷하세요.
  • 승자만 업스케일하세요. 최종 내보내기용으로 선택한 정적 이미지 + 프롬프트를 720p 또는 1080p로 다시 실행하고, 배치 전체를 고해상도로 렌더링하지 마세요.

FAQ

ray-3.2 이미지-투-비디오에서 9:16 세로형 클립을 어떻게 얻나요? 9:16 입력 이미지를 제공하세요. aspect_ratio 파라미터가 없으며 출력은 입력의 형태를 따릅니다. 720×1280 정적 이미지는 540p에서 540×960 클립으로 반환됩니다.

클립을 5초보다 길게 만들 수 있나요? 이 엔드포인트에서는 안 됩니다. duration 필드가 없으며 전송하면 400을 반환합니다. 우리가 생성한 모든 클립은 5.04초(24fps에서 121프레임)입니다. 더 긴 버전을 얻으려면 편집에서 클립을 쌓으세요.

Ray 3.2 i2v는 마지막 프레임을 지원하나요? 지원합니다. 선택적 end_image_url 필드가 최종 프레임을 설정합니다. 동일한 이미지를 image_url로 전달하면 루프 재생 가능한 클립을 얻습니다(우리 테스트에서 첫 프레임 대 마지막 프레임 SSIM 0.958).

사운드를 생성하나요? 아니요, 출력 MP4는 무음입니다.

내 제품을 완전히 그대로 유지하나요? 우리 테스트에서 형태, 색상, 전체 구도는 잘 유지되었지만 강한 빛 모션에서 작은 부품이 드리프트할 수 있습니다(우리의 스포이드 볼 색이 변했습니다). 게시 전에 제품 디테일을 확인하세요.

배치 하나에 비용이 얼마인가요? 해상도와 클립 수로만 과금됩니다. 540p는 $0.2145, 720p는 $0.429, 1080p는 $1.7145입니다. 우리의 세 클립 테스트 배치는 $0.6435였습니다.

정적 이미지를 움직이게 시작하세요

Ray 3.2 이미지-투-비디오는 이제 비동기 작업 API에서 제공됩니다. ray-3.2/image-to-video 모델 페이지를 열어 현재 파라미터와 가격을 확인한 다음, 기존 9:16 정적 이미지 세 장을 꺼내 540p에서 실행하세요. 1달러보다 훨씬 적은 비용으로 테스트 배치를 얻을 수 있습니다. 같은 작업에 대해 모델을 비교 중이라면 Kling 3.0이 이미지-투-비디오 숏폼을 처리하는 방법을 살펴보세요.

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

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

API 문서 보기