28 lines
853 B
Python
28 lines
853 B
Python
|
|
import logging
|
||
|
|
from fastapi import APIRouter, BackgroundTasks
|
||
|
|
from app.schemas.generate_image import GenerateImageModel
|
||
|
|
from app.service.generate_image.service import GenerateImage, infer_cancel
|
||
|
|
|
||
|
|
router = APIRouter()
|
||
|
|
logger = logging.getLogger()
|
||
|
|
|
||
|
|
|
||
|
|
@router.post("/generate_image")
|
||
|
|
def generate_image(request_item: GenerateImageModel, background_tasks: BackgroundTasks):
|
||
|
|
try:
|
||
|
|
service = GenerateImage(request_item)
|
||
|
|
background_tasks.add_task(service.get_result)
|
||
|
|
code = 200
|
||
|
|
message = "access"
|
||
|
|
except Exception as e:
|
||
|
|
code = 400
|
||
|
|
message = e
|
||
|
|
logger.warning(e)
|
||
|
|
return {"code": code, "message": message}
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/generate_cancel/{tasks_id}>")
|
||
|
|
def generate_image(tasks_id):
|
||
|
|
result = infer_cancel(tasks_id)
|
||
|
|
return {"code": 200, "message": result['message'], "data": result['data']}
|