Error code: 400 - {'error': {'message': '<400> ***.***.InvalidParameter: Invalid...
🚨 错误信息
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}")
️ 预防措施
# 可以使用ffmpeg检查视频文件信息
ffmpeg -i your_video.mp4
请确保视频文件符合OpenAI API的具体要求后再进行调用。