소개
MiniMax H3 이미지→영상은 image_url로 보낸 시작 프레임에서 출발해 그다음에 일어나는 일을 생성합니다. 길이는 4~15초의 정수, 해상도는 768p·2k이며 사운드도 함께 생성됩니다. 선택 항목인 last_image_url을 더하면 클립이 도달할 마지막 프레임을 지정할 수 있습니다. 화면비 항목은 없으며, 출력의 모양은 시작 프레임이 정합니다.
시작 자료에 따라 모드 선택하기
| 시작 자료 | 모드 |
|---|---|
| 작성한 장면이나 스크립트 | MiniMax H3 텍스트→영상 |
| 승인된 시작 이미지 | MiniMax H3 이미지→영상 |
| 참조 이미지 1~9장 | MiniMax H3 참조→영상 |
핵심 기능 및 하이라이트
피사체는 시작 프레임이 정합니다
모델이 전달된 프레임을 충실히 따르므로, 디자인한 피사체와 의상, 공간을 가장 문자 그대로 얻는 방법입니다. windowsill-turn 예시에서는 얼굴부터 의상, 빗줄기가 흐르는 창문까지 식별 가능한 모든 것이 이미지에서 옵니다. 프롬프트가 요청하는 것은 날숨, 네온의 맥동, 고개 돌리기뿐입니다. 장면이 이미 담긴 시작 프레임은 같은 내용을 text-to-video에 글로 쓸 때보다 훨씬 브리프에 가까운 결과를 냅니다.
선택 가능한 마지막 프레임
last_image_url은 샷이 도착할 지점을 고정합니다. robe-to-doorway 예시는 양 끝을 모두 사용합니다. 방 안에서 시작해 준비된 문간 구도로 끝나는 8초입니다. 마지막 프레임이 조이는 것은 끝부분뿐이며 중간은 자유롭게 생성됩니다. 클립이 길수록 움직임이 마지막 프레임에서 더 멀어질 수 있습니다.
길이·해상도·입력 조건
길이는 415초의 정수지만 4초는 768p에서만 선택할 수 있고, 2k는 5초 이상이어야 합니다. 두 해상도 모두 네이티브입니다. 시작 프레임은 각 변 2565,760px, 화면비 2:5~5:2, 파일 크기 30MB 미만이어야 합니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 첫 프레임 다음의 변화, 즉 동작과 카메라, 소리를 적으세요. 프레임을 다시 묘사하지 마세요. 1자 이상 · 7000자 이하 |
image_url | 예 | 시작 프레임입니다. 피사체, 의상, 구도를 정하고 모델이 이를 충실히 따릅니다. |
last_image_url | 아니요 | 선택인 마지막 프레임입니다. 결말만 조이고 클립 중간은 여전히 자유롭습니다. |
resolution | 아니요 | 768p 또는 2k이고 둘 다 네이티브 출력입니다. 초안은 768p로, 납품은 2k로 뽑으세요. |
duration_seconds | 아니요 | 정수 초로 4에서 15까지입니다. 4초는 768p에서만 나옵니다. |
요금
| 사양 | 요금 |
|---|---|
| $0.037 / 초 |
| $0.058 / 초 |
활용 사례
이미 승인한 스틸 움직이기
생성한 스틸이든 권리를 확인한 사진이든 프레임이 있다면, 이 엔드포인트는 다시 묘사하지 않고 그대로 움직임으로 바꿉니다. 프롬프트에는 변화(동작, 카메라, 소리)만 담기므로, 이미지만으로는 전할 수 없는 부분에 모든 단어를 쓸 수 있습니다.
프레임에 없는 것을 드러내기
cup-then-two-in-one-shirt 예시는 정물에서 시작합니다. 손이 컵을 화면 밖으로 들어 올리고, 카메라가 틸트하며 초점을 옮기고, 방 안쪽에서 두 번째 인물이 나타납니다. 세 변화 모두 시간 속에서 일어나며, 입력 이미지에는 하나도 담겨 있지 않습니다. 6초로 생성되었으며, 2k 실행 전 초안 길이로 적당합니다.
15초를 넘어 장면 잇기
장면을 이어 가려면 MiniMax H3 비디오 연장을 사용하십시오. 승인한 클립의 마지막 프레임에서 다음 구간을 시작하고 둘을 이어 붙인 파일 하나로 돌려주므로, 프롬프트는 다음에 일어날 일만 쓰면 됩니다. 다음 샷을 프레임 단위로 직접 조종하려면 그 마지막 프레임을 다음 image_url로 여기에 보내십시오.
프롬프트 가이드 및 실전 팁
프레임을 다시 묘사하지 않기
시작 프레임 이후의 변화를 쓰고 외형은 이미지에 맡깁니다. 모든 문장이 움직이거나 소리를 내는 무언가를 가리키는지 확인하면 판단이 쉽습니다. windowsill-turn 프롬프트 ‘she turns her head toward camera without changing expression. Rain runs down the window, distant traffic’으로 충분한 이유는 그녀가 누구이고 어디에 있는지를 프레임이 이미 보여 주기 때문입니다.
두 프레임을 이어지게 준비하기
last_image_url을 보낼 때는 시작 프레임과 짝을 이루도록 준비합니다. 피사체, 의상, 빛을 맞추고 구도 변화도 자연스럽게 하십시오. 서로 어긋나는 두 장을 주면 클립 중간이 둘 사이에서 타협하려 듭니다. 그다음 robe-to-doorway 예시처럼 둘을 잇는 신체 동작을 적으십시오('침대 가장자리에서 일어나… 문간에서 돌아보며 멈춘다'), 그리고 그 동작이 일어날 만큼 충분한 초를 주십시오.
출력에 맞게 프레임 다듬기
출력 모양은 프레임이 정하므로 업로드 전에 납품용 화면비로 잘라 두고 크기 조건도 확인합니다. 768p로 초안을 만들고, 채택할 테이크를 5초 이상 길이로 2k에서 다시 실행하십시오. 이 엔드포인트는 seed를 받지 않으므로 프레임 단위 업스케일이 아니라 새 테이크가 나온다고 보면 됩니다.
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": "minimax/h3/image-to-video",
"input": {
"duration_seconds": 5,
"enable_prompt_expansion": false,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "768p"
}
}'
# 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 레퍼런스에서 확인하세요.













