비디오 생성은 항상 비동기입니다. 제출하면 작업 ID를 바로 돌려주고, 결과는 작업 조회로 받습니다. 대기 코드는 비동기 작업에 있습니다.
본문
modelstring필수- VIDEO 카테고리 모델 ID (예:
everyais/minimax-h3-turbo) promptstring필수- 1–4000자
durationinteger선택- 1–120초. 기본값과 지원 길이는 모델마다 다릅니다(Gemini Omni 1.1은 3–10초)
imagestring선택- 첫 프레임 이미지. JPEG·PNG·WebP data URL이나 base64, 요청 본문 5 MiB 이하(Veo는 JPEG·PNG만).
parameter_constraints에image가 있는 모델만 받고, 나머지는 400 last_imagestring선택- 끝 프레임 이미지. 형식은
image와 같고, 두 이미지를 합쳐 본문 5 MiB 이하.image없이 주면 끝 프레임만 고정합니다(Veo·Omni는image필수).parameter_constraints에last_image가 있는 모델만 pricingVariantstring선택- 해상도·오디오 변형 키.
GET /v1/models의pricing.variants[].key값 userstring선택- 최종 사용자 식별자
extra_body.googleobject선택aspectRatio(16:9/9:16, Veo·Omni) · Veo 전용negativePrompt(4000자 이하) ·seed·enhancePromptextra_body.gpunodeobject선택- MiniMax H3 Turbo 등 지원 모델만.
size(WxH, 모델이 공개한 목록 중 하나.image·last_image와 함께 쓰면 픽셀 수만 정하고 화면비는 이미지를 따릅니다) ·seed·num_inference_steps
모델 옵션
모델별 지원값은 GET /v1/models의 capabilities, limits, parameter_constraints에 있습니다. 페이지 위쪽에서 모델을 고르면 표로 보입니다.
지원하지 않는 값은 조정되거나 400이 됩니다(파라미터 정책).
길이는 limits.supported_durations, 변형은 pricing.variants에 있고, 생략하면 모델 기본값을 씁니다. 길이와 해상도를 함께 지정하면 그 조합도 지원돼야 합니다.
반환값
참고: 비디오 제출은
Idempotency-Key를 지원하지 않습니다. 응답을 받지 못했다고 바로 다시 제출하면 작업이 두 번 만들어지고 두 번 청구될 수 있습니다.
GET /v1/videos/generations/{id}
제출 응답의 id로 작업 상태와 결과를 조회합니다. 진행 중이면 Retry-After: 5 헤더가 붙습니다.
| status | 뜻 |
|---|---|
processing | 생성 중 |
completed | 완료. durationSeconds와 data가 들어 있습니다 |
failed | 실패 또는 시간 초과. error가 들어 있습니다 |
cancelled | 취소됨 |
{
"id": "cm...",
"object": "video.generation.job",
"created": 1709884800,
"model": "everyais/minimax-h3-turbo",
"status": "completed",
"durationSeconds": 5,
"data": [{ "url": "https://..." }]
}결과를 아직 확인하지 못했으면 processing과 함께 outcome_unknown: true가, 수동 확인이 필요하면 requires_manual_review: true가 붙습니다.
작업이 없거나, 만료(24시간)됐거나, 다른 API 키의 작업이면 404 job_not_found입니다.
data[].url은 10분 동안 유효하고, 조회할 때마다 새 링크가 발급됩니다. 완료된 비디오는 같은 API 키로 작업 ID를 GET /v1/outputs/{requestId}에 넣어도 받을 수 있습니다(24시간).
과금
총 금액 = durationSeconds × 초당 단가입니다. 해상도나 오디오에 따라 가격이 다른 모델은 pricing.variants에 변형별 key와 단가가 있고,
pricingVariant로 고른 변형의 단가를 씁니다. pricingVariant는 변형이 있는 모델(예: Veo의 720p-with-audio · 1080p-with-audio)만 받습니다.
MiniMax H3 Turbo
모델 ID는 everyais/minimax-h3-turbo입니다. 영상과 스테레오 오디오를 함께 생성합니다(24fps).
텍스트만, 첫 프레임(image), 끝 프레임(last_image), 첫 프레임과 끝 프레임으로 요청할 수 있습니다.
| 항목 | 값 |
|---|---|
duration | 4–15초 정수 (기본 5) |
image · last_image | 이미지 화면비 0.4–2.5, 짧은 변 256px 이상 |
extra_body.gpunode.size | 텍스트만 보낼 때는 출력 크기입니다(모델 옵션의 13종, 기본 960x544). 이미지가 있으면 픽셀 수만 정합니다 |
extra_body.gpunode.seed | 0–2147483647 |
extra_body.gpunode.num_inference_steps | 1–5 (기본 5) |
reference_images · fps · num_frames · negative_prompt | 지원하지 않습니다. 400 |
이미지가 있으면 출력 화면비는 이미지(첫 프레임, 없으면 끝 프레임)를 따르고, 크기는 size의 픽셀 수를 넘지 않는 32픽셀 단위로 정해집니다.
4:3 사진에 960x544를 주면 800x608, 9:16 사진에 1344x768을 주면 768x1344가 됩니다.
이미지는 잘리지 않고 늘어나므로, 다른 화면비가 필요하면 먼저 잘라서 보내세요. 초당 가격은 크기와 관계없이 같고, 크기가 클수록 생성 시간이 깁니다.
{
"model": "everyais/minimax-h3-turbo",
"prompt": "the camera slowly pushes in as she turns toward the window",
"image": "data:image/jpeg;base64,/9j/4AAQ...",
"duration": 5,
"extra_body": { "gpunode": { "size": "960x544", "seed": 42 } }
}첫 프레임과 끝 프레임을 함께 쓰려면 같은 요청에 "last_image"를 추가하세요(두 이미지를 합쳐 본문 5 MiB 이하).