핵심 답변: API 키 하나로 간단히 시작하거나, 대화형 편집, 최대 15초 길이의 클립이 필요하다면 Gemini Omni 1.2 Flash를 기반으로 개발하세요. Veo 3.1은 이미 Google Cloud 환경에서 운영 중이고 요청당 최대 4개 출력 같은 요청 제어 기능이 필요할 때만 선택하는 것이 좋습니다. 더 이상 Gemini API에서는 Veo를 호출할 수 없습니다. Preview 모델이 2026년 10월 22일에 종료되었기 때문입니다.
이번 종료 조치로 인해 단순한 모델 비교가 곧 플랫폼 선택의 문제로 바뀌었습니다. 저희의 Omni 1.1 vs Veo 3.1 비교 글에서는 이전 사양을 다뤘습니다. 이 가이드는 좀 더 좁은 질문에 답합니다. 지금 시점에 어느 쪽을 기반으로 개발해야 할까요?
Google은 Omni 1.2에 대한 벤치마크를 공개하지 않았기 때문에, 여기서는 두 모델의 영상 품질을 순위로 매기지 않습니다. 아래의 사양과 가격은 2026년 11월 6일 기준으로 확인한 Google 문서에서 가져온 것입니다.
Gemini Omni 1.2 Flash vs Veo 3.1 한눈에 비교
| Gemini Omni 1.2 Flash | Veo 3.1 | |
|---|---|---|
| 상태 | 정식 출시(GA) | generate-001와 fast-generate-001는 GA, lite-generate-001는 Preview |
| 호출 위치 | Gemini API, Gemini Enterprise Agent Platform | Agent Platform 전용 |
| 인증 | API 키(Gemini API) | Google Cloud 프로젝트 및 액세스 토큰 |
| 요청 구조 | Interactions API | predictLongRunning, fetchPredictOperation으로 폴링 |
| 리전 | Agent Platform의 global |
us-central1 |
| 클립 길이 | 3~15초(1초 단위) | 4, 6 또는 8초 |
| 오디오 | 네이티브 지원 | 사운드 생성 지원 |
| 해상도 | 360p, 720p, 1080p 및 4K(업스케일) | 720p, 1080p, 4K는 Veo 3.1만 지원 |
| 클립 연장 | 턴당 3~10초 | 호출당 7초, 총 37초 |
| 멀티턴 편집 | 지원(previous_interaction_id 사용) |
확인한 문서에는 동일 기능 없음 |
| 요청당 출력 | 샘플 기준 턴당 영상 1개 | sampleCount 1~4 |
| 네거티브 프롬프트 | 미지원, 프롬프트에 직접 작성 | negativePrompt 파라미터 |
| 가장 이른 지원 종료일 | 표기 없음 | 2027년 5월 4일 이후(GA 모델) |
계획에 반영해야 할 상충점이 하나 있습니다. Omni의 최대 연장 길이는 사용하는 플랫폼에 따라 다릅니다. Gemini API 문서는 총 30초라고 안내하고, Agent Platform 연장 문서는 최대 40초까지 가능하다고 설명합니다. 제품에서 특정 길이를 보장한다면, 실제로 출시하는 플랫폼에서 반드시 테스트해 보세요.
Veo에 생긴 변화
이제 Gemini API 영상 문서에는 Gemini API의 Veo 3.1 Preview가 종료되었다고 명시되어 있습니다. 2026년 10월 22일을 기점으로 다음 세 가지 모델 ID도 함께 사라졌습니다:
veo-3.1-generate-previewveo-3.1-fast-generate-previewveo-3.1-lite-generate-preview
Google은 두 가지 대안을 제시합니다. Gemini Omni Flash로 옮기거나, Gemini Enterprise Agent Platform(Vertex AI의 후속 플랫폼)의 GA Veo 모델로 이전하는 것입니다. Google의 현재 Veo 모델 페이지에서는 3.1보다 최신 버전의 Veo를 찾을 수 없었습니다.
따라서 AI Studio 키와 Veo preview 모델 ID를 기반으로 만든 통합은 이미 동작하지 않습니다. 모델 문자열만 바꾼다고 해결되지 않는데, GA 모델은 다른 플랫폼에서 다른 인증 방식으로 운영되기 때문입니다. 저희의 Veo 3.1 API 가이드를 포함한 기존 가이드들은 preview 경로를 기준으로 작성되었습니다.

API별 초당 비용
Omni는 출력 토큰 기준으로 과금하고, Veo는 해상도별 정액 요금을 적용합니다. 아래 요금은 오디오가 포함된 영상 기준입니다:
| 출력 해상도 | Omni 1.2 Flash | Veo 3.1 (GA) | Veo 3.1 Fast (GA) | Veo 3.1 Lite (Preview) |
|---|---|---|---|---|
| 360p | $0.023 | 해당 없음 | 해당 없음 | 해당 없음 |
| 720p | 약 $0.07 | $0.40 | $0.10 | $0.05 |
| 1080p | $0.104 | $0.40 | $0.12 | $0.08 |
| 4K | $0.209 | $0.60 | $0.30 | 해당 없음 |
Omni 수치는 Google의 Gemini 가격 페이지에서 가져왔으며, 이 페이지에는 입력 요금도 백만 토큰당 $1.50으로 안내되어 있습니다. 1080p와 4K 요금에는 업샘플링 비용이 포함되어 있습니다. Veo 수치는 Agent Platform 가격 목록에서 가져왔습니다. 이 목록은 가격을 "count" 단위로 표기하지만 그 단위를 정의하지는 않습니다. 다만 출시 당시 보도된 초당 요금과 일치하기 때문에 초당 요금으로 해석했습니다. 첫 청구서와 대조해 꼭 확인해 보세요. 참고로 이 목록에는 Fast의 4K 가격도 있지만, 모델 페이지에서는 4K 출력을 Veo 3.1만 지원하는 것으로 표시하고 있습니다.
8초 길이의 720p 클립은 Omni에서 약 $0.56, Veo 3.1에서 $3.20, Fast에서 $0.80, Lite에서 $0.40입니다. 오디오 포함 가격이 Omni보다 저렴한 유일한 Veo 모델은 Lite이며, 아직 Preview 단계입니다. Veo는 영상만 제공되는 요금도 별도로 안내하는데, 예를 들어 720p Fast는 $0.08입니다. 토큰 계산 방식은 저희 Omni 1.1 가격 분석 글을 참고하고, 영상 출력 요금만 새로 적용된 백만 토큰당 $12.00으로 바꿔 계산하면 됩니다.
Google은 Omni의 무료 등급을 1.2와 1.1 모두 "사용 불가(Not available)"로 표기하고 있습니다.
이런 경우 Gemini Omni 1.2 Flash를 선택하세요
- 호출 경로에 Cloud 프로젝트를 두고 싶지 않은 경우. API 키와 POST 요청 한 번이면 영상을 얻을 수 있습니다.
- 사용자가 클립을 다듬어야 하는 경우. 새 프롬프트와 함께
previous_interaction_id를 전달하면 턴마다 새 영상이 생성됩니다. Google은 한 요소만 변경할 때 "Keep everything else the same(나머지는 모두 동일하게 유지)"라는 문구를 추가할 것을 권장합니다. - 한 번의 호출로 8초를 넘는 클립이 필요한 경우. Omni는 최대 15초까지 가능하지만, Veo는 8초가 한계입니다.
- 저렴한 비용으로 초안을 만들고 싶은 경우. 10초 길이 360p 테스트 영상은 약 $0.23입니다.
- 레퍼런스 이미지를 적극 활용하는 경우. Omni는 레퍼런스 이미지를 최대 6장까지 허용하며, 캐릭터별로 최대 3장씩, 최대 2명의 캐릭터에 사용할 수 있습니다.
단, 먼저 한계도 짚고 넘어가야 합니다. Google은 빠른 스포츠 동작, 빠르게 바뀌는 대사, 복잡한 물리 표현을 여전히 개선 중인 영역으로 꼽았습니다. 오디오 업로드는 지원되지 않으며, 업로드한 영상의 편집 및 연장은 EEA(유럽 경제 지역), 스위스, 영국에서는 이용할 수 없습니다. 모든 출력에는 육안으로 식별되지 않는 SynthID 워터마크가 포함됩니다.
이런 경우 Veo 3.1을 선택하세요
- 이미 Google Cloud 환경에서 운영 중인 경우. 프로젝트, IAM, Cloud Storage가 이미 갖춰져 있어 추가 설정 비용이 들지 않습니다.
- 요청당 여러 개의 결과물이 필요한 경우.
sampleCount를 사용하면 한 번의 호출로 최대 4개의 영상을 받을 수 있습니다. negativePrompt에 의존하고 있는 경우. Omni에는 이에 해당하는 필드가 없습니다.- 모델 지원 종료 시점이 날짜로 명시되길 원하는 경우. Google은 GA 모델의 지원 종료를 2027년 5월 4일 이후로 명시하고 있어, 이 날짜를 기준으로 계획을 세울 수 있습니다. 반례는 Omni 1.1의 짧은 유예 기간입니다. 2026년 12월 3일부터
gemini-omni-1.1-flash로 보낸 요청은 1.2로 라우팅되며 1.2 요금이 청구됩니다. - EEA, 스위스, 영국에서 업로드한 영상을 연장해야 하는 경우. Veo의 연장 문서에는 이런 제한이 언급되어 있지 않습니다. 다만 이를 전제로 개발하기 전에 해당 지역 기준을 직접 확인해 보세요.
하지만 대가도 있습니다. us-central1 리전만 지원되고, Google Cloud 프로젝트가 필요하며, 폴링 루프를 직접 구현해야 합니다. 연장 입력 영상은 24 fps MP4여야 하고 길이는 1~30초입니다. 연장 문서의 모델 표에는 Lite도 나열되어 있지만 REST 섹션에서는 제외되어 있으므로, Lite 연장 기능은 아직 확정되지 않은 것으로 취급하는 것이 안전합니다.
Veo 통합을 Interactions API로 마이그레이션하기
Omni로 이전하면 요청 방식, 폴링, 응답 파싱이 모두 달라집니다. 먼저 Google 문서를 따르는 Veo 연장 호출입니다:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-3.1-generate-001:predictLongRunning
{
"instances": [{
"prompt": "The drone keeps climbing above the harbor",
"video": { "gcsUri": "gs://my-bucket/clip.mp4", "mimeType": "video/mp4" }
}],
"parameters": { "storageUri": "gs://my-bucket/out/", "sampleCount": 1 }
}
그리고 Agent Platform을 통해 Omni에서 수행하는 동일한 작업입니다:
POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions
{
"model": "gemini-omni-1.2-flash",
"store": false,
"input": [
{ "type": "text", "text": "The drone keeps climbing above the harbor" },
{ "type": "video", "uri": "gs://my-bucket/clip.mp4", "mime_type": "video/mp4" }
],
"response_format": [{
"type": "video",
"delivery": "uri",
"gcs_uri": "gs://my-bucket/out/",
"aspect_ratio": "16:9",
"duration": "7s"
}],
"generation_config": { "video_config": { "task": "extend" } }
}
필드는 아래와 같이 매핑하면 됩니다:
| Veo | Omni |
|---|---|
instances[0].prompt |
input의 텍스트 항목 |
instances[0].video.gcsUri |
input의 영상 항목 uri |
parameters.storageUri |
response_format의 gcs_uri |
parameters.aspectRatio |
response_format의 aspect_ratio |
parameters.seed |
generation_config.seed |
parameters.negativePrompt |
프롬프트에 "Do not do X(X는 하지 말 것)" 형태의 문장 추가 |
parameters.sampleCount |
확인한 문서에는 해당 필드 없음, 별도 요청으로 분리해서 전송 |
fetchPredictOperation |
background: true 설정 후 interaction ID로 GET 요청 |
videos[].gcsUri |
model_output 유형의 steps 항목, 영상 항목 |
주의해야 할 세부 사항 네 가지:
- 응답 형식 구조. Agent Platform 샘플은
response_format을 배열로 감싸지만, Gemini API 문서는 단일 객체로 설명합니다. 실제 호출하는 플랫폼의 구조에 맞춰 작성하세요. - 길이 형식. Omni는
"7s"와 같은 문자열을 요구합니다. 일반 생성은"3s"부터"15s"까지, 연장은"3s"부터"10s"까지 허용됩니다. - URI 유실 문제. Gemini API에서는 URI 전달을 요청했더라도
GET /v1beta/interactions/{id}가 인라인 base64를 반환합니다. URI는 생성 응답이나 스트림에서만 확실하게 얻을 수 있으므로, 그 시점에 반드시 저장해 두세요. - 편집에는 저장이 필요.
store: false로 생성한 영상은 이후 턴에서 편집할 수 없습니다.
첫 Interactions 호출을 만들 때는 저희 Omni 1.1 API 가이드를 그대로 활용할 수 있으며, 모델 ID만 새 값으로 바꾸면 됩니다.

Apidog CLI로 코딩 에이전트에게 두 모델 테스트 맡기기
나중에 제공자를 바꾸거나 두 모델을 함께 운영할 계획이라면, 어느 모델이 응답했는지와 무관하게 동작하는 검증 세트가 필요합니다. 이 작업을 코딩 에이전트에게 맡기세요. 에이전트는 Apidog CLI로 양쪽 엔드포인트를 정의하고, 각각을 테스트 시나리오로 만든 다음, 동일한 어설션을 적용한 하나의 테스트 스위트로 묶어 줍니다.
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install
그다음 Claude Code, Codex 또는 Cursor에 프롬프트 하나만 전달하면 됩니다:
In Apidog project <id>, create endpoints for Gemini Omni 1.2 Flash
(POST /v1beta/interactions) and Veo 3.1 Fast (predictLongRunning plus
fetchPredictOperation). Build one test scenario per provider and put both
in a test suite named video-provider-contract. Poll Veo until done. Assert
the same things on each: the job finishes, the output is video/mp4, and a
video URI or data field is present. Run it and summarize any failures.
에이전트는 각 스키마를 읽고 페이로드를 검증한 뒤, 테스트 스위트를 구성해 실행합니다:
apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file omni.json
apidog endpoint create --project <id> --file omni.json
apidog test-scenario create --project <id> --name "omni-contract" --folder-id <folderId> --priority 1
apidog test-scenario import-steps <scenarioId> --project <id> --source endpoint --ids <endpointId> --sync manual
apidog test-suite create --project <id> --name "video-provider-contract"
apidog test-suite update <suiteId> --project <id> --file suite.json
apidog run --test-suite <suiteId> --project <id> -e <envId> \
--timeout-request 300000 -r cli,junit --out-dir ./reports
이렇게 해두면 제공자를 교체할 때 프로덕션의 플레이어가 깨지는 형태가 아니라, 실패한 어설션으로 문제가 드러납니다. 테스트 픽스처는 최소한으로 유지하세요. 매 실행마다 실제 영상 생성 비용이 청구되기 때문입니다. 3초 360p Omni 클립 하나와 4초 720p Fast 클립 하나면 약 $0.47에 해당합니다. 매 커밋마다 실행하지 말고 야간 배치로 실행하세요. 이 명령어는 파이프라인에 그대로 넣을 수 있으며, 자세한 방법은 저희 Apidog CLI CI/CD 가이드에 나와 있습니다. Apidog Free는 최대 4명까지 사용할 수 있습니다.
FAQ
여전히 Gemini API 키로 Veo를 호출할 수 있나요? 아니요. Gemini API의 Veo 3.1 Preview 모델은 2026년 10월 22일에 종료되었습니다. GA 모델은 Google Cloud 프로젝트와 액세스 토큰을 사용하는 Gemini Enterprise Agent Platform에서 실행됩니다.
Veo 4가 있나요? 확인한 범위에서는 없습니다. 2026년 11월 6일 기준으로 Google의 현재 Veo 모델 페이지에는 3.1 모델만 등록되어 있습니다.
Omni 1.1 코드는 어떻게 되나요? 2026년 12월 3일부터 gemini-omni-1.1-flash로 보낸 요청은 gemini-omni-1.2-flash로 라우팅되며 1.2 요금이 청구됩니다. 모델 문자열은 계속 동작하지만, 그 뒤의 모델이 바뀌므로 해당 날짜 전에 프롬프트를 1.2에서 테스트해 두세요.
어느 쪽이 더 보기 좋은 영상을 만드나요? Google은 이 부분에 대한 벤치마크를 공개하지 않으므로, 저희가 승자를 지목하지는 않겠습니다. 같은 프롬프트를 양쪽에 넣어 보고 직접 판단해 보세요.
