您可以在 Gemini 要求中加入影片,執行涉及瞭解所附影片內容的工作。本頁面說明如何使用 Google Cloud 控制台和 Vertex AI API,在 Vertex AI 中將影片新增至 Gemini 的要求。
支援的模型
下表列出支援影片理解功能的模型:
型號 | 媒體詳細資料 | MIME 類型 |
---|---|---|
Gemini 2.5 Flash-Lite |
|
|
Gemini 2.5 Flash 搭配 Live API 原生音訊 |
|
|
Gemini 2.0 Flash 搭配 Live API |
|
|
Gemini 2.0 Flash 搭配圖片產生功能 |
|
|
Gemini 2.5 Pro |
|
|
Gemini 2.5 Flash |
|
|
Gemini 2.0 Flash |
|
|
Gemini 2.0 Flash-Lite |
|
|
配額指標為 generate_content_video_input_per_base_model_id_and_resolution
。
如需 Gemini 模型支援的語言清單,請參閱模型資訊 Google 模型。如要進一步瞭解如何設計多模態提示,請參閱「設計多模態提示」。如果您想直接從行動和網頁應用程式使用 Gemini,請參閱 Swift、Android、Web、Flutter 和 Unity 應用程式的 Firebase AI Logic 用戶端 SDK。
在要求中新增影片
您可以在 Gemini 的要求中加入單一影片或多部影片,且影片可以包含音訊。
單一影片
下列各分頁中的程式碼範例會顯示不同的方法,用於識別影片中的內容。這個範例可搭配所有 Gemini 多模態模型使用。
控制台
如要使用 Google Cloud 控制台傳送多模態提示,請按照下列步驟操作:在 Google Cloud 控制台的 Vertex AI 專區中,前往「Vertex AI Studio」頁面。
按一下「建立提示」。
選用步驟:設定模型和參數:
- 模型:選取模型。
選用步驟:如要設定進階參數,請按一下「Advanced」,然後按照下列步驟進行設定:
按一下即可展開進階設定
Top-K:使用滑桿或文字方塊輸入 Top-K 的值。
「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為1
,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為3
,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。
- Top-P:使用滑桿或文字方塊輸入 top-P 的值。
模型會按照可能性最高到最低的順序選取符記,直到所選符記的可能性總和等於 Top-P 值。如要讓結果的變化性降到最低,請將 Top-P 設為
0
。 - 回應數量上限:使用滑桿或文字方塊輸入要產生的回應數量。
- 逐句回覆:啟用此選項後,系統會逐句顯示回覆。
- 安全性篩選器門檻:選取可能有害回應的門檻。
- 啟用建立基準:系統不支援在多模態提示中建立基準。
- 區域:選取要使用的區域。
- 溫度:使用滑桿或文字方塊輸入溫度值。
The temperature is used for sampling during response generation, which occurs when
andtopP
topK
are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of0
means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible.If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature.
<li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.Specify a lower value for shorter responses and a higher value for potentially longer responses.
<li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences. </ul>
按一下「插入媒體」,然後選取檔案來源。
上傳
選取要上傳的檔案,然後按一下「開啟」。
使用網址上傳
輸入要使用的檔案網址,然後按一下「插入」。
YouTube
輸入要使用的 YouTube 影片網址,然後按一下「插入」。
你可以使用任何公開影片,或是由你用來登入 Google Cloud 控制台的帳戶擁有的影片。
Cloud Storage
選取要匯入的值區,然後從該值區選取檔案,然後按一下「選取」。
Google 雲端硬碟
- 請選擇帳戶,並在首次選取這個選項時,授權 Vertex AI Studio 存取您的帳戶。您可以上傳多個檔案,總大小上限為 10 MB。單一檔案大小不得超過 7 MB。
- 按一下要新增的檔案。
按一下 [選取]。
檔案縮圖會顯示在「提示」窗格中。系統也會顯示符號總數。如果提示資料超過符記限制,系統會截斷符記,且不會納入資料處理作業。
在「提示」窗格中輸入文字提示。
選用:如要查看「符記 ID 到文字」和「符記 ID」,請按一下「提示」窗格中的「符記數量」。
按一下「提交」。
選用:如要將提示詞儲存至「我的提示詞」,請按一下
「儲存」。選用:如要取得提示的 Python 程式碼或 curl 指令,請依序點選
「Build with code」(使用程式碼建構) >「Get code」(取得程式碼)。
Gen AI SDK for Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便透過 Vertex AI 使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Gen AI SDK for Go
瞭解如何安裝或更新 Gen AI SDK for Go。
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便透過 Vertex AI 使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
設定環境後,您可以使用 REST 測試文字提示。以下範例會將要求傳送至發布商模型端點。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的專案 ID。FILE_URI
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有影片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/video/animals.mp4
,Mime 類型為video/mp4
。如要觀看這部影片,請開啟 MP4 範例檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
MIME_TYPE
:在data
或fileUri
欄位中指定的檔案媒體類型。可接受的值包括:按一下即可展開 MIME 類型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
:提示中要納入的文字說明。例如:What is in the video?
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
接著,執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent" | Select-Object -Expand Content
您應該會收到類似以下的 JSON 回應。
請注意,此範例網址中的以下內容:- 使用
generateContent
方法,要求在回覆完全產生後傳回。為減少使用者對延遲的感受,請使用streamGenerateContent
方法,在回覆生成的同時串流回覆內容。 - 多模態模型 ID 位於網址結尾,位於方法 (例如
gemini-2.0-flash
) 之前。這個範例可能也支援其他模型。
含有音訊的影片
以下說明如何摘要含有音訊的影片檔案,並以時間戳記傳回章節。這個範例可搭配 Gemini 2.0 使用。
Gen AI SDK for Python
安裝
pip install --upgrade google-genai
詳情請參閱 SDK 參考說明文件。
設定環境變數,以便透過 Vertex AI 使用 Gen AI SDK:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
設定環境後,您可以使用 REST 測試文字提示。以下範例會將要求傳送至發布商模型端點。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的專案 ID。FILE_URI
:要納入提示中的檔案 URI 或網址。可接受的值包括:- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
gemini-2.0-flash
和gemini-2.0-flash-lite
的大小限制為 2 GB。 - HTTP 網址:檔案網址必須可供大眾讀取。每個要求最多可指定一個影片檔案、一個音訊檔案和最多 10 個圖片檔案。音訊檔案、影片檔案和文件不得超過 15 MB。
- YouTube 影片網址:YouTube 影片必須屬於您用來登入 Google Cloud 控制台的帳戶,或是公開的影片。每個要求僅支援一個 YouTube 影片網址。
指定
fileURI
時,您也必須指定檔案的媒體類型 (mimeType
)。如果啟用 VPC Service Controls,系統就不會支援為fileURI
指定媒體檔案網址。如果 Cloud Storage 中沒有影片檔案,您可以使用以下公開檔案:
gs://cloud-samples-data/generative-ai/video/pixel8.mp4
,Mime 類型為video/mp4
。如要觀看這部影片,請開啟 MP4 範例檔案。- Cloud Storage 值區 URI:物件必須是公開可讀,或是位於發出要求的 Google Cloud 專案中。
MIME_TYPE
:在data
或fileUri
欄位中指定的檔案媒體類型。可接受的值包括:按一下即可展開 MIME 類型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
在提示中加入的文字操作說明。例如:TEXT
Provide a description of the video. The description should also contain anything important which people say in the video.
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
接著,執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent"
PowerShell
將要求主體儲存在名為 request.json
的檔案中。在終端機中執行下列指令,在目前目錄中建立或覆寫此檔案:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,執行下列指令來傳送 REST 要求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.5-flash:generateContent" | Select-Object -Expand Content
您應該會收到類似以下的 JSON 回應。
請注意,此範例網址中的以下內容:- 使用
generateContent
方法,要求在回覆完全產生後傳回。為減少使用者對延遲的感受,請使用streamGenerateContent
方法,在回覆生成的同時串流回覆內容。 - 多模態模型 ID 位於網址結尾,位於方法 (例如
gemini-2.0-flash
) 之前。這個範例可能也支援其他模型。
控制台
如要使用 Google Cloud 控制台傳送多模態提示,請按照下列步驟操作:在 Google Cloud 控制台的 Vertex AI 專區中,前往「Vertex AI Studio」頁面。
按一下「建立提示」。
選用步驟:設定模型和參數:
- 模型:選取模型。
選用步驟:如要設定進階參數,請按一下「Advanced」,然後按照下列步驟進行設定:
按一下即可展開進階設定
Top-K:使用滑桿或文字方塊輸入 Top-K 的值。
「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為1
,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為3
,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。
- Top-P:使用滑桿或文字方塊輸入 top-P 的值。
模型會按照可能性最高到最低的順序選取符記,直到所選符記的可能性總和等於 Top-P 值。如要讓結果的變化性降到最低,請將 Top-P 設為
0
。 - 回應數量上限:使用滑桿或文字方塊輸入要產生的回應數量。
- 逐句回覆:啟用此選項後,系統會逐句顯示回覆。
- 安全性篩選器門檻:選取可能有害回應的門檻。
- 啟用建立基準:系統不支援在多模態提示中建立基準。
- 區域:選取要使用的區域。
- 溫度:使用滑桿或文字方塊輸入溫度值。
The temperature is used for sampling during response generation, which occurs when
andtopP
topK
are applied. Temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a less open-ended or creative response, while higher temperatures can lead to more diverse or creative results. A temperature of0
means that the highest probability tokens are always selected. In this case, responses for a given prompt are mostly deterministic, but a small amount of variation is still possible.If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature.
<li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.Specify a lower value for shorter responses and a higher value for potentially longer responses.
<li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences. </ul>
按一下「插入媒體」,然後選取檔案來源。
上傳
選取要上傳的檔案,然後按一下「開啟」。
使用網址上傳
輸入要使用的檔案網址,然後按一下「插入」。
YouTube
輸入要使用的 YouTube 影片網址,然後按一下「插入」。
你可以使用任何公開影片,或是由你用來登入 Google Cloud 控制台的帳戶擁有的影片。
Cloud Storage
選取要匯入的值區,然後從該值區選取檔案,然後按一下「選取」。
Google 雲端硬碟
- 請選擇帳戶,並在首次選取這個選項時,授權 Vertex AI Studio 存取您的帳戶。您可以上傳多個檔案,總大小上限為 10 MB。單一檔案大小不得超過 7 MB。
- 按一下要新增的檔案。
按一下 [選取]。
檔案縮圖會顯示在「提示」窗格中。系統也會顯示符號總數。如果提示資料超過符記限制,系統會截斷符記,且不會納入資料處理作業。
在「提示」窗格中輸入文字提示。
選用:如要查看「符記 ID 到文字」和「符記 ID」,請按一下「提示」窗格中的「符記數量」。
按一下「提交」。
選用:如要將提示詞儲存至「我的提示詞」,請按一下
「儲存」。選用:如要取得提示的 Python 程式碼或 curl 指令,請依序點選
「Build with code」(使用程式碼建構) >「Get code」(取得程式碼)。
自訂影片處理作業
您可以設定剪輯間隔或提供自訂影格率取樣,在 Gemini for Google Cloud API 中自訂影片處理作業。
設定裁剪間隔
您可以使用開始和結束偏移量指定 videoMetadata
,藉此裁剪影片。
設定自訂影格速率
您可以將 fps
引數傳遞至 videoMetadata
,藉此設定自訂影格速率取樣。
預設會從影片中取樣每秒 1 張影格 (FPS)。建議您為長時間影片設定低 FPS (< 1)。這項功能對於靜態影片 (例如講座) 特別實用。如果您想在快速變化的視覺效果中擷取更多細節,建議您設定較高的 FPS 值。
調整媒體解析度
您可以調整 MediaResolution
,以更少的符記處理影片。
設定選用模型參數
每個模型都有一組可設定的選用參數。詳情請參閱「內容產生參數」。
影片符記化
以下是影片的符記計算方式:
-
Gemini 2.5 Pro、Gemini 2.0 Flash 和 Gemini 2.0 Flash-Lite:音訊軌會使用影片影格編碼。音訊曲目也會細分為
1 秒的幹線 ,每個幹線代表 32 個符記。影片影格和音訊符記會與其時間戳記交錯排列。時間戳記以 5 個符記表示。 - 所有 Gemini 多模態模型:影片的取樣率為
每秒 1 格 (fps) 。每個影片影格會佔用 258 個符記。
最佳做法
使用影片時,請參考下列最佳做法和資訊,以獲得最佳成效:
- 如果提示包含單一影片,請將影片放在文字提示之前。
- 如果您需要在含有音訊的影片中進行時間戳記本地化,請要求模型以
MM:SS
格式產生時間戳記,其中前兩位數字代表分鐘,後兩位數字代表秒數。針對詢問時間戳記的問題,請使用相同的格式。
限制
雖然 Gemini 多模態模型在許多多模態用途上都相當強大,但請務必瞭解模型的限制:
- 內容審核:模特兒拒絕回答違反 YouTube 安全政策的影片。
- 非語音聲響辨識:支援音訊的模型可能會誤認非語音的聲響。
- 高速動作:由於固定的
每秒 1 格 (fps) 取樣率,模型可能會在解讀影片中的高速動作時出錯。
影片技術詳細資料
支援的模型和脈絡:所有 Gemini 2.0 和 2.5 模型都能處理影片資料。
- 脈絡窗口為 200 萬個詞元的模型,可在預設媒體解析度下處理長達 2 小時的影片,或在低媒體解析度下處理長達 6 小時的影片。脈絡窗口為 100 萬個詞元的模型,可在預設媒體解析度下處理長達 1 小時的影片,或在低媒體解析度下處理長達 3 小時的影片。
File API 處理:使用 File API 時,影片會以每秒 1 格 (FPS) 的速度取樣,音訊則以 1 Kbps (單一頻道) 的速度處理。每秒會新增一個時間戳記。
- 這些費率日後可能會因推論功能的改善而有所變動。
符記計算:每秒影片會以以下方式轉為符記:
個別影格 (以 1 FPS 取樣):
如果
mediaResolution
設為低,影格會以每影格 66 個符記進行符記化。否則,每個影格會以 258 個符記進行符記化。
音訊:每秒 32 個符號。
中繼資料也包含在內。
總計:在預設媒體解析度下,每秒約有 300 個符記,或在低媒體解析度下,每秒約有 100 個符記。
時間戳記格式:在提示中提及影片中的特定片段時,請使用
MM:SS
格式 (例如01:15
代表 1 分 15 秒)。最佳做法:
為取得最佳結果,請每個提示請求只使用一支影片。
如果要結合文字和單一影片,請將文字提示放在
contents
陣列中的影片部分之後。請注意,由於取樣率為 1 FPS,快速動作序列可能會遺失細節。如有需要,請考慮放慢這類短片的速度。
後續步驟
- 開始使用 Gemini 多模態模型建構內容 - 新客戶可獲得 $300 美元的免費 Google Cloud 抵免額,探索 Gemini 的各種功能。
- 瞭解如何傳送 Chat 提示要求。
- 瞭解負責任的 AI 技術最佳做法和 Vertex AI 的安全過濾器。