|
@@ -2,11 +2,10 @@ import uvicorn
|
|
|
from fastapi import FastAPI
|
|
|
from pydantic import BaseModel
|
|
|
from google_ai.generativeai_video import main
|
|
|
-import itertools
|
|
|
|
|
|
app = FastAPI()
|
|
|
-api_keys = itertools.cycle(["AIzaSyB2kjF2-S2B5cJiosx_LpApd227w33CVvs", "AIzaSyCor0q5w37Dy6fGxloLlCT7KqyEFU3PWP8"])
|
|
|
-
|
|
|
+api_keys = ["AIzaSyB2kjF2-S2B5cJiosx_LpApd227w33CVvs", "AIzaSyCor0q5w37Dy6fGxloLlCT7KqyEFU3PWP8"]
|
|
|
+api_key_index = 0 # 初始化索引
|
|
|
class VideoRequest(BaseModel):
|
|
|
video_path: str
|
|
|
prompt: str
|
|
@@ -14,43 +13,17 @@ class VideoRequest(BaseModel):
|
|
|
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, mark = 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_keys = ["AIzaSyB2kjF2-S2B5cJiosx_LpApd227w33CVvs","AIzaSyCor0q5w37Dy6fGxloLlCT7KqyEFU3PWP8"]
|
|
|
- api_key = next(api_keys)
|
|
|
+ api_key = api_keys[api_key_index]
|
|
|
+ api_key_index = (api_key_index + 1) % len(api_keys)
|
|
|
try:
|
|
|
print("来一个请求,使用 API key:", api_key)
|
|
|
result, mark = await main(video_path, api_key, prompt, mark, sample_data)
|
|
@@ -72,4 +45,4 @@ async def process_video(request: VideoRequest):
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
- uvicorn.run(app, host="0.0.0.0", port=8080)
|
|
|
+ uvicorn.run(app, host="0.0.0.0", port=8081)
|