소개
필수 첫 프레임과 프롬프트를 제공합니다. 선택 항목인 마지막 프레임은 끝 구도를 안내하며 클립 길이를 10초로 제한합니다.
| 항목 | 값 |
|---|---|
| 입력 | 이미지 |
| 출력 | 영상 |
| 제공사 | |
| Gemini API 제공 시점 | Google 발표 기준 2026년 11월 5일부터 정식 제공 |
| 모델 코드 | gemini-omni-1.2-flash |
| 생성 길이 | 3–15초, 정수 단위 설정, 기본값 8초 |
| 마지막 프레임 사용 시 길이 | 마지막 이미지를 제공하면 3–10초 |
| 편집 길이 | 원본 길이에 따르며 10초 이후 구간은 잘라 냄 |
| 출력 해상도 | Google 안내 기준 360p·720p 직접 출력, 1080p·4K는 Google이 업스케일 |
| 생성 화면비 | 16:9 또는 9:16, 기본값 16:9 |
| 영상 및 오디오 형식 | AAC 오디오 트랙이 포함된 24 fps MP4 |
| 참조 입력 | 이미지 최대 6장, 영상 최대 3개이며 각 영상은 3초 이하 |
| 긴 참조 영상 생성 | Google 안내 기준 11–15초 출력에는 참조 영상 1개 사용 |
| 워터마크 | Google의 보이지 않는 SynthID 워터마크 포함 |
| 생성 영상 보관 | 14일 후 삭제 |
핵심 기능 및 하이라이트
현장 사운드가 어우러진 시장의 한순간
자체 테스트의 6초 720p 시장 장면에서는 요리사가 불길이 솟는 웍에서 면을 볶으며 요청한 대사를 말했습니다. 기름이 지글거리는 소리, 빗소리, 시장의 말소리도 동작과 함께 나왔습니다.
보트가 출발하는 순간을 움직임으로
5초 부두 예시는 야간 정지 이미지 한 장에서 시작합니다. 자체 테스트에서는 승객이 작별 인사를 하는 동안 목제 스피드보트가 호텔에서 천천히 멀어졌고, 엔진 소리와 물소리, 멀리서 들리는 밴드 음악이 함께 생성되었습니다.
동작이 끝날 자세까지 설계합니다
스튜디오의 첫 이미지와 마지막 자세를 바탕으로 만든 5초 애니메이션입니다. 자체 테스트에서는 카메라가 고정된 상태로 무용수가 두 자세 사이를 움직였고, 잔잔한 피아노 음악이 흘렀습니다.
두 인물을 기차 안 장면으로
자체 테스트에서 참조 인물 사진 두 장으로 6초 식당칸 장면을 만들었습니다. 한 여행자가 테이블 건너로 접은 쪽지를 건네자 상대가 읽고 미소 지었으며, 기차의 규칙적인 소리와 식기 소리가 어우러졌습니다.
공연 무대를 호숫가로 옮깁니다
자체 편집 테스트에서는 회색 스튜디오가 안개 낀 수면 옆 달빛 비추는 무대로 바뀌었습니다. 배경이 바뀌는 동안 무용수와 동작은 장면에 유지되었습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 필수 동작 지시입니다. 첫 이미지 이후의 동작, 카메라 움직임, 원하는 소리를 설명합니다. 1자 이상 · 20000자 이하 |
image_url | 예 | 생성 장면의 시작이 되는 정지 이미지 URL이며 필수입니다. 1자 이상 |
last_image_url | 아니요 | 선택 항목인 마지막 정지 이미지 URL입니다. 제공 시 길이는 3–10초여야 하며, 이를 넘는 요청은 과금 전에 거부합니다. 1자 이상 |
aspect_ratio | 아니요 | 기본 가로 화면비인 16:9 또는 세로 구도의 9:16을 사용합니다. 자동 옵션은 없으며, 이 설정으로 추가 요금이 발생하지 않습니다. |
resolution | 아니요 | 360p, 기본값 720p, 1080p, 4K를 제공합니다. 1080p와 4K는 Google이 업스케일하며 더 비쌉니다. |
duration_seconds | 아니요 | 3–15초의 정수이며 기본값은 8초입니다. last_image_url을 제공하면 3–10초를 사용합니다. |
요금
이미지 애니메이션은 요청한 초 수에 선택한 해상도의 단가를 적용해 과금합니다. 첫·마지막 이미지와 화면비에는 추가 요금이 없습니다. 10초를 넘는 마지막 프레임 요청을 포함해, 실패하거나 거부된 요청은 과금에서 제외합니다.
| 사양 | 요금 |
|---|---|
| $0.0276 / 초 |
| $0.084 / 초 |
| $0.126 / 초 |
| $0.252 / 초 |
활용 사례
대사가 있는 시장의 짧은 장면
요리사와 한 가지 동작, 따옴표로 묶은 짧은 대사를 적고, 기름이 지글거리는 소리와 비 오는 시장의 분위기를 요청합니다.
호텔 도착 또는 출발
부두의 첫 이미지에서 보트가 출발하도록 움직이게 하거나, 마지막 구도가 정해져 있다면 종료 이미지를 추가합니다.
같은 캐릭터가 다시 등장하는 장면
참조 인물 사진을 사용해 기존 두 인물을 해 질 녘 식당칸 같은 새로운 배경에 배치합니다.
공연 배경을 다른 무대로
촬영된 동작을 유지하면서 스튜디오를 호숫가로 바꾸도록 영상 편집에 요청합니다.
프롬프트 가이드 및 실전 팁
시작 자료에 맞는 엔드포인트 선택
새 장면에는 텍스트, 애니메이션에는 첫 정지 이미지, 시각적 방향에는 참조 자료, 특정 수정에는 기존 영상을 사용합니다.
장면 구성 명확히 전달
Google에 따르면 모델은 기본적으로 여러 샷을 만들 수 있습니다. 한 테이크를 원하면 ‘no scene cuts’를 추가하고, 말할 대사는 따옴표로 묶습니다.
참조마다 역할 지정
‘Image 2의 장소 사용’ 또는 ‘Video 1처럼 움직이기’라고 적어 각 업로드의 역할을 프롬프트로 설명합니다.
해상도를 높이기 전에 작은 초안 검토
제공되는 요금 중 가장 낮은 360p로 아이디어를 시험합니다. 1080p와 4K는 Google이 업스케일하며 더 높은 요금이 적용됩니다.
편집 지시의 범위 좁히기
Google은 단순한 변경 지시 뒤에 ‘Keep everything else the same.’을 덧붙이도록 권장합니다. 편집은 10초에서 자르므로 전송 전에 원본 길이를 확인합니다.
소개
Gemini Omni 1.2 Flash 이미지로 동영상은 첫 정지 이미지에 움직임을 더합니다. image_url과 함께 이미지 이후의 동작을 설명하는 prompt를 제공합니다. 부두 예시는 야간 보트 이미지에서 시작해 엔진과 물소리가 있는 5초 출발 장면을 만듭니다.
끝 장면이 정해져 있다면 last_image_url을 추가합니다. 마지막 이미지를 사용하면 허용 길이는 3–10초이고, 사용하지 않으면 3–15초입니다. 마지막 프레임을 쓰는 10초 초과 요청은 비용이 발생하기 전에 거부됩니다. 자체 테스트에서는 스튜디오 이미지 두 장을 바탕으로 무용수가 시작 자세에서 마지막 자세로 움직였습니다.
주요 기능 및 특징
- 제공한 정지 이미지를 애니메이션의 첫 프레임으로 사용합니다.
- 선택 항목인 두 번째 이미지로 마지막 구도를 안내합니다.
- 오디오 트랙을 업로드하는 대신 애니메이션 생성 중 사운드를 만듭니다.
- 장면에 맞게 가로 16:9 또는 세로 9:16을 고릅니다.
- 360p 또는 기본값 720p로 작업하거나, 더 높은 요금으로 Google이 업스케일한 1080p·4K를 선택합니다.
활용 사례
- 야간 정지 이미지에서 호텔 부두를 떠나는 목제 보트를 움직이게 합니다.
- 잔잔한 피아노 음악과 함께 두 스튜디오 자세를 5초 시퀀스로 연결합니다.
- 제품 정지 이미지를 마지막 구도가 정해진 짧은 동작 시안으로 만듭니다.
프롬프트 작성 가이드와 팁
- 보이는 세부 사항을 모두 반복하기보다 ‘보트가 부두에서 천천히 멀어집니다’처럼 시작 이후의 변화를 설명합니다.
- 이미지 두 장을 쓸 때는 ‘마지막 자세로 부드럽게 이동합니다’처럼 전환 과정을 설명하고 길이를 10초 이하로 정합니다.
- 장면 내부의 움직임이 중심이라면 ‘고정 카메라’처럼 절제된 카메라 연출을 지정합니다.
- 정지 이미지에는 소리가 없으므로 ‘낮게 울리는 엔진과 찰랑이는 물소리’처럼 원하는 현장음을 적습니다.
- Google의 단일 테이크 권장 방식에 따라 ‘no scene cuts’ 같은 짧은 표현으로 장면의 연속성을 요청합니다.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/gemini-omni-1.2-flash/image-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 8,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.










