自 2025 年 4 月 29 日起,Gemini 1.5 Pro 和 Gemini 1.5 Flash 模型將無法用於先前未使用這些模型的專案,包括新專案。詳情請參閱「
模型版本和生命週期」。
使用 Gemini 多模態技術,為含有音訊的影片檔案生成摘要
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
這個範例說明如何摘要音訊影片檔案,並傳回附有時間戳記的章節。
深入探索
如需包含這個程式碼範例的詳細說明文件,請參閱下列內容:
程式碼範例
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Summarize a video file with audio with Gemini Multimodal\n\nThis sample shows you how to summarize a video file with audio and return chapters with timestamps.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Quickstart: Generate text using the Vertex AI Gemini API](/vertex-ai/generative-ai/docs/start/quickstarts/quickstart-multimodal)\n\nCode sample\n-----------\n\n### Go\n\n\nBefore trying this sample, follow the Go setup instructions in the\n[Vertex AI quickstart using\nclient libraries](/vertex-ai/docs/start/client-libraries).\n\n\nFor more information, see the\n[Vertex AI Go API\nreference documentation](/go/docs/reference/cloud.google.com/go/aiplatform/latest/apiv1).\n\n\nTo authenticate to Vertex AI, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \tgenai \"google.golang.org/genai\"\n )\n\n // generateWithVideo shows how to generate text using a video input.\n func generateWithVideo(w io.Writer) error {\n \tctx := context.Background()\n\n \tclient, err := genai.NewClient(ctx, &genai.ClientConfig{\n \t\tHTTPOptions: genai.HTTPOptions{APIVersion: \"v1\"},\n \t})\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to create genai client: %w\", err)\n \t}\n\n \tmodelName := \"gemini-2.5-flash\"\n \tcontents := []*genai.Content{\n \t\t{Parts: []*genai.Part{\n \t\t\t{Text: `Analyze the provided video file, including its audio.\n Summarize the main points of the video concisely.\n Create a chapter breakdown with timestamps for key sections or topics discussed.`},\n \t\t\t{FileData: &genai.FileData{\n \t\t\t\tFileURI: \"gs://cloud-samples-data/generative-ai/video/pixel8.mp4\",\n \t\t\t\tMIMEType: \"video/mp4\",\n \t\t\t}},\n \t\t},\n \t\t\tRole: \"user\"},\n \t}\n\n \tresp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to generate content: %w\", err)\n \t}\n\n \trespText := resp.Text()\n\n \tfmt.Fprintln(w, respText)\n\n \t// Example response:\n \t// Here's an analysis of the provided video file:\n \t//\n \t// **Summary**\n \t//\n \t// The video features Saeka Shimada, a photographer in Tokyo, who uses the new Pixel phone ...\n \t//\n \t// **Chapter Breakdown**\n \t//\n \t// * **0:00-0:05**: Introduction to Saeka Shimada and her work as a photographer in Tokyo.\n \t// ...\n\n \treturn nil\n }\n\n### Node.js\n\n\nBefore trying this sample, follow the Node.js setup instructions in the\n[Vertex AI quickstart using\nclient libraries](/vertex-ai/docs/start/client-libraries).\n\n\nFor more information, see the\n[Vertex AI Node.js API\nreference documentation](/nodejs/docs/reference/aiplatform/latest).\n\n\nTo authenticate to Vertex AI, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n const {GoogleGenAI} = require('@google/genai');\n\n const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;\n const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';\n\n async function generateContent(\n projectId = GOOGLE_CLOUD_PROJECT,\n location = GOOGLE_CLOUD_LOCATION\n ) {\n const ai = new GoogleGenAI({\n vertexai: true,\n project: projectId,\n location: location,\n });\n\n const prompt = `\n Analyze the provided video file, including its audio.\n Summarize the main points of the video concisely.\n Create a chapter breakdown with timestamps for key sections or topics discussed.\n `;\n\n const video = {\n fileData: {\n fileUri: 'gs://cloud-samples-data/generative-ai/video/pixel8.mp4',\n mimeType: 'video/mp4',\n },\n };\n\n const response = await ai.models.generateContent({\n model: 'gemini-2.5-flash',\n contents: [video, prompt],\n });\n\n console.log(response.text);\n\n return response.text;\n }\n\n### Python\n\n\nBefore trying this sample, follow the Python setup instructions in the\n[Vertex AI quickstart using\nclient libraries](/vertex-ai/docs/start/client-libraries).\n\n\nFor more information, see the\n[Vertex AI Python API\nreference documentation](/python/docs/reference/aiplatform/latest).\n\n\nTo authenticate to Vertex AI, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n from google import genai\n from google.genai.types import HttpOptions, Part\n\n client = genai.Client(http_options=HttpOptions(api_version=\"v1\"))\n prompt = \"\"\"\n Analyze the provided video file, including its audio.\n Summarize the main points of the video concisely.\n Create a chapter breakdown with timestamps for key sections or topics discussed.\n \"\"\"\n response = client.models.generate_content(\n model=\"gemini-2.5-flash\",\n contents=[\n Part.from_uri(\n file_uri=\"gs://cloud-samples-data/generative-ai/video/pixel8.mp4\",\n mime_type=\"video/mp4\",\n ),\n prompt,\n ],\n )\n\n print(response.text)\n # Example response:\n # Here's a breakdown of the video:\n #\n # **Summary:**\n #\n # Saeka Shimada, a photographer in Tokyo, uses the Google Pixel 8 Pro's \"Video Boost\" feature to ...\n #\n # **Chapter Breakdown with Timestamps:**\n #\n # * **[00:00-00:12] Introduction & Tokyo at Night:** Saeka Shimada introduces herself ...\n # ...\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=googlegenaisdk)."]]