如何在VertexAI中向gemini_model.generate_content传递fps元数据?
在Vertex AI中为Gemini的GCS URI视频添加FPS元数据
问题场景
原本使用Gemini开发者API时,可通过内嵌视频数据并指定video_metadata来传递FPS参数:
contents = types.Content(parts=[ types.Part( inline_data=types.Blob( data=video_bytes, mime_type=mime_type ), video_metadata=types.VideoMetadata(fps=8) ), types.Part(text=PROMPT) ]) resp = client.models.generate_content( model="gemini-2.5-flash", contents=contents, config=types.GenerateContentConfig( temperature=0.2, max_output_tokens=60000 ) )
切换到Vertex AI后,改用GCS URI加载视频,当前代码无法传递FPS元数据:
contents = [ Part.from_uri(uri=gcs_uri, mime_type=mime_type), Part.from_text(prompt) ] resp = gemini_model.generate_content(contents)
解决方案
在Vertex AI的Python SDK中,需要手动构造Part对象,通过file_data指定GCS URI,同时添加video_metadata字段来传递FPS参数。具体代码如下:
from vertexai.generative_models import GenerativeModel, Part, Content, VideoMetadata, FileData # 构建包含视频元数据的Part video_part = Part( file_data=FileData(uri=gcs_uri, mime_type=mime_type), video_metadata=VideoMetadata(fps=8) ) # 组装内容 contents = [ Content(parts=[video_part, Part.from_text(prompt)]) ] # 发送请求 gemini_model = GenerativeModel("gemini-2.5-flash") resp = gemini_model.generate_content(contents)
关键说明:
- 不再使用
Part.from_uri快捷方法,直接实例化Part对象 - 通过
FileData指定GCS视频的URI和MIME类型 - 同时传入
VideoMetadata对象设置FPS参数 - 需确保导入对应的Vertex AI SDK类
内容的提问来源于stack exchange,提问作者redtomato
相关产品推荐
相关产品推荐

