analyze_video.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. video_path: str
  8. prompt: str
  9. mark: str
  10. sample_data: str
  11. @app.post("/testprocess_test_video/")
  12. async def process_video_test(request: VideoRequest):
  13. """处理视频请求"""
  14. video_path = request.video_path
  15. prompt = request.prompt
  16. mark = request.mark
  17. sample_data = request.sample_data
  18. api_key = "AIzaSyAUvBSpjFcm7b8FsgRUTG6anzoalDp9gYg"
  19. try:
  20. print("来一个请求,使用 API key:", api_key)
  21. result, mark = await main(video_path, api_key, prompt, mark, sample_data)
  22. return {
  23. "code": 0,
  24. "message": "视频处理成功",
  25. "result": result,
  26. "mark": mark
  27. }
  28. except Exception as e:
  29. print(f"视频处理失败: {str(e)}")
  30. return {
  31. "code": 1,
  32. "message": f"视频处理失败: {e}",
  33. "result": f"视频处理失败: {e}",
  34. "mark": f"视频处理失败: {e}"
  35. }
  36. @app.post("/process_video/")
  37. async def process_video(request: VideoRequest):
  38. """处理视频请求"""
  39. video_path = request.video_path
  40. prompt = request.prompt
  41. mark = request.mark
  42. api_key = "AIzaSyCor0q5w37Dy6fGxloLlCT7KqyEFU3PWP8"
  43. try:
  44. print("来一个请求,使用 API key:", api_key)
  45. result, mark = await main(video_path, api_key, prompt, mark)
  46. return {
  47. "code": 0,
  48. "message": "视频处理成功",
  49. "result": result,
  50. "mark": mark
  51. }
  52. except Exception as e:
  53. print(f"视频处理失败: {str(e)}")
  54. return {
  55. "code": 1,
  56. "message": f"视频处理失败: {e}",
  57. "result": f"视频处理失败: {e}",
  58. "mark": f"视频处理失败: {e}"
  59. }
  60. if __name__ == "__main__":
  61. uvicorn.run(app, host="0.0.0.0", port=8080)