ChatGPT와 생성형 AI를 활용한 콘텐츠 제작 가이드: API 이용 이미지 생성하기

오늘날의 디지털 환경에서 AI 기술의 발전은 콘텐츠 제작의 새로운 지평을 열었습니다. 특히 ChatGPT와 같은 생성형 AI는 창의적인 작업에 큰 도움을 주고 있습니다. 이번 포스팅에서는 OpenAI의 API를 활용해 이미지를 생성하는 방법을 살펴보고, 최신의 DALL-E 모델을 통해 휴대폰 배경화면을 만드는 과정을 예제로 보여드리겠습니다.


OpenAI API 소개


OpenAI의 API는 텍스트 생성뿐만 아니라 이미지 생성 기능도 제공합니다. 특히 DALL-E 3 모델은 이전 버전보다 더욱 향상된 이미지 생성 능력을 갖추고 있어 다양한 해상도와 품질 옵션을 제공합니다.

코드 예제

다음은 OpenAI API를 사용해 이미지를 생성하는 Python 코드입니다. 이 코드는 다양한 모델과 해상도를 설정하고, 각각의 프롬프트에 맞는 이미지를 생성합니다.

프롬프트 : 미래의 서울을 정교하게 묘사한 디스토피아적 도시 건축물. 사진처럼 세밀하고, 푸르고 뭉게 구름 많은 하늘, 미래 차량이 포함된 장면. Artgerm과 Greg Rutkowski의 정교하고 우아하며 매우 디테일한 디지털 페인팅 스타일. Simon Stalenhag, Wayne Barlowe, Igor Kieryluk 스타일의 일러스트레이션. 고해상도 건축 사진: 구름 위에 떠 있는 현대 건물을 네온 소재와 빛나는 미래 재질로 예술적으로 구성한 이미지. 고요한 하늘 배경과 대조를 이루며, Canon RF 28-70mm f/2L USM 렌즈로 촬영한 것처럼 품질이 뛰어남. 모든 질감이 뛰어난 명료도로 표현된 초현실적이고 시각적으로 뛰어난 이미지.

import openai

openai.api_key = "YOUR_API_KEY"

PROMPT = "프롬프트 입력"
MODEL = "dall-e-3"
QUANTITY = 1
QUALITY = "hd"
RESOLUTION = ["1024x1024", "1024x1792", "1792x1024"]
#vivid : 하이퍼리얼하고 극적인 이미지를 생성
#natural : 자연스럽고 하이퍼리얼하지 않은 이미지를 생성
STYLES = ["vivid", "natural"]

def generate_image_with_prompt(prompt: str, model: str, quantity: int, quality: str, resolution: str, style: str):
    response = openai.images.generate(
        prompt=prompt,
        model=model,
        n=quantity,
        quality=quality,
        size=resolution,
        style=style
    )
    urls = []
    for data in response.data:
        urls.append(data.url)
    return urls

print()
print("Generating images...")
print()
"""
이미지 생성 크기를 선택하려면 RESOLUTION 조정
 0 : 1024x1024
 1 : 1024x1792
 2 : 1792x1024
이미지 스타일을 선택하려면 STYLES 조정
 0 : vivid
 1 : natural
"""
for url in generate_image_with_prompt(PROMPT, MODEL, QUANTITY, QUALITY, RESOLUTION[0], STYLES[0]):
    print(f"url: {url}")
print()

위 코드는 OpenAI API 클라이언트를 초기화하고 사용할 모델, 해상도, 품질 및 프롬프트를 설정합니다. generate_image_with_prompt 함수는 지정된 프롬프트에 맞는 이미지를 생성하고, 결과를 URL 형태로 반환합니다.

예제 실행 결과

url: https://oaidalleapiprodscus.blob.core.windows.net/private/org-9kM6Imd7BTDximy9trXtZboa/user-VyESKTfnoiOtN0Cb071gTBpc/img-nm3VaBlMD5YdJhADVVgx3lYu.png?st=2024-07-26T13%3A20%3A16Z&se=2024-07-26T15%3A20%3A16Z&sp=r&sv=2023-11-03&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2024-07-25T23%3A32%3A00Z&ske=2024-07-26T23%3A32%3A00Z&sks=b&skv=2023-11-03&sig=mAw6mGpe8NAwiazd%2BItaT3gDIqbFUxXWMkr8PP59CTw%3D

위 이미지를 웹 브라우저에서 열어보면 이미지를 확인 할 수 있습니다.

만약 Python에서 웹 호출 및 저장(GET) 기능을 구현하면 웹 브라우저를 통하지 않고 바로 이미지 저장도 가능합니다.

이번 포스팅에서는 OpenAI의 최신 API를 사용해 이미지를 생성하는 방법을 살펴보았습니다. DALL-E 3 모델의 다양한 옵션을 통해 원하는 이미지 품질과 해상도를 설정할 수 있으며, 이를 통해 창의적이고 고품질의 콘텐츠를 제작할 수 있습니다. 다음 포스팅에서는 더 다양한 프롬프트와 설정을 사용해 더욱 풍부한 이미지를 생성하는 방법을 다루겠습니다.

#ChatGPT #GenAI #생성형 AI #이미지 생성 #OpenAI API

다른 강의 자료