openai

openai image generation를 사용해서 이미지를 만들어봅시다

jinmc 2023. 6. 13. 13:52
반응형

정말 좋은 세상인 것 같습니다.

이제는 이미지를 만들어주는 api도 뚫리고, 해보니깐 꽤나 잘되네요.

물론 api_key가 있어야 하겠지만, 간단한 스크립트로 몇백개나 몇천개의 이미지를 손쉽게 만들수 있습니다.

 

다만, images 라는 폴더를 만들어줘야 합니다.

size의 경우에는 256x256, 512x512, 1024x1024 세 가지가 있다고 하고,

response_format은 url, b64_json 두 가자의 포맷이 있다고 합니다.

num은 1에서 10까지 정할 수 있고, 첫번째 for loop에 얼마나 많은 값의 숫자를 넣느냐에 따라 

받는 이미지의 양을 정할 수 있습니다.

현재 10으로 되어있기 때문에, 100장이 나오고, 

100으로 하면, 1000장이 나옵니다.

해봤을 때, 250장 정도까지는 잘 나오고, 그 속도로 봤을 때, 1000장 정도도 잘 나올 것 같은데,

더 많은 양은 모르겠습니다.

 

import openai
import io, base64
from PIL import Image


OPENAI_API_KEY="you_api_key"
openai.api_key = OPENAI_API_KEY

this_prompt = "cute dog running" # whatever you want your image to be

num = 10
response = openai.Image.create(
  prompt=this_prompt,
  n=num,
  size="512x512",
  response_format="b64_json"
)
# image_url = response['data'][0]['url']
count = 1

for _ in range(10):
    for i in range(num):
        img = Image.open(io.BytesIO(base64.decodebytes(bytes(response['data'][i]['b64_json'], 'utf-8'))))
        img.save(f"images/image_{count}.jpg")
        count += 1

 

reference : https://platform.openai.com/docs/guides/images/image-generation-beta

반응형