1
0
1
google-studio 视频检测测python测试代码
2026-10-12
文章摘要
|
import os
import time
from google import genai
from google.genai import types
# 1. 直接在代码中填入你的 API Key 初始化客户端
client = genai.Client(api_key="")
def evaluate_video(video_path: str):
print(f"正在上传视频: {video_path} ...")
# 使用 Files API 上传视频文件
video_file = client.files.upload(file=video_path)
print(f"上传成功,文件名: {video_file.name}")
# 等待文件处理完成(大视频需要短暂转码处理)
while video_file.state.name == "PROCESSING":
print(".", end="", flush=True)
time.sleep(2)
video_file = client.files.get(name=video_file.name)
if video_file.state.name == "FAILED":
raise ValueError(f"视频处理失败: {video_file.error.message}")
print("\n视频处理完成,开始让 Gemini 质检...")
# 设计带有“容忍度”的提示词,专门应对抽卡筛选
prompt = """
你是一个专业的 AI 视频生成质检员。请帮我评估这段 5 秒的短视频。
【评估标准与容忍度说明】:
- 忽略微小的光影闪烁或 0.1 秒内的自然运动模糊。
- 只有出现以下严重硬伤时,才判定为 **Fail (不合格)**:
1. 动作中途突然断层、卡顿或出现毫无逻辑的闪回。
2. 主体人物或物体发生严重的形态崩坏、肢体畸变。
3. 出现黑帧、花屏或画面撕裂。
请先简要描述视频内容与首尾过渡情况,最后必须在最后一行明确输出结论格式:
结果:[Pass] 或 [Fail],并附带一句话原因。
"""
# 调用推荐用于高效处理的 flash 模型
response = client.models.generate_content(
model='gemini-3.5-flash-lite',
contents=[video_file, prompt]
)
# 清理远端文件(可选)
client.files.delete(name=video_file.name)
return response.text
if __name__ == "__main__":
# 替换为你实际生成的视频路径
target_video = "video.mp4"
if os.path.exists(target_video):
result = evaluate_video(target_video)
print("\n--- 质检结果 ---")
print(result)
else:
print(f"找不到视频文件: {target_video}")