12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import uvicorn
- from fastapi import FastAPI
- from pydantic import BaseModel
- from loguru import logger
- from google_ai.generativeai_video import main
- app = FastAPI()
- class VideoRequest(BaseModel):
- api_key: str
- video_path: str
- prompt: str
- mark: str
- sample_data: str
- @app.post("/process_video/")
- async def process_video(request: VideoRequest):
- """处理视频请求"""
- api_key = request.api_key
- video_path = request.video_path
- prompt = request.prompt
- mark = request.mark
- sample_data = request.sample_data
- try:
- logger.info(f"来一个请求,使用 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:
- logger.error(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)
|