2024-04-15 18:07:25 +08:00
|
|
|
import logging
|
|
|
|
|
from fastapi import APIRouter, BackgroundTasks
|
2024-05-30 15:01:39 +08:00
|
|
|
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
|
2024-04-15 18:07:25 +08:00
|
|
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
logger = logging.getLogger()
|
|
|
|
|
|
2024-05-30 15:01:39 +08:00
|
|
|
'''generate image'''
|
|
|
|
|
|
2024-04-15 18:07:25 +08:00
|
|
|
|
|
|
|
|
@router.post("/generate_image")
|
|
|
|
|
def generate_image(request_item: GenerateImageModel, background_tasks: BackgroundTasks):
|
|
|
|
|
try:
|
2024-04-23 15:33:44 +08:00
|
|
|
logger.info(f"request data ### : {request_item}")
|
2024-04-15 18:07:25 +08:00
|
|
|
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):
|
2024-05-30 15:01:39 +08:00
|
|
|
result = generate_image_infer_cancel(tasks_id)
|
|
|
|
|
return {"code": 200, "message": result['message'], "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 = "access"
|
|
|
|
|
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": result['message'], "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 = "access"
|
|
|
|
|
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)
|
2024-04-15 18:07:25 +08:00
|
|
|
return {"code": 200, "message": result['message'], "data": result['data']}
|