12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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, mark, 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)
|