You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Gemini AI API 1.5 Pro上传大视频并复用进行推理?

Gemini 1.5 Pro 大视频单次上传多次推理方案

核心实现逻辑

Gemini 1.5 Pro支持通过**Google Cloud Storage (GCS)**存储视频,后续推理直接引用GCS文件URI即可,无需重复上传,和GPT-4o的image_url复用逻辑一致。只需将视频上传至GCS一次,所有后续推理请求都可以通过该URI调用视频资源。

前置准备

  • 已创建Google Cloud项目并启用Gemini API(支持Gemini REST API或Vertex AI两种调用方式)
  • 将700MB以内、时长1小时内的视频上传至GCS,可选择设置文件权限为公开可读(简易场景),或通过服务账号授予API读取权限(企业级安全场景)

API端点与必填参数

1. Gemini REST API(快速测试场景)

  • 端点:https://generativelanguage.googleapis.com/v1/models/gemini-1.5-pro-latest:generateContent?key=YOUR_API_KEY
  • 必填参数:
    • key:个人Gemini API密钥
    • 请求体contents数组中,parts需包含file_data字段,其中file_uri为GCS路径(格式:gs://bucket-name/video-file.mp4),mime_type设为video/mp4
    • 可选generationConfig配置推理参数(如温度、最大输出token数)

2. Vertex AI API(企业级场景)

  • 端点:https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/gemini-1.5-pro:predict
  • 必填参数:
    • 通过OAuth2服务账号密钥完成身份认证
    • 请求体instances中的content需包含GCS URI引用的视频资源
    • 可选parameters配置推理参数

代码示例

Python(Gemini REST API)

import requests

API_KEY = "你的Gemini API密钥"
GCS_VIDEO_URI = "gs://你的存储桶名称/目标视频文件.mp4"
ENDPOINT = f"https://generativelanguage.googleapis.com/v1/models/gemini-1.5-pro-latest:generateContent?key={API_KEY}"

# 第一次推理:视频内容总结
prompt_1 = "请分点总结这个视频的核心内容"
payload_1 = {
    "contents": [
        {
            "parts": [
                {"text": prompt_1},
                {"file_data": {"file_uri": GCS_VIDEO_URI, "mime_type": "video/mp4"}}
            ]
        }
    ],
    "generationConfig": {
        "temperature": 0.2,
        "maxOutputTokens": 1024
    }
}

response_1 = requests.post(ENDPOINT, json=payload_1)
print("第一次推理结果:", response_1.json())

# 第二次推理:无需重新上传,直接复用URI
prompt_2 = "提取视频中出现的所有人物姓名及对应角色"
payload_2 = {
    "contents": [
        {
            "parts": [
                {"text": prompt_2},
                {"file_data": {"file_uri": GCS_VIDEO_URI, "mime_type": "video/mp4"}}
            ]
        }
    ]
}

response_2 = requests.post(ENDPOINT, json=payload_2)
print("第二次推理结果:", response_2.json())

Python(Vertex AI SDK)

from vertexai.generative_models import GenerativeModel, Part

# 初始化模型
model = GenerativeModel("gemini-1.5-pro")

# 引用GCS中的视频资源
video_part = Part.from_uri("gs://你的存储桶名称/目标视频文件.mp4", mime_type="video/mp4")

# 第一次推理:分析关键事件时间线
response_1 = model.generate_content([video_part, "请梳理视频中的关键事件时间线"])
print("第一次推理结果:", response_1.text)

# 第二次推理:提取产品展示片段
response_2 = model.generate_content([video_part, "找出视频中所有产品展示片段,描述每个片段的核心内容"])
print("第二次推理结果:", response_2.text)

最佳实践

  • 权限安全:优先使用服务账号授权GCS文件访问权限,避免设置公开可读
  • 视频优化:若视频时长接近1小时限制,可裁剪无关片段,减少推理资源消耗
  • 会话复用:多轮对话式推理可使用chat接口,在会话中保持视频引用,无需重复传入URI
  • 错误处理:添加重试机制,处理API调用超时、权限验证失败等异常情况

内容的提问来源于stack exchange,提问作者RukshanJS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:12:49