import uvicorn from fastapi import FastAPI from pydantic import BaseModel from google_ai.generativeai_video import main app = FastAPI() api_keys = ["AIzaSyB2kjF2-S2B5cJiosx_LpApd227w33CVvs", "AIzaSyCor0q5w37Dy6fGxloLlCT7KqyEFU3PWP8"] api_key_index = 0 # 初始化索引 class VideoRequest(BaseModel): video_path: str prompt: str mark: str sample_data: str # # @app.post("/process_video_test/") # async def process_video_test(request: VideoRequest): # """处理视频请求""" # video_path = request.video_path # prompt = request.prompt # mark = request.mark # sample_data = request.sample_data # # api_key = "AIzaSyB2kjF2-S2B5cJiosx_LpApd227w33CVvs" # try: # print("来一个请求,使用 API key:", api_key) # result = await main(video_path, api_key, prompt, mark, sample_data) # return { # "code": 0, # "message": "视频处理成功", # "result": result, # "mark": mark # } # except Exception as e: # print(f"视频处理失败: {str(e)}") # return { # "code": 1, # "message": f"处理失败: {e}", # "result": f"处理失败: {e}", # "mark": f"处理失败: {e}" # } @app.post("/process_video/") async def process_video(request: VideoRequest): """处理视频请求""" global api_key_index # 引用全局索引 video_path = request.video_path prompt = request.prompt mark = request.mark sample_data = request.sample_data api_key = api_keys[api_key_index] api_key_index = (api_key_index + 1) % len(api_keys) try: print("来一个请求,使用 API key:", api_key) result = await main(video_path, api_key, prompt, sample_data) return { "code": 0, "message": "视频处理成功", "result": result, "mark": str(mark) } except Exception as e: print(f"处理失败: {str(e)}") return { "code": 1, "message": f"处理失败: {e}", "result": f"处理失败: {e}", "mark": f"处理失败: {e}" } if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8080)