始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿

Gemini 媒体分析功能和上传文件到GCS API

本文档描述通过 ModelVerse 网关调用 Gemini 的媒体分析功能和上传文件到GCS,输入可为图片、视频、音频。 Gemini官方文档

认证说明

所有接口支持以下任一方式携带 API Key(示例中仅使用脱敏占位符):

  • Authorization: Bearer <your_api_key>
  • x-goog-api-key: <your_api_key>

Base URL 示例:https://api.modelverse.cn(海外可用 https://api.umodelverse.ai)。


流程概览

  1. 上传媒体文件到GCS平台:POST /v1/files
  2. 从上传响应中获取文件地址(s3_url
  3. 调用 Gemini 媒体分析接口:POST /v1beta/models/{model}:generateContent
  4. 从响应中提取文本分析结果

1. 上传媒体文件

将图片、视频或音频文件上传到平台,获取可在后续请求中引用的 s3_url

请求

  • 方法 / 路径POST /v1/files
  • Content-Typemultipart/form-data
  • 表单字段
    • file:媒体文件(二进制)
    • purpose:必选;(batch:gcs

示例

curl https://api.modelverse.cn/v1/files \
  -H "Authorization: Bearer <$MODELVERSE_API_KEY>" \
  -F purpose="batch:gcs" \
  -F "file=@gemini-3.1-pro-preview.jpg" 

成功返回示例

{
  "id": "1773236148797418904_demo-image.jpg",
  "object": "file",
  "bytes": 224123,
  "created_at": 1773236150,
  "expires_at": 0,
  "filename": "1773236148797418904_demo-image.jpg",
  "purpose": "",
  "s3_url": "https://example-file-host/modelverse/1773236148797418904_demo-image.jpg"
}

后续媒体分析请求可使用 s3_url 作为 file_data.file_uri

异常返回示例

{
  "error": {
    "message": "this is error meesage",
    "type": "internal_error",
    "param": "e4b4cf3f-24a0-4620-b53e-fee919c9d914",
    "code": "model_server_error"
  }
} 

2. 调用 Gemini 媒体分析接口

请求

  • 方法 / 路径POST /v1beta/models/{model}:generateContent
  • Content-Typeapplication/json

contents[].parts[] 常见字段:

字段类型说明
textstring问题或指令文本
file_data.mime_typestring媒体 MIME,例如 image/jpegvideo/mp4audio/mpeg
file_data.file_uristring媒体地址,建议使用上传接口返回的 s3_url

3. 示例:文本分析

IMAGE_URL="https://example-file-host/modelverse/1773236148797418904_demo-image.jpg"
 
curl -X POST "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "x-goog-api-key: $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contents": [
    {
      "parts": [
        {
          "fileData": {
            "fileUri": "https://storage.googleapis.com/gemini-batch-001/1774000031757082682_gemini-3-flash-preview.jsonl?Expires=1774604833&GoogleAccessId=bucket%40stacyzhang0708-1218-01.iam.gserviceaccount.com&Signature=c4QsHdf89aWeTNX0JzVqT%2BL4VtM2%2Bx7PEpjjNSVU%2FBNjrvJB2kKbpbIWmKvexQvOA4BO9no0KbZxazCvAQbNttK4Ecng7Za4K4FslNLBJ7fucapF7xdE0b%2BSO690ph%2BXWX5erZJixmzV%2BhiGZay0mBdYAxOfVwZb%2Bc5RA%2FQzPqBsdbdKb1%2FzzD4AcwCHu0w0So54JMQt3qcDQVi56NZaOZA4aC9SLZGcVdYakMF75XKn9Z99e2rXgFtEo2P7%2BuRBY8hD%2Bv%2B6dHC9k6fa9nABZEw38wi3Ozfsf7eQ0PmTmrQ2ue6n97zMjbg6rSn2RmKFWc4iWBl48ikkyFmA1GhKsA%3D%3D",
            "mimeType": "text/plain"
          }
        },
        {
          "text": "What is in the text?"
        }
      ],
      "role": "user"
    }
  ]
}
'

4. 示例:视频分析

VIDEO_URL="https://example-file-host/modelverse/1773236148797418904_demo-video.mp4"
 
curl -X POST "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "Authorization: Bearer $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "file_data": {
              "mime_type": "video/mp4",
              "file_uri": "'"$VIDEO_URL"'"
            }
          },
          {
            "text": "请总结这个视频的主要事件,并按时间顺序列出关键片段。"
          }
        ]
      }
    ]
  }'

5. 示例:音频分析

AUDIO_URL="https://example-file-host/modelverse/1773236148797418904_demo-audio.mp3"
 
curl -X POST "https://api.modelverse.cn/v1beta/models/gemini-3-flash-preview:generateContent" \
  -H "x-goog-api-key: $MODELVERSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          {
            "file_data": {
              "mime_type": "audio/mpeg",
              "file_uri": "'"$AUDIO_URL"'"
            }
          },
          {
            "text": "请转写这段音频,并总结其核心观点。"
          }
        ]
      }
    ]
  }'

6. SDK Python

以下示例使用 Python 完成:

  1. 上传媒体文件到 /v1/files
  2. 使用返回的 s3_url 调用 /v1beta/models/{model}:generateContent
from google import genai
from google.genai.types import   HttpOptions,Part
 
client = genai.Client(
    http_options=HttpOptions(
        api_version="v1beta",
        base_url="https://api.modelverse.cn",
    ),
    api_key='<$MODELVERSE_API_KEY>', 
)
 
prompt = "Describe the key events in this video, providing both audio and visual details. Include timestamps for salient moments."
response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=[
        Part.from_uri(
            file_uri="https://storage.googleapis.com/gemini-batch-001/1774000031757082682_gemini-3-flash-preview.jsonl?Expires=1774604833&GoogleAccessId=bucket%40stacyzhang0708-1218-01.iam.gserviceaccount.com&Signature=c4QsHdf89aWeTNX0JzVqT%2BL4VtM2%2Bx7PEpjjNSVU%2FBNjrvJB2kKbpbIWmKvexQvOA4BO9no0KbZxazCvAQbNttK4Ecng7Za4K4FslNLBJ7fucapF7xdE0b%2BSO690ph%2BXWX5erZJixmzV%2BhiGZay0mBdYAxOfVwZb%2Bc5RA%2FQzPqBsdbdKb1%2FzzD4AcwCHu0w0So54JMQt3qcDQVi56NZaOZA4aC9SLZGcVdYakMF75XKn9Z99e2rXgFtEo2P7%2BuRBY8hD%2Bv%2B6dHC9k6fa9nABZEw38wi3Ozfsf7eQ0PmTmrQ2ue6n97zMjbg6rSn2RmKFWc4iWBl48ikkyFmA1GhKsA%3D%3D",
            mime_type="text/plain",
        ),
        "What is in the text?",
    ],
)
 
print(response.text)


7. 常见错误与排查

  • 400 INVALID_ARGUMENTmime_type 与实际文件不匹配,或请求体字段拼写错误
  • 400 FAILED_PRECONDITION:媒体地址不可访问,或文件尚未可读
  • 401 UNAUTHENTICATED:API Key 无效、缺失或格式错误
  • 403 PERMISSION_DENIED:当前 Key 无权限调用对应模型
  • 429 RESOURCE_EXHAUSTED:请求过快触发限流,请重试并加退避

建议优先检查:

  1. 是否使用了脱敏 Key 占位符并在运行时注入真实环境变量
  2. file_data.file_uri 是否可被服务端访问
  3. mime_type 是否与媒体格式一致
  4. model 是否为可用的 Gemini 模型 ID
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1-20183354
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 网络版权侵权举报电话:0371-60135995
  • 警情提示:注意防范电信网络诈骗
  • 专注服务器托管25年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2026 ENKJ All Rights Reserved 地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师  B1-20183354   京公网安备41019702002023号 
     

    亿恩公告

     
     
     
     

    0371-60135900
    7*24小时客服服务热线