analyze_video.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import uvicorn
  2. from fastapi import FastAPI
  3. from pydantic import BaseModel
  4. from google_ai.generativeai_video import main
  5. app = FastAPI()
  6. class VideoRequest(BaseModel):
  7. api_key: str
  8. video_path: str
  9. prompt: str
  10. mark: str
  11. sample_data: str
  12. @app.post("/process_video/")
  13. async def process_video(request: VideoRequest):
  14. """处理视频请求"""
  15. api_key = request.api_key
  16. video_path = request.video_path
  17. prompt = request.prompt
  18. mark = request.mark
  19. sample_data = request.sample_data
  20. try:
  21. print("来一个请求,使用 API key:", api_key)
  22. result = await main(video_path, api_key, prompt, sample_data)
  23. return {
  24. "code": 0,
  25. "message": "视频处理成功",
  26. "result": result,
  27. "mark": str(mark)
  28. }
  29. except Exception as e:
  30. print(f"处理失败: {str(e)}")
  31. return {
  32. "code": 1,
  33. "message": f"处理失败: {e}",
  34. "result": f"处理失败: {e}",
  35. "mark": f"处理失败: {e}"
  36. }
  37. if __name__ == "__main__":
  38. uvicorn.run(app, host="0.0.0.0", port=8080)