feat 新增接口描述 docs页面 ,新增S3 图片get upload 操作,整理代码
fix
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
|
||||
from app.core.config import DEBUG
|
||||
@@ -16,6 +17,22 @@ logger = logging.getLogger()
|
||||
# 属性识别
|
||||
@router.post("/attribute_recognition", response_model=ResponseModel)
|
||||
def attribute_recognition(request_item: list[AttributeRecognitionModel]):
|
||||
"""
|
||||
获取sketch的属性,collar sleeve_length 等等
|
||||
创建一个具有以下参数的请求体:
|
||||
- **category**: sketch的类别 ,Dress
|
||||
- **colony**: 服装类别,男装或女装
|
||||
- **sketch_img_url**: 被提取属性的S3或minio url地址
|
||||
|
||||
示例参数:
|
||||
[
|
||||
{
|
||||
"category": "Dress",
|
||||
"colony": "Female",
|
||||
"sketch_img_url": "aida-users/89/sketchboard/female/Dress/ae976103-d7ec-4eed-b5d1-3e5f04d8be26.jpg"
|
||||
}
|
||||
]
|
||||
"""
|
||||
try:
|
||||
logger.info(f"attribute_recognition request item is : @@@@@@:{request_item}")
|
||||
if DEBUG:
|
||||
@@ -33,6 +50,20 @@ def attribute_recognition(request_item: list[AttributeRecognitionModel]):
|
||||
# 类别识别
|
||||
@router.post("/category_recognition")
|
||||
def category_recognition(request_item: list[CategoryRecognitionModel]):
|
||||
"""
|
||||
获取sketch的类别,dress blouse 等等
|
||||
创建一个具有以下参数的请求体:
|
||||
- **colony**: 服装类别,male或Female
|
||||
- **sketch_img_url**: 被提取sketch类别的S3或minio url地址
|
||||
|
||||
示例参数:
|
||||
[
|
||||
{
|
||||
"colony": "Female",
|
||||
"sketch_img_url": "aida-users/89/sketchboard/female/Dress/ae976103-d7ec-4eed-b5d1-3e5f04d8be26.jpg"
|
||||
}
|
||||
]
|
||||
"""
|
||||
try:
|
||||
logger.info(f"category_recognition request item is : @@@@@@:{request_item}")
|
||||
service = CategoryRecognition(request_data=request_item)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import json
|
||||
import logging
|
||||
import time
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
|
||||
from app.schemas.chat_robot import ChatRobotModel
|
||||
@@ -13,6 +13,22 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/chat_robot")
|
||||
def chat_robot(request_data: ChatRobotModel):
|
||||
"""
|
||||
对话机器人
|
||||
创建一个具有以下参数的请求体:
|
||||
- **gender**: 服装类别
|
||||
- **message**: 消息
|
||||
- **session_id**: 会话id
|
||||
- **user_id**: 用户id
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"gender": "male",
|
||||
"message": "你好",
|
||||
"session_id": "string-89",
|
||||
"user_id": 89
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"chat_robot request item is : @@@@@@:{request_data}")
|
||||
data = chat(post_data=request_data)
|
||||
|
||||
@@ -15,6 +15,106 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/design")
|
||||
def design(request_data: DesignModel):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
示例参数:
|
||||
{
|
||||
"objects": [
|
||||
{
|
||||
"basic": {
|
||||
"body_point_test": {
|
||||
"waistband_right": [
|
||||
336,
|
||||
264
|
||||
],
|
||||
"hand_point_right": [
|
||||
350,
|
||||
303
|
||||
],
|
||||
"waistband_left": [
|
||||
245,
|
||||
274
|
||||
],
|
||||
"hand_point_left": [
|
||||
219,
|
||||
315
|
||||
],
|
||||
"shoulder_left": [
|
||||
227,
|
||||
155
|
||||
],
|
||||
"shoulder_right": [
|
||||
338,
|
||||
149
|
||||
]
|
||||
},
|
||||
"layer_order": false,
|
||||
"scale_bag": 0.7,
|
||||
"scale_earrings": 0.16,
|
||||
"self_template": true,
|
||||
"single_overall": "overall",
|
||||
"switch_category": ""
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"color": "229 214 200",
|
||||
"icon": "none",
|
||||
"image_id": 110205,
|
||||
"offset": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"path": "aida-sys-image/images/female/trousers/0916000217.jpg",
|
||||
"print": {
|
||||
"IfSingle": false,
|
||||
"print_path_list": []
|
||||
},
|
||||
"resize_scale": [
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"type": "Trousers"
|
||||
},
|
||||
{
|
||||
"businessId": 493825,
|
||||
"color": "209 125 29",
|
||||
"elementId": 493825,
|
||||
"icon": "none",
|
||||
"image_id": 107101,
|
||||
"offset": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"path": "aida-users/31/sketchboard/female/Blouse/de8f5656-d7ae-4642-bc90-f7f9d85da09b.jpg",
|
||||
"print": {
|
||||
"IfSingle": false,
|
||||
"print_path_list": []
|
||||
},
|
||||
"resize_scale": [
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"type": "Blouse"
|
||||
},
|
||||
{
|
||||
"body_path": "aida-users/31/models/female/845046c7-4f62-4f54-a4a9-c26d49c6969335b5b3a9-d335-4871-a46c-3cc3caf07da259629dfd1f1f555a2e2a9def7e719366.png",
|
||||
"image_id": 82966,
|
||||
"offset": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"resize_scale": [
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"type": "Body"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"process_id": "6878547032381675"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"design request item is : @@@@@@:{request_data.dict()}")
|
||||
data = generate(request_data=request_data)
|
||||
@@ -27,6 +127,16 @@ def design(request_data: DesignModel):
|
||||
|
||||
@router.post('/get_progress')
|
||||
def get_progress(request_data: DesignProgressModel):
|
||||
"""
|
||||
获取design 进度
|
||||
创建一个具有以下参数的请求体:
|
||||
- **process_id**: 进度id
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"process_id": "6878547032381675"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"get_progress request item is : @@@@@@:{request_data.dict()}")
|
||||
process_id = request_data.process_id
|
||||
@@ -43,6 +153,16 @@ def get_progress(request_data: DesignProgressModel):
|
||||
|
||||
@router.post('/model_process')
|
||||
def model_process(request_data: ModelProgressModel):
|
||||
"""
|
||||
获取模特图片预处理
|
||||
创建一个具有以下参数的请求体:
|
||||
- **model_path**: 模特图片的minio或s3 url地址
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"model_path": "aida-users/10/models/female/9c788f5b-b8c7-424c-b149-025aeb0bda51model.jpg"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"model_process request item is : @@@@@@:{request_data.dict()}")
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
|
||||
from app.schemas.pre_processing import DesignPreProcessingModel
|
||||
from app.schemas.response_template import ResponseModel
|
||||
from app.service.design_pre_processing.service import DesignPreprocessing
|
||||
@@ -11,6 +13,22 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/design_pre_processing")
|
||||
def design_pre_processing(request_data: DesignPreProcessingModel):
|
||||
"""
|
||||
design 预处理 获取sketch的基本信息
|
||||
创建一个具有以下参数的请求体:
|
||||
- **sketches**: sketch url等信息
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"sketches": [
|
||||
{
|
||||
"image_category": "dress",
|
||||
"image_id": "107903",
|
||||
"image_url": "aida-sys-image/images/female/dress/0628000000.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"design_pre_processing request item is : @@@@@@:{request_data}")
|
||||
server = DesignPreprocessing()
|
||||
|
||||
@@ -18,6 +18,25 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/generate_image")
|
||||
def generate_image(request_item: GenerateImageModel, background_tasks: BackgroundTasks):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
- **tasks_id**: 任务id 用于取消生成任务和获取生成结果
|
||||
- **prompt**: 想要生成图片的描述词
|
||||
- **image_url**: 图生图的输入,minio或S3 url 地址
|
||||
- **mode**: 生成模式,img2img或者txt2img
|
||||
- **category**: 生成图片的类别,sketch print 等等
|
||||
- **gender**: 生成sketch专用,服装类别
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"tasks_id": "123-89",
|
||||
"prompt": "skeleton sitting by the side of a river looking soulful, concert poster, 4k, artistic",
|
||||
"image_url": "aida-collection-element/87/Printboard/842c09cf-7297-42d9-9e6e-9c17d4a13cb5.jpg",
|
||||
"mode": "img2img",
|
||||
"category": "sketch",
|
||||
"gender": "male"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"generate_image request item is : @@@@@@:{request_item}")
|
||||
service = GenerateImage(request_item)
|
||||
@@ -45,6 +64,19 @@ def generate_image(tasks_id: str):
|
||||
|
||||
@router.post("/generate_single_logo")
|
||||
def generate_single_logo(request_item: GenerateSingleLogoImageModel, background_tasks: BackgroundTasks):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
- **tasks_id**: 任务id 用于取消生成任务和获取生成结果
|
||||
- **prompt**: 想要生成图片的描述词
|
||||
- **seed**: 固定的prompt和固定的seed 每次的生成结果都是一样的
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"tasks_id": "123-89",
|
||||
"prompt": "an apple",
|
||||
"seed": "2"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"generate_single_logo request item is : @@@@@@:{request_item}")
|
||||
service = GenerateSingleLogoImage(request_item)
|
||||
@@ -72,6 +104,19 @@ def generate_single_logo_image(tasks_id: str):
|
||||
|
||||
@router.post("/generate_product_image")
|
||||
def generate_product_image(request_item: GenerateProductImageModel, background_tasks: BackgroundTasks):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
- **tasks_id**: 任务id 用于取消生成任务和获取生成结果
|
||||
- **prompt**: 想要生成图片的描述词
|
||||
- **image_url**: 被生成图片的S3或minio url地址
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"tasks_id": "123-89",
|
||||
"prompt": "the best quality, masterpiece. detailed, high-res, simple background, studio photography, extremely detailed, updo, detailed face, face, close-up, HDR, UHD, 8K realistic, Highly detailed, simple background, Studio lighting",
|
||||
"image_url": "aida-results/result_00097282-ebb2-11ee-a822-b48351119060.png"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"generate_product_image request item is : @@@@@@:{request_item}")
|
||||
service = GenerateProductImage(request_item)
|
||||
@@ -99,6 +144,19 @@ def generate_product_image(tasks_id: str):
|
||||
|
||||
@router.post("/generate_relight_image")
|
||||
def generate_relight_image(request_item: GenerateProductImageModel, background_tasks: BackgroundTasks):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
- **tasks_id**: 任务id 用于取消生成任务和获取生成结果
|
||||
- **prompt**: 想要生成图片的描述词
|
||||
- **image_url**: 被生成图片的S3或minio url地址
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"tasks_id": "123-89",
|
||||
"prompt": "beautiful woman, detailed face, sunshine, outdoor, warm atmosphere",
|
||||
"image_url": "aida-sys-image/images/female/blouse/0628000098.jpg"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"generate_relight_image request item is : @@@@@@:{request_item}")
|
||||
service = GenerateRelightImage(request_item)
|
||||
|
||||
@@ -14,6 +14,16 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/translateToEN")
|
||||
def prompt_generation(request_data: PromptGenerationImageModel):
|
||||
"""
|
||||
翻译prompt接口
|
||||
创建一个具有以下参数的请求体:
|
||||
- **text**: 待翻译语句
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"text": "你好"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"prompt_generation request item is : @@@@@@:{request_data}")
|
||||
data = translate_to_en(request_data.text)
|
||||
|
||||
@@ -13,6 +13,19 @@ logger = logging.getLogger()
|
||||
|
||||
@router.post("/super_resolution")
|
||||
def super_resolution(request_item: SuperResolutionModel, background_tasks: BackgroundTasks):
|
||||
"""
|
||||
创建一个具有以下参数的请求体:
|
||||
- **sr_image_url**: 超分图片的minio或s3 url地址
|
||||
- **sr_xn**: 超分的倍数,只接受2或4
|
||||
- **sr_tasks_id**: 任务id 用于取消超分任务和获取超分结果
|
||||
|
||||
示例参数:
|
||||
{
|
||||
"sr_image_url": "aida-sys-image/images/female/blouse/0628000098.jpg",
|
||||
"sr_xn": 2,
|
||||
"sr_tasks_id": "12341556-89"
|
||||
}
|
||||
"""
|
||||
try:
|
||||
logger.info(f"super_resolution request item is : @@@@@@:{request_item}")
|
||||
service = SuperResolution(request_item)
|
||||
|
||||
Reference in New Issue
Block a user