Error code: 400 - {'error': {'message': '<400> ***.***.InvalidParameter: Invalid...

2025年11月15日 15:50 状态: processing

🚨 错误信息

openai.BadRequestError: Error code: 400 - {'error': {'message': '<400> ***.***.InvalidParameter: Invalid video file.', 'type': 'rix_api_error', 'param': '', 'code': 'invalid_parameter_error'}}

🤖 AI解决方案

错误翻译

原文:Invalid video file.
译文:无效的视频文件。

原因分析

这是一个OpenAI API的400错误,表示提交的视频文件不符合API要求。可能的原因包括:
  • 视频格式不支持
  • 视频文件损坏或无法解析
  • 视频文件大小超出限制
  • 视频编码格式不兼容
  • 解决方案

    # 检查视频文件的有效性
    import os
    from pathlib import Path
    
    def validate_video_file(file_path):
        # 检查文件是否存在
        if not os.path.exists(file_path):
            raise ValueError("视频文件不存在")
        
        # 检查文件大小(示例:限制为100MB)
        file_size = os.path.getsize(file_path) / (1024 * 1024)
        if file_size > 100:
            raise ValueError(f"视频文件过大: {file_size:.2f}MB (最大100MB)")
        
        # 检查文件扩展名
        valid_extensions = ['.mp4', '.mov', '.avi', '.mkv']
        file_ext = Path(file_path).suffix.lower()
        if file_ext not in valid_extensions:
            raise ValueError(f"不支持的视频格式: {file_ext}")
        
        # 检查文件是否可读
        try:
            with open(file_path, 'rb') as f:
                header = f.read(100)  # 读取文件头检查
        except Exception as e:
            raise ValueError(f"无法读取视频文件: {e}")
        
        return True
    
    # 使用前先验证文件
    try:
        video_path = "your_video.mp4"
        if validate_video_file(video_path):
            # 文件验证通过后再调用API
            # response = openai.Video.create(...)
            print("视频文件验证通过")
    except ValueError as e:
        print(f"文件验证失败: {e}")

    ️ 预防措施

  • 文件预处理:在使用API前,先用本地工具验证视频文件的完整性和兼容性
  • 格式检查:确保使用OpenAI支持的标准视频格式,推荐使用MP4格式
  • 大小限制:检查API文档了解具体的文件大小限制,提前压缩过大的视频文件
# 可以使用ffmpeg检查视频文件信息
ffmpeg -i your_video.mp4

请确保视频文件符合OpenAI API的具体要求后再进行调用。