Files
AiDA_Python/app/api/api_generate_image.py
zhouchengrong 49807a3bf3 feat
fix 翻译接口修改template
2024-06-13 13:35:49 +08:00

81 lines
2.7 KiB
Python

import logging
from fastapi import APIRouter, BackgroundTasks
from app.schemas.generate_image import GenerateImageModel, GenerateProductImageModel, GenerateSingleLogoImageModel
from app.service.generate_image.service_generate_image import GenerateImage, infer_cancel as generate_image_infer_cancel
from app.service.generate_image.service_generate_product_image import GenerateProductImage, infer_cancel as generate_product_image_cancel
from app.service.generate_image.service_generate_single_logo import GenerateSingleLogoImage, infer_cancel as generate_single_logo_cancel
router = APIRouter()
logger = logging.getLogger()
'''generate image'''
@router.post("/generate_image")
def generate_image(request_item: GenerateImageModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = GenerateImage(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "OK!"
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 = generate_image_infer_cancel(tasks_id)
return {"code": 200, "message": "OK!", "data": result['data']}
'''single logo'''
@router.post("/generate_single_logo")
def generate_single_logo(request_item: GenerateSingleLogoImageModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = GenerateSingleLogoImage(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "OK!"
except Exception as e:
code = 400
message = e
logger.warning(e)
return {"code": code, "message": message}
@router.get("/generate_single_logo_cancel/{tasks_id}>")
def generate_single_logo_image(tasks_id):
result = generate_single_logo_cancel(tasks_id)
return {"code": 200, "message": "OK!", "data": result['data']}
'''product image'''
@router.post("/generate_product_image")
def generate_product_image(request_item: GenerateProductImageModel, background_tasks: BackgroundTasks):
try:
logger.info(f"request data ### : {request_item}")
service = GenerateProductImage(request_item)
background_tasks.add_task(service.get_result)
code = 200
message = "OK!"
except Exception as e:
code = 400
message = e
logger.warning(e)
return {"code": code, "message": message}
@router.get("/generate_product_image_cancel_cancel/{tasks_id}>")
def generate_single_logo_image(tasks_id):
result = generate_product_image_cancel(tasks_id)
return {"code": 200, "message": "OK!", "data": result['data']}