diff --git a/apps/jmidjourney/api.py b/apps/jmidjourney/api.py index 3520285..b6e653f 100644 --- a/apps/jmidjourney/api.py +++ b/apps/jmidjourney/api.py @@ -12,27 +12,6 @@ service = MidjourneyService() @router.post(settings.generate_route) @jingrow_api_verify_and_billing(api_name=settings.api_name) -async def generate_image(data: dict, request: Request): - - if "prompt" not in data: - raise HTTPException(status_code=400, detail="缺少prompt参数") - - prompt = data["prompt"] - config = data.get("config", {}) - - async def generate() -> AsyncGenerator[str, None]: - async for result in service.generate_image(prompt, config): - yield json.dumps(result, ensure_ascii=False) + "\n" - - return StreamingResponse( - generate(), - media_type="application/x-ndjson", - headers={"X-Content-Type-Options": "nosniff"} - ) - - -@router.post(settings.ve_generate_route) -@jingrow_api_verify_and_billing(api_name=settings.api_name) async def ve_generate_image(data: dict, request: Request): """ 使用 VectorEngine API 生成图片 @@ -61,7 +40,11 @@ async def ve_generate_image(data: dict, request: Request): yield json.dumps(result, ensure_ascii=False) + "\n" return StreamingResponse( - generate(), + generate(), media_type="application/x-ndjson", - headers={"X-Content-Type-Options": "nosniff"} + headers={ + "Cache-Control": "no-cache", + "X-Accel-Buffering": "no", + "X-Content-Type-Options": "nosniff" + } ) diff --git a/apps/jmidjourney/settings.py b/apps/jmidjourney/settings.py index e979c5f..20eeea7 100644 --- a/apps/jmidjourney/settings.py +++ b/apps/jmidjourney/settings.py @@ -12,7 +12,6 @@ class Settings(BaseSettings): # API路由配置 router_prefix: str = "/jmidjourney" generate_route: str = "/generate" # 保留用于兼容 - ve_generate_route: str = "/ve/generate" # VectorEngine 生成图片的路由 api_name: str = "jmidjourney" # 默认API名称 upload_url: str = "http://images.jingrow.com:8080/api/v1/image"