edit : 실제 이미지 생성한 갯수 response 에 추가
This commit is contained in:
@@ -571,4 +571,31 @@ class ImageGenerateReq(BaseModel):
|
||||
### [Request] image generate request
|
||||
"""
|
||||
prompt : str = Field(description='프롬프트', example='검은색 안경')
|
||||
downloadCount : int = Field(1, description='이미지 생성 갯수', example=1)
|
||||
downloadCount : int = Field(1, description='이미지 생성 갯수', example=1)
|
||||
|
||||
|
||||
#===============================================================================
|
||||
#===============================================================================
|
||||
#===============================================================================
|
||||
#===============================================================================
|
||||
|
||||
class ImageGenerateRes(ResponseBase):
|
||||
"""
|
||||
### image generate response
|
||||
"""
|
||||
imageLen : int = Field(0, description='실제 이미지 생성 갯수', example=1)
|
||||
|
||||
@staticmethod
|
||||
def set_error(error,img_len=0):
|
||||
ImageGenerateRes.result = False
|
||||
ImageGenerateRes.error = str(error)
|
||||
ImageGenerateRes.imageLen = img_len
|
||||
|
||||
return ImageGenerateRes
|
||||
|
||||
@staticmethod
|
||||
def set_message(img_len):
|
||||
ImageGenerateRes.result = True
|
||||
ImageGenerateRes.error = None
|
||||
ImageGenerateRes.imageLen = img_len
|
||||
return ImageGenerateRes
|
||||
@@ -27,7 +27,7 @@ from rest.app.utils.parsing_utils import download_range
|
||||
router = APIRouter(prefix="/services")
|
||||
|
||||
|
||||
@router.post("/imageGenerate/dalle3", summary="이미지 생성(AI) - DALL-E 3", response_model=M.ResponseBase)
|
||||
@router.post("/imageGenerate/dalle3", summary="이미지 생성(AI) - DALL-E 3", response_model=M.ImageGenerateRes)
|
||||
async def dalle3(request: Request, request_body_info: M.ImageGenerateReq):
|
||||
"""
|
||||
## 이미지 생성(AI) - DALL-E 3
|
||||
@@ -37,8 +37,11 @@ async def dalle3(request: Request, request_body_info: M.ImageGenerateReq):
|
||||
> - 쿠키 정보 설정(https://github.com/acheong08/BingImageCreator) 추후 set api 추가 예정 -> 현재 고정값
|
||||
> - const.py 에 지정한 OUTPUT_FOLDER 하위에 dalle 폴더가 있어야함.
|
||||
|
||||
## 정보
|
||||
> 오류 발생시 오류 발생한 파일은 에러 메세지에만 남기고 저장은 안함
|
||||
|
||||
"""
|
||||
response = M.ResponseBase()
|
||||
response = M.ImageGenerateRes()
|
||||
try:
|
||||
if not download_range(request_body_info.downloadCount):
|
||||
raise Exception(f"downloadCount is 1~4 (current value = {request_body_info.downloadCount})")
|
||||
@@ -49,16 +52,21 @@ async def dalle3(request: Request, request_body_info: M.ImageGenerateReq):
|
||||
download_count=request_body_info.downloadCount
|
||||
)
|
||||
|
||||
dalle3_generate_image(args)
|
||||
info = dalle3_generate_image(args)
|
||||
|
||||
return response.set_message()
|
||||
|
||||
if info.get_error_messages():
|
||||
error_message = f"파일생성 error: {info.get_error_messages()}"
|
||||
LOG.error(error_message)
|
||||
return response.set_error(error=error_message, img_len=info.get_counter())
|
||||
|
||||
return response.set_message(img_len=info.get_counter())
|
||||
|
||||
except Exception as e:
|
||||
LOG.error(traceback.format_exc())
|
||||
return response.set_error(e)
|
||||
|
||||
|
||||
@router.post("/imageGenerate/imagen", summary="이미지 생성(AI) - imagen", response_model=M.ResponseBase)
|
||||
@router.post("/imageGenerate/imagen", summary="이미지 생성(AI) - imagen", response_model=M.ImageGenerateRes)
|
||||
async def imagen(request: Request, request_body_info: M.ImageGenerateReq):
|
||||
"""
|
||||
## 이미지 생성(AI) - imagen
|
||||
@@ -69,18 +77,18 @@ async def imagen(request: Request, request_body_info: M.ImageGenerateReq):
|
||||
> - const.py 에 지정한 OUTPUT_FOLDER 하위에 imagen 폴더가 있어야함.
|
||||
|
||||
"""
|
||||
response = M.ResponseBase()
|
||||
response = M.ImageGenerateRes()
|
||||
try:
|
||||
|
||||
if not download_range(request_body_info.downloadCount):
|
||||
raise Exception(f"downloadCount is 1~4 (current value = {request_body_info.downloadCount})")
|
||||
|
||||
imagen_generate_image(prompt=request_body_info.prompt,
|
||||
img_length = imagen_generate_image(prompt=request_body_info.prompt,
|
||||
download_count=request_body_info.downloadCount
|
||||
)
|
||||
|
||||
return response.set_message()
|
||||
return response.set_message(img_len=img_length)
|
||||
|
||||
except Exception as e:
|
||||
LOG.error(traceback.format_exc())
|
||||
return response.set_error(e)
|
||||
return response.set_error(error=e)
|
||||
Reference in New Issue
Block a user