Files
AiDA_Python/app/api/api_image2sketch.py
2024-09-20 17:03:48 +08:00

44 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import json
import logging
import time
from fastapi import APIRouter, HTTPException
from app.schemas.image2sketch import Image2SketchModel
from app.schemas.response_template import ResponseModel
from app.service.image2sketch.server import Image2SketchServer
router = APIRouter()
logger = logging.getLogger()
@router.post("/image2sketch")
def image2sketch(request_item: Image2SketchModel):
"""
创建一个具有以下参数的请求体:
- **image_url**: 提取图片url
- **style_image_url**: 被模仿sketch图片url
- **default_style**: 默认风格 粗1、中2、细3
- **sketch_bucket**: sketch保存的bucket
- **sketch_name**: sketch保存的object name
示例参数:
{
"image_url": "test/image2sketch/real_Dress_3200fecdc83d0c556c2bd96aedbd7fbf.jpg_Img.jpg",
"style_image_url": "test/image2sketch/style_3.png",
"default_style": "1",
"sketch_bucket": "test",
"sketch_name": "image2sketch/test.png"
}
"""
try:
start_time = time.time()
logger.info(f"image2sketch request item is : @@@@@@:{json.dumps(request_item.dict())}")
service = Image2SketchServer(request_item)
sketch_url = service.get_result()
logger.info(f"run time is : {time.time() - start_time}")
except Exception as e:
logger.warning(f"image2sketch Run Exception @@@@@@:{e}")
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=sketch_url)