Gemini Omni 1.2 Flash hay Veo: nên chọn API video nào cho ứng dụng của bạn?

Veo 3.1 Preview đã biến mất khỏi Gemini API, nên việc lựa chọn giữa Omni và Veo giờ đây trở thành một quyết định về nền tảng. Dưới đây là chi phí của từng dịch vụ, nơi bạn có thể gọi API và cách chuyển đổi.

Medy Evrard

6 tháng 11 2026

Gemini Omni 1.2 Flash hay Veo: nên chọn API video nào cho ứng dụng của bạn?

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Câu trả lời nhanh: Hãy xây dựng trên Gemini Omni 1.2 Flash nếu bạn muốn chỉ dùng một API key duy nhất, có chỉnh sửa kiểu hội thoại, hoặc tạo clip dài tới 15 giây. Chỉ chọn Veo 3.1 nếu bạn đã vận hành trên Google Cloud và cần các tùy chọn điều khiển yêu cầu của nó, chẳng hạn như tối đa bốn kết quả mỗi lần gọi. Bạn không còn cách nào gọi Veo từ Gemini API: các model Preview của nó đã ngừng hoạt động vào ngày 22 tháng 10 năm 2026.

Việc ngừng hoạt động này biến bài so sánh model thành một quyết định lựa chọn nền tảng. Bài so sánh Omni 1.1 với Veo 3.1 của chúng tôi đã đề cập tới các thông số cũ. Bài hướng dẫn này trả lời một câu hỏi cụ thể hơn: bây giờ bạn nên xây dựng trên model nào?

Google không công bố benchmark nào cho Omni 1.2, nên ở đây không có phần nào xếp hạng hai model theo độ đẹp của video. Các thông số và mức giá bên dưới được lấy từ tài liệu của Google, truy cập vào ngày 6 tháng 11 năm 2026.

Tổng quan nhanh: Gemini Omni 1.2 Flash và Veo 3.1

Gemini Omni 1.2 Flash Veo 3.1
Trạng thái Đã phát hành rộng rãi (GA) generate-001 và fast-generate-001 đã GA, lite-generate-001 đang Preview
Nơi gọi API Gemini API, Gemini Enterprise Agent Platform Chỉ trên Agent Platform
Xác thực API key (Gemini API) Dự án Google Cloud và access token
Cấu trúc yêu cầu Interactions API predictLongRunning, kiểm tra kết quả bằng polling qua fetchPredictOperation
Vùng (location) global trên Agent Platform us-central1
Độ dài clip 3 đến 15 giây, tăng theo từng giây 4, 6 hoặc 8 giây
Âm thanh Nguyên bản Hỗ trợ tạo âm thanh
Độ phân giải 360p, 720p, 1080p và 4K (upscale) 720p, 1080p, và 4K trên Veo 3.1
Mở rộng video 3 đến 10 giây mỗi lượt 7 giây mỗi lần gọi, tối đa 37 giây
Chỉnh sửa đa lượt Có, qua previous_interaction_id Không có tính năng tương đương trong tài liệu chúng tôi đã đọc
Số kết quả mỗi yêu cầu Một video mỗi lượt trong các ví dụ mẫu sampleCount từ 1 đến 4
Negative prompt Không hỗ trợ, hãy viết vào prompt Tham số negativePrompt
Ngừng hỗ trợ sớm nhất Không có thông báo Ngày 4 tháng 5 năm 2027 trở đi (các model GA)

Một điểm mâu thuẫn cần tính đến khi lập kế hoạch: độ dài mở rộng tối đa của Omni phụ thuộc vào nền tảng bạn sử dụng. Tài liệu Gemini API nói tổng cộng 30 giây. Tài liệu mở rộng video của Agent Platform nói tối đa 40 giây. Nếu sản phẩm của bạn cam kết một độ dài nhất định, hãy kiểm thử trên chính nền tảng mà bạn vận hành sản phẩm.

Những thay đổi đối với Veo

Tài liệu video của Gemini API hiện ghi rõ rằng Veo 3.1 Preview trong Gemini API đã ngừng hoạt động. Ba mã model bị gỡ bỏ cùng lúc vào ngày 22 tháng 10 năm 2026:

Google chỉ ra hai lối thoát: Gemini Omni Flash, hoặc các model Veo bản GA trên Gemini Enterprise Agent Platform (bản kế nhiệm của Vertex AI). Chúng tôi không tìm thấy model Veo nào mới hơn 3.1 trên trang model Veo hiện tại của Google.

Vì vậy, một tích hợp được xây trên AI Studio key và một mã model Veo preview đã ngừng hoạt động. Việc đổi sang một tên model mới cũng không giải quyết được, vì các model GA nằm trên một nền tảng khác với cơ chế xác thực khác. Các hướng dẫn cũ hơn, bao gồm cả bài hướng dẫn API Veo 3.1 của chính chúng tôi, đều được viết cho lộ trình preview.

Bản đồ khả năng truy cập: Gemini API với API key chỉ truy cập được Omni 1.2 Flash, trong khi Gemini Enterprise Agent Platform với dự án Google Cloud truy cập được cả Omni 1.2 Flash và các model Veo 3.1 bản GA

Chi phí mỗi giây của từng API

Omni tính phí theo token đầu ra. Veo dùng giá cố định theo độ phân giải. Các mức giá này áp dụng cho video có âm thanh:

Đầu ra Omni 1.2 Flash Veo 3.1 (GA) Veo 3.1 Fast (GA) Veo 3.1 Lite (Preview)
360p $0.023 không có không có không có
720p khoảng $0.07 $0.40 $0.10 $0.05
1080p $0.104 $0.40 $0.12 $0.08
4K $0.209 $0.60 $0.30 không có

Số liệu của Omni lấy từ trang giá Gemini của Google, trang này cũng ghi giá đầu vào $1.50 mỗi triệu token. Mức giá 1080p và 4K của nó đã bao gồm cả việc upsampling. Số liệu của Veo lấy từ bảng giá của Agent Platform. Bảng này hiển thị giá theo đơn vị "count" nhưng không định nghĩa đơn vị đó. Các mức này khớp với giá tính theo giây được công bố khi ra mắt, nên chúng tôi hiểu là giá mỗi giây. Hãy đối chiếu với hóa đơn đầu tiên của bạn. Bảng giá cũng niêm yết giá 4K cho Fast, dù trang model chỉ hiển thị đầu ra 4K cho Veo 3.1.

Một clip 720p dài 8 giây có chi phí khoảng $0.56 trên Omni, $3.20 trên Veo 3.1, $0.80 trên Fast và $0.40 trên Lite. Lite là model Veo duy nhất có giá thấp hơn Omni cho video có âm thanh, và nó vẫn đang ở giai đoạn Preview. Veo cũng niêm yết giá cho video không âm thanh, ví dụ $0.08 cho Fast ở 720p. Để tính toán chi tiết theo token, hãy xem bài phân tích giá Omni 1.1 của chúng tôi, rồi thay bằng mức giá đầu ra video mới là $12.00 mỗi triệu token.

Google ghi gói miễn phí của Omni là "Không khả dụng" trên cả hai phiên bản 1.2 và 1.1.

Chọn Gemini Omni 1.2 Flash nếu

Hãy nắm rõ các giới hạn trước. Google cho biết hành động thể thao tốc độ cao, thay đổi kịch bản nhanh và vật lý phức tạp là những điểm model vẫn đang được cải thiện. Không hỗ trợ tải lên file âm thanh. Tính năng chỉnh sửa hoặc mở rộng video đã tải lên không khả dụng tại khu vực EEA, Thụy Sĩ hoặc Vương quốc Anh. Mỗi kết quả đầu ra đều mang watermark SynthID mà mắt thường không nhận ra.

Chọn Veo 3.1 nếu

Điều phải đánh đổi: chỉ hỗ trợ us-central1, cần dự án Google Cloud, và phải dùng vòng lặp polling. Đầu vào mở rộng phải là MP4 với 24 fps, dài từ 1 đến 30 giây. Trang mở rộng cũng liệt kê Lite trong bảng model nhưng bỏ qua nó trong phần REST, nên hãy xem tính năng mở rộng của Lite là chưa được xác nhận.

Chuyển một tích hợp Veo sang Interactions API

Chuyển sang Omni sẽ thay đổi cách bạn gửi yêu cầu, polling và phân tích phản hồi. Dưới đây là một lời gọi mở rộng video của Veo, theo tài liệu của Google:

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 }
}

Và cùng một tác vụ trên Omni, thông qua Agent Platform:

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" } }
}

Ánh xạ các trường của bạn như sau:

Veo Omni
instances[0].prompt Phần tử văn bản trong input
instances[0].video.gcsUri Phần tử video uri trong input
parameters.storageUri response_format gcs_uri
parameters.aspectRatio response_format aspect_ratio
parameters.seed generation_config.seed
parameters.negativePrompt Một dòng "Không làm X" trong prompt
parameters.sampleCount Không có trường tương ứng trong tài liệu chúng tôi đọc; hãy gửi các yêu cầu riêng
fetchPredictOperation background: true, rồi GET theo interaction ID
videos[].gcsUri Mục trong steps có loại model_output, là phần tử video

Bốn chi tiết cần lưu ý:

  1. Cấu trúc của response format. Ví dụ trên Agent Platform bọc response_format trong một mảng. Tài liệu Gemini API mô tả một đối tượng đơn. Hãy sao chép đúng cấu trúc của nền tảng mà bạn gọi.
  2. Định dạng thời lượng. Omni yêu cầu chuỗi dạng "7s", từ "3s" đến "15s", và từ "3s" đến "10s" cho việc mở rộng.
  3. URI bị mất. Trên Gemini API, GET /v1beta/interactions/{id} trả về base64 trực tiếp ngay cả khi bạn đã yêu cầu nhận kết quả qua URI. URI chỉ được đảm bảo có trong phản hồi tạo video hoặc trong luồng dữ liệu, nên hãy lưu lại ngay tại đó.
  4. Chỉnh sửa cần có lưu trữ. Với store: false, bạn không thể chỉnh sửa video đó trong các lượt sau.

Để thực hiện lời gọi Interactions đầu tiên, bài hướng dẫn API Omni 1.1 của chúng tôi vẫn áp dụng được, chỉ cần thay bằng mã model mới.

Hai luồng yêu cầu đặt cạnh nhau: Veo gửi predictLongRunning, polling fetchPredictOperation, rồi đọc video từ Cloud Storage, trong khi Omni tạo một interaction, nhận video, rồi gửi lượt tiếp theo với previous_interaction_id để chỉnh sửa

Để coding agent của bạn kiểm thử cả hai bằng Apidog CLI

Nếu bạn có thể đổi nhà cung cấp sau này, hoặc chạy cả hai song song, bạn sẽ cần một bộ kiểm tra không quan tâm model nào trả lời. Hãy giao việc đó cho coding agent của bạn. Nó định nghĩa cả hai endpoint bằng Apidog CLI, bọc mỗi endpoint trong một kịch bản kiểm thử, và gom chúng vào một bộ kiểm thử chung với các assertion giống nhau.

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install

Sau đó, chỉ cần đưa cho Claude Code, Codex hoặc Cursor một prompt duy nhất:

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.

Agent sẽ đọc schema của từng endpoint, kiểm tra tính hợp lệ của payload, rồi tạo và chạy bộ kiểm thử:

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

Khi đó, việc đổi nhà cung cấp sẽ hiện ra dưới dạng một assertion thất bại, thay vì một trình phát video hỏng ngay trong bản production. Hãy giữ cho các fixture thật nhỏ, vì mỗi lần chạy đều tính phí trên video thật: một clip Omni 360p dài 3 giây cộng với một clip Fast 720p dài 4 giây hết khoảng $0.47. Hãy chạy theo lịch hằng đêm, chứ không chạy với mỗi commit. Cùng dòng lệnh này có thể đưa thẳng vào pipeline, như bài hướng dẫn CI/CD với Apidog CLI của chúng tôi đã trình bày. Apidog Free hỗ trợ tối đa 4 người dùng.

Câu hỏi thường gặp

Tôi còn có thể gọi Veo bằng API key của Gemini không? Không. Các model Veo 3.1 Preview trong Gemini API đã ngừng hoạt động vào ngày 22 tháng 10 năm 2026. Các model GA chạy trên Gemini Enterprise Agent Platform, vốn dùng dự án Google Cloud và access token.

Đã có Veo 4 chưa? Theo những gì chúng tôi tìm được thì chưa. Trang model Veo hiện tại của Google chỉ liệt kê các model 3.1, tính đến ngày 6 tháng 11 năm 2026.

Điều gì xảy ra với mã của tôi dùng Omni 1.1? Từ ngày 3 tháng 12 năm 2026, các yêu cầu tới gemini-omni-1.1-flash sẽ được chuyển hướng tới gemini-omni-1.2-flash và tính phí theo giá 1.2. Chuỗi tên model của bạn vẫn hoạt động, nhưng hãy kiểm thử prompt trên 1.2 trước ngày đó, vì model phía sau đã thay đổi.

Model nào tạo video đẹp hơn? Google không công bố benchmark nào cho việc này, nên chúng tôi sẽ không chọn bên thắng cuộc. Hãy chạy cùng một bộ prompt qua cả hai và tự đánh giá các video.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API