修复jmidjourney流式数据没有实时推送的问题
This commit is contained in:
parent
5b17573c46
commit
e5244cba75
@ -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"
|
||||
}
|
||||
)
|
||||
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user