edit : bing art 추가

This commit is contained in:
2025-03-18 13:05:31 +09:00
parent 6e5f990fc1
commit b04d08bf23
12 changed files with 230 additions and 41 deletions

View File

@@ -19,26 +19,51 @@ from rest.app import models as M
from rest.app.utils.date_utils import D
from custom_logger.custom_log import custom_logger as LOG
from custom_apps.dalle3.custom_dalle import DallEArgument,dalle3_generate_image
from custom_apps.bingimagecreator.utils import DallEArgument,dalle3_generate_image
from custom_apps.bingart.bingart import BingArtGenerator
from custom_apps.imagen.custom_imagen import imagen_generate_image
from rest.app.utils.parsing_utils import download_range
from custom_apps.utils import cookie_manager
router = APIRouter(prefix="/services")
@router.post("/imageGenerate/dalle3", summary="이미지 생성(AI) - DALL-E 3", response_model=M.ImageGenerateRes)
async def dalle3(request: Request, request_body_info: M.ImageGenerateReq):
@router.post("/bing/cookie/set", summary="bing 관련 쿠키 set", response_model=M.BingCookieSetRes)
async def bing_cookie_set(request: Request, request_body_info: M.BingCookieSetReq):
"""
## 이미지 생성(AI) - DALL-E 3
> DALL-E 3 AI를 이용하여 이미지 생성
## Bing cookie set
> 쿠키정보 set
## 정보
> cookie 값이 빈 값일경우 쿠키정보를 set 하지 않고 현재 쿠키값 return 함
> cookie 값이 정상 쿠키 인지는 확인안함
"""
response = M.BingCookieSetRes()
try:
if len(request_body_info.cookie) == 0:
pass
else:
cookie_manager.set_cookie(request_body_info.cookie)
return response.set_message(current_cookie=cookie_manager.get_cookie())
except Exception as e:
LOG.error(traceback.format_exc())
return response.set_error(e,current_cookie=cookie_manager.get_cookie())
@router.post("/imageGenerate/bingimg", summary="이미지 생성(AI) - bing image generator (DALL-E 3)", response_model=M.ImageGenerateRes)
async def bing_img_generate(request: Request, request_body_info: M.ImageGenerateReq):
"""
## 이미지 생성(AI) - bing image generator (DALL-E 3)
> bing image generator를 이용하여 이미지 생성
### Requriements
> - 쿠키 정보 설정(https://github.com/acheong08/BingImageCreator) 추후 set api 추가 예정 -> 현재 고정값
> - const.py 에 지정한 OUTPUT_FOLDER 하위에 dalle 폴더가 있어야함.
## 정보
> 오류 발생시 오류 발생한 파일은 에러 메세지에만 남기고 저장은 안함
> *동작 안함.
"""
response = M.ImageGenerateRes()
@@ -66,6 +91,36 @@ async def dalle3(request: Request, request_body_info: M.ImageGenerateReq):
return response.set_error(e)
@router.post("/imageGenerate/bingart", summary="이미지 생성(AI) - bing art (DALL-E 3)", response_model=M.ImageGenerateRes)
async def bing_art(request: Request, request_body_info: M.ImageGenerateReq):
"""
## 이미지 생성(AI) - bing art (DALL-E 3)
> bing art를 이용하여 이미지 생성
### Requriements
## 정보
> 오류 발생시 오류 발생한 파일은 에러 메세지에만 남기고 저장은 안함
> *동작 안함.
"""
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})")
bing_art = BingArtGenerator()
info = bing_art.get_images(prompt=request_body_info.prompt,image_len=request_body_info.downloadCount)
return response.set_message(img_len=info)
except Exception as e:
LOG.error(traceback.format_exc())
return response.set_error(e)
@router.post("/imageGenerate/imagen", summary="이미지 생성(AI) - imagen", response_model=M.ImageGenerateRes)
async def imagen(request: Request, request_body_info: M.ImageGenerateReq):
"""