[AI] Kakao developers, Chat GPT 이미지 생성

2023. 10. 24. 00:01AI

AI를 이용한 이미지생성을 하려고 한다. 여러가지 방법을 생각해 보았으나 결국 우리 팀원분이 찾은 kakao developer의 karlor REST API 를 이용하기로 했다. 먼저, kako developer 사이트에 간단히 등록을 하고 (사업자 등록을 하라고 하는데 그냥 개발자로 들어갔더니 사용이 가능했다.) 내 애플리케이션 생성, 앱키에서 REST API 키를 복사했다. 

 

 

그 후에는 vscode에 파이썬 파일을 하나 생성하고, 아래에 있는 예제를 간단히 복사 붙여넣기! 

'${REST_API_KEY}' 대신 위에서 복사한 REST API 키를 붙여넣으면 된다. 

그러고 이제 어떤 이미지를 생성하고 싶은지 명령만 하면 됨....

 

 

translator 설정을 해주면 한국어로 써도 번역해서 영어로 찾아준다. 

translator = Translator(from_lang="ko", to_lang="en")
translation = translator.translate("생쥐와 코끼리가 싸우고 있다, 만화적 표현, 캐릭터")
# 프롬프트에 사용할 제시어
prompt = translation
negative_prompt = "sleeping cat, dog, human, ugly face, cropped"

 

아래는 전체 코드.

# REST API 호출, 이미지 파일 처리에 필요한 라이브러리
import requests
import json
import urllib
from PIL import Image
import ssl
from translate import Translator

ssl._create_default_https_context = ssl._create_unverified_context

# [내 애플리케이션] > [앱 키] 에서 확인한 REST API 키 값 입력
REST_API_KEY = '$'REST_API_KEY''

# 이미지 생성하기 요청
def t2i(prompt, negative_prompt):
    r = requests.post(
        'https://api.kakaobrain.com/v2/inference/karlo/t2i',
        json = {
            'prompt': prompt,
            'negative_prompt': negative_prompt
        },
        headers = {
            'Authorization': f'KakaoAK {REST_API_KEY}',
            'Content-Type': 'application/json'
        }
    )
    # 응답 JSON 형식으로 변환
    response = json.loads(r.content)
    return response

translator = Translator(from_lang="ko", to_lang="en")
translation = translator.translate("생쥐와 코끼리가 싸우고 있다, 만화적 표현, 캐릭터")
# 프롬프트에 사용할 제시어
prompt = translation
negative_prompt = "sleeping cat, dog, human, ugly face, cropped"

# 이미지 생성하기 REST API 호출
response = t2i(prompt, negative_prompt)

# 응답의 첫 번째 이미지 생성 결과 출력하기
result = Image.open(urllib.request.urlopen(response.get("images")[0].get("image")))
result.show()