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}")

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

评论