본문
modelstring필수- VIDEO 카테고리 모델 ID (예:
everyais/veo-3-1-generate-001) 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가 있는 모델(Veo·Omni·관리형 GPU 노드 모델)만 받고 나머지는 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선택- 관리형 GPU 노드 비디오 모델 전용:
size(WxH, 모델이 공개한 목록 중 하나) ·seed·num_inference_steps
모델 옵션
선택한 모델에서 되는 값은 위 표에서 확인하세요(API에서는 GET /v1/models의 capabilities·limits·parameter_constraints). 지원하지 않는 값을 보냈을 때 값을 조정하는지 400으로 거부하는지는 모델 선택과 접근 정책의 파라미터 정책을 보세요.
길이는 limits.supported_durations, 변형은 pricing.variants를 확인하세요. 생략하면 모델 기본값을 사용합니다. 길이·해상도 조합도 모델 지원 범위 안이어야 합니다.
GET /v1/videos/generations/{id}
작업 상태·결과 폴링. POST 응답의 id 를 이 경로에 넣습니다.
⚠️
/v1/outputs/{requestId}로는 조회되지 않습니다. 비디오 작업 id 와 요청 id 는 별도 공간이라 그쪽으로 폴링하면 항상 404 입니다.
진행 중일 때는 Retry-After: 5 헤더가 붙습니다 — 5초 간격 폴링을 권장합니다.
status 값은 4가지입니다.
| status | 의미 |
|---|---|
processing | 생성 진행 중 |
completed | 완료 — durationSeconds 와 data 포함 |
failed | 실패 또는 타임아웃 — error 포함 |
cancelled | 취소됨 |
{
"id": "cm...",
"object": "video.generation.job",
"created": 1709884800,
"model": "everyais/veo-3-1-generate-001",
"status": "completed",
"durationSeconds": 8,
"data": [{ "url": "https://..." }]
}아직 결과를 확인할 수 없는 경우 processing 과 함께
outcome_unknown: true 가 내려오고, 운영자 확인이 필요하면 requires_manual_review: true 가 추가됩니다.
작업이 없거나·만료(24시간)됐거나·다른 API 키의 것이면 404 job_not_found 입니다.
과금
총 비용 = durationSeconds × 초당 단가 입니다. pricingVariant 를 지정하면 해당 변형 단가가 우선 적용됩니다.
예를 들어 everyais/veo-3-1-generate-001 은 720p-with-audio · 1080p-with-audio · 4k-with-audio
변형을 제공합니다. 정확한 키와 단가는 GET /v1/models 응답의 pricing 필드에서 확인하세요.