修复jmidjourney流式数据没有实时推送的问题
This commit is contained in:
parent
5b17573c46
commit
e5244cba75
@ -12,27 +12,6 @@ service = MidjourneyService()
|
|||||||
|
|
||||||
@router.post(settings.generate_route)
|
@router.post(settings.generate_route)
|
||||||
@jingrow_api_verify_and_billing(api_name=settings.api_name)
|
@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):
|
async def ve_generate_image(data: dict, request: Request):
|
||||||
"""
|
"""
|
||||||
使用 VectorEngine API 生成图片
|
使用 VectorEngine API 生成图片
|
||||||
@ -61,7 +40,11 @@ async def ve_generate_image(data: dict, request: Request):
|
|||||||
yield json.dumps(result, ensure_ascii=False) + "\n"
|
yield json.dumps(result, ensure_ascii=False) + "\n"
|
||||||
|
|
||||||
return StreamingResponse(
|
return StreamingResponse(
|
||||||
generate(),
|
generate(),
|
||||||
media_type="application/x-ndjson",
|
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路由配置
|
# API路由配置
|
||||||
router_prefix: str = "/jmidjourney"
|
router_prefix: str = "/jmidjourney"
|
||||||
generate_route: str = "/generate" # 保留用于兼容
|
generate_route: str = "/generate" # 保留用于兼容
|
||||||
ve_generate_route: str = "/ve/generate" # VectorEngine 生成图片的路由
|
|
||||||
api_name: str = "jmidjourney" # 默认API名称
|
api_name: str = "jmidjourney" # 默认API名称
|
||||||
|
|
||||||
upload_url: str = "http://images.jingrow.com:8080/api/v1/image"
|
upload_url: str = "http://images.jingrow.com:8080/api/v1/image"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user