Gemini API 视频分析接口文档
接口地址
POST https://www.dmxapi.cn/v1beta/models/{model}:generateContent
请求参数
Path 参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
model | string | 是 | 支持的模型名称,如 gemini-2.5-flash |
Query 参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
key | string | 是 | API 密钥 (替换为 ******) |
请求体
json
{
"contents": [
{
"role": "user",
"parts": [
{
"inlineData": {
"mimeType": "video/mp4",
"data": "base64编码的视频数据"
}
},
{
"text": "视频文件里都显示了哪些内容?"
}
]
}
]
}
Python 示例代码
python
import base64
import json
import requests
# 配置参数
model = "gemini-2.5-flash" # 支持的模型
API_URL = f"https://www.dmxapi.cn/v1beta/models/{model}:generateContent"
API_KEY = "******" # 替换为你的API密钥
VIDEO_PATH = "example.mp4" # 视频文件路径
def encode_video_to_base64(video_path):
"""将视频文件编码为Base64字符串"""
try:
with open(video_path, "rb") as video_file:
return base64.b64encode(video_file.read()).decode("utf-8")
except Exception as e:
print(f"视频编码错误: {e}")
return None
def analyze_video():
"""发送视频分析请求"""
if not API_KEY:
print("错误:请设置API密钥")
return
# 编码视频
video_data = encode_video_to_base64(VIDEO_PATH)
if not video_data:
return
# 构建请求
headers = {"Content-Type": "application/json"}
payload = {
"contents": [{
"role": "user",
"parts": [
{"inlineData": {"mimeType": "video/mp4", "data": video_data}},
{"text": "视频文件里都显示了哪些内容?"}
]
}]
}
# 发送请求
try:
response = requests.post(
API_URL,
headers=headers,
params={"key": API_KEY},
json=payload
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if e.response:
print(f"状态码: {e.response.status_code}")
print(f"响应: {e.response.text}")
if __name__ == "__main__":
analyze_video()
响应示例
成功响应将返回JSON格式的分析结果:
json
{
"candidates": [
{
"content": {
"parts": [
{
"text": "视频中显示了..."
}
]
}
}
]
}