Cách kéo dài video bằng Gemini Omni 1.2 Flash

Mỗi lần gia hạn Omni 1.2 sẽ cộng thêm từ 3 đến 10 giây, nhưng giới hạn lại khác nhau giữa các nền tảng, và nếu nối chuỗi thiếu cẩn thận, bạn có thể mất luôn cảnh mở đầu. Dưới đây là request, phép tính và chi phí.

Medy Evrard

6 tháng 11 2026

Cách kéo dài video bằng Gemini Omni 1.2 Flash

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: Để mở rộng một video bằng Gemini Omni 1.2 Flash, hãy gửi clip của bạn cùng một prompt nối tiếp ngắn tới Interactions API. Mỗi lượt sẽ thêm từ 3 đến 10 giây và trả về clip dài hơn. Gemini API dừng ở tổng cộng 30 giây. Agent Platform của Google Cloud chạm tới 40 giây, nhưng chỉ khi bạn lên kế hoạch cho từng bước để phần mở đầu không bị cắt bỏ.

Để có lời khuyên về cách viết prompt, hãy xem hướng dẫn mở rộng cảnh Omni 1.1 của chúng tôi. Bài hướng dẫn này tập trung vào những điểm mới: các request, phép tính khi xếp chuỗi và chi phí của một clip 40 giây.

Tính năng mở rộng video của Gemini Omni 1.2 Flash hoạt động ra sao

Mở rộng video tạo ra phần tiếp nối ở cuối một clip. Mô hình đọc tối đa 10 giây cuối của đầu vào làm ngữ cảnh, viết thêm từ 3 đến 10 giây mới, rồi nối chúng vào clip. Nó chỉ nối thêm vào cuối: bạn không thể chèn footage vào đầu hay mở rộng phần giữa.

Google công bố các giới hạn khác nhau tùy vào nơi bạn gọi mô hình:

Gemini API Agent Platform (Google Cloud)
Xác thực API key Project và access token
Tổng thời lượng 30 giây 40 giây
Độ dài đầu vào Không nêu giới hạn riêng Bất kỳ độ dài nào
Ảnh tham chiếu Tối đa 6 trên Omni Tối đa 2 mỗi lần mở rộng
Chế độ mở rộng Prompt trước, task làm phương án dự phòng task: "extend" trong mọi mẫu
Seed và labels Không có trong tài liệu Omni generation_config.seed, labels
Kết quả được lưu trữ 55 ngày trên gói trả phí Tối đa 7 ngày

Nguồn tham khảo: tài liệu Omni của Gemini API và tài liệu mở rộng của Agent Platform.

Trên Agent Platform, mô hình đọc tối đa 10 giây cuối, rồi nối phân đoạn mới vào tối đa 30 giây cuối của đầu vào. Ví dụ của Google mở rộng một đầu vào 60 giây thêm 10 giây và trả về 40 giây, tức là 30 giây đầu tiên đã bị loại bỏ.

Timeline showing a 60-second input clip where the first 30 seconds are dropped, the last 30 seconds are kept, the model reads the final 10 seconds, and the 40-second output is the kept 30 seconds plus 10 new seconds.

Bạn không phải tự ghép bất kỳ thứ gì, vì đầu ra đã bao gồm phần footage trước đó. Tuy nhiên, Google có chỉnh sửa một số khung hình cuối của đầu vào để làm mượt quá trình chuyển tiếp.

Những thay đổi của tính năng mở rộng trong phiên bản 1.2

Mở rộng video từng bước trên Gemini API

  1. Tạo một clip, hoặc tải lên một clip qua Files API. Các tệp đã tải lên sẽ bị xóa sau 48 giờ.
  2. Chỉ mô tả những gì xảy ra tiếp theo.
  3. Đặt duration trong khoảng từ "3s" đến "10s" (mặc định là 10).
  4. Lưu lại interaction ID cho lượt tiếp theo.
from google import genai

client = genai.Client()

first = client.interactions.create(
    model="gemini-omni-1.2-flash",
    input="A courier in a yellow jacket cycles through a rainy night market.",
    response_format={"type": "video", "duration": "15s"},
)

second = client.interactions.create(
    model="gemini-omni-1.2-flash",
    previous_interaction_id=first.id,
    input="The courier brakes at a red door. Keep the same yellow jacket.",
    response_format={"type": "video", "duration": "10s", "delivery": "uri"},
)

Để mở rộng footage do chính bạn quay, hãy thay previous_interaction_id bằng một mảng đầu vào gồm {"type": "video", "uri": video_file.uri} và một mục văn bản.

Việc tải lên còn có thêm hai giới hạn: không thể thêm lời thoại vào đoạn có người đang nói, và không thể mở rộng từ khu vực EEA, Thụy Sĩ hay Vương quốc Anh. Mở rộng nhiều lượt cho video do mô hình tạo ra tránh được cả hai giới hạn này.

Hướng dẫn chi tiết request trên Agent Platform

Hãy dùng tuyến này khi cần 40 giây hoặc hàng đợi công việc. Quá trình tạo có thể mất hơn một phút, vì vậy hãy POST body sau tới https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions với background ở trạng thái bật:

{
  "model": "gemini-omni-1.2-flash",
  "background": true,
  "input": [
    { "type": "text", "text": "The courier opens the red door and steps inside." },
    { "type": "video", "uri": "gs://my-bucket/hop-1.mp4", "mime_type": "video/mp4" }
  ],
  "response_format": [
    {
      "type": "video",
      "delivery": "uri",
      "gcs_uri": "gs://my-bucket/out/",
      "aspect_ratio": "16:9",
      "duration": "5s"
    }
  ],
  "generation_config": {
    "seed": 4242,
    "video_config": { "task": "extend" }
  },
  "labels": { "campaign": "courier", "hop": "2" }
}

Lệnh gọi trả về một interaction ID với trạng thái in_progress. Hãy thăm dò bằng GET .../locations/global/interactions/INTERACTION_ID. Khi hoàn tất, đọc URI gs:// từ bước model_output trong steps. URI đó trở thành đầu vào cho hop tiếp theo của bạn.

Các chế độ stateless (store: false), stateful (store: true) và streaming cũng tồn tại. Kết quả được lưu trữ và kết quả bất đồng bộ chỉ giữ tối đa 7 ngày, vì vậy hãy sao chép bất cứ thứ gì bạn cần.

[VERIFY] Chưa chạy thử: không có dự án Google Cloud nào khả dụng. Body mẫu của Google không hiển thị cả seed lẫn labels, nên hãy xác nhận vị trí khai báo của chúng.

Xếp chuỗi để chạm giới hạn 40 giây

Một hop chỉ giữ được trọn vẹn footage của bạn nếu đầu vào của nó có độ dài từ 30 giây trở xuống. Để chạm mốc 40 giây mà không mất đoạn nào, hãy đạt chính xác 30 giây trước.

Hop duration có kế hoạch Đầu ra có kế hoạch duration không có kế hoạch Đầu ra không có kế hoạch
Bắt đầu 15s 15s 15s 15s
1 10s 25s 10s 25s
2 5s 30s 10s 35s
3 10s 40s 10s 40s, mất 5 giây đầu
Two chaining plans compared: the planned chain of 15 seconds plus 10, 5 and 10 reaches 40 seconds with nothing lost, while the naive chain of 15 seconds plus three 10-second hops reaches 40 seconds but drops the first 5 seconds.

Chuỗi không có kế hoạch mua thêm được 5 giây, rồi lại vứt bỏ phần mở đầu của bạn. Độ dài clip sẽ không cảnh báo bạn, vì cả hai chuỗi đều trả về 40 giây.

Khởi đầu 15 giây không giúp tiết kiệm số lần gọi ở mốc 40 giây: bắt đầu từ 10 giây cũng cần ba lần mở rộng. Nó có ích ở các mốc khác, vì 25 giây chỉ cần một lần mở rộng thay vì hai, còn 35 giây cần hai thay vì ba.

Trên Gemini API, hãy dừng sau hop 2. Google không nói gì về những gì sẽ xảy ra với request vượt quá 30 giây.

Giữ nhân vật ổn định bằng ảnh tham chiếu và seed

Một nhân vật đã rời khỏi khung hình trước 10 giây cuối sẽ vô hình với mô hình, ngay cả khi các khung hình đó vẫn còn trong clip. Giải pháp của Google: nhắc lại nhân vật hoặc truyền một ảnh tham chiếu trong cùng mảng input:

{ "type": "image", "uri": "gs://my-bucket/courier.png", "mime_type": "image/png" },
{ "type": "text", "text": "The courier from the reference image walks back into frame." }

Đặt generation_config.seed để có kết quả tái lập được. Tham số này hữu ích nhất khi gỡ lỗi: chạy lại một hop với cùng seed để xem thay đổi có đến từ prompt của bạn hay không. Google không cam kết seed giữ cho nhân vật ổn định giữa các prompt khác nhau, nên hãy dựa vào ảnh tham chiếu cho việc đó. Dùng labels để theo dõi chi phí theo từng hop.

Một clip 40 giây tốn bao nhiêu tiền

Trang định giá của Google tính phí đầu ra video Omni 1.2 với giá 12,00 USD mỗi triệu token. Trang này không nêu rõ một lần mở rộng được tính phí theo số giây mới hay theo mọi giây được trả về. Chuỗi có kế hoạch tạo ra 40 giây nhưng trả về các clip 15, 25, 30 và 40 giây, cộng lại thành 110 giây.

Độ phân giải Mỗi giây Nếu chỉ tính phí giây mới Nếu tính phí mọi giây trả về
360p 0,023 USD 0,93 USD 2,55 USD
720p Khoảng 0,07 USD 2,78 USD 7,65 USD
1080p (upsample) 0,104 USD 4,17 USD 11,47 USD
4K (upsample) 0,209 USD 8,34 USD 22,94 USD

Đây là mức giá của Gemini API, tính từ số token mỗi giây do Google công bố. Token đầu vào (1,50 USD mỗi triệu) và token suy luận (9,00 USD mỗi triệu) được tính cộng thêm.

Trước khi tự kiểm chứng được, hãy tính ngân sách theo cột bên phải. Để giữ hóa đơn ở mức thấp:

Các request tới gemini-omni-1.1-flash sẽ được chuyển hướng sang bản 1.2 từ ngày 3 tháng 12 năm 2026 và tính phí theo mức giá của 1.2.

Để coding agent của bạn kiểm thử luồng bất đồng bộ bằng Apidog CLI

Một chuỗi bất đồng bộ có thể thất bại một cách im lặng: một vòng thăm dò không bao giờ kết thúc, một lần chạy kết thúc với trạng thái failed, một cấu trúc response bị thay đổi. Hãy để coding agent của bạn xây dựng bài kiểm thử đó bằng Apidog CLI và chạy thay bạn.

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

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

In Apidog project <id>, create endpoints for POST and GET on the Omni
interactions URL. Build a test scenario named omni-extend-async: start a
3-second 360p extension with background set to true, save the interaction
ID, then loop with a 10-second delay on GET until status leaves in_progress.
Assert status is completed and a model_output step holds a video/mp4 item
with a uri or data. Run it and summarize any failures.

Agent sẽ kiểm chứng payload của mình, rồi xây dựng và chạy kịch bản:

apidog cli-schema get test-scenario-update
apidog test-scenario create --project <id> --name "omni-extend-async" --folder-id <folderId> --priority 1
apidog test-scenario import-steps <scenarioId> --project <id> --source endpoint --ids <postId>,<getId>
apidog cli-schema validate test-scenario-update --file scenario.json
apidog test-scenario update <scenarioId> --project <id> --file scenario.json
apidog run -t <scenarioId> --project <id> -e <envId> --timeout-request 300000 -r cli,junit --out-dir ./reports

Mỗi lần chạy đều tính phí một clip thật, vì vậy hãy chạy theo lịch hằng đêm thay vì trên mỗi commit. Một hop 3 giây ở 360p tốn khoảng 0,07 USD nếu chỉ tính phí các giây mới. Dòng lệnh này có thể đưa thẳng vào pipeline, như hướng dẫn Apidog CLI CI/CD của chúng tôi đã cho thấy, còn hướng dẫn thiết lập Claude Code bao gồm phần phía agent. Apidog Free hỗ trợ tới 4 người dùng.

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

Một video Gemini Omni 1.2 Flash có thể dài bao nhiêu? Một lần tạo duy nhất cho ra từ 3 đến 15 giây. Khi mở rộng, tài liệu Gemini API cho tổng cộng 30 giây, còn tài liệu Agent Platform cho 40 giây.

Tại sao phần đầu video mở rộng của tôi biến mất? Trên Agent Platform, chỉ 30 giây cuối của đầu vào được giữ lại. Bất kỳ đầu vào nào dài quá 30 giây đều mất phần mở đầu. Hãy lên kế hoạch các hop sao cho hop cuối bắt đầu từ đúng 30 giây.

Có thể mở rộng video tôi tự quay không? Có, ở ngoài khu vực EEA, Thụy Sĩ và Vương quốc Anh. Hãy tải video lên qua Files API, hoặc trỏ tới Cloud Storage trên Agent Platform. Bạn không thể thêm lời thoại vào clip đã tải lên có người đang nói.

Có thể mở rộng clip miễn phí không? Không thông qua API. Google ghi gói miễn phí là "Not available" (không khả dụng) cho Omni 1.2 và 1.1, nên ngay cả lần thử nghiệm cũng bị tính phí. Một lần mở rộng 3 giây ở 360p là lựa chọn rẻ nhất bạn có thể chạy.

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