1. DALL·E 모델 소개

OpenAI의 DALL·E 모델은 텍스트 프롬프트로부터 이미지를 생성할 수 있는 인공 지능 시스템입니다. 이 모델은 간단한 이미지 복제부터 텍스트로 설명된 장면을 창의적으로 재해석하는 능력을 갖추고 있습니다. "DALL·E"라는 이름은 화가 사르바도르 달리(Salvador Dalí)와 애니메이션 캐릭터 WALL·E를 융합한 것으로, 예술성과 자동화의 교차점을 상징합니다.

DALL·E 모델은 딥 러닝을 통해 텍스트 프롬프트를 이해하고 그것을 시각적 표현으로 변환하기 위해 훈련되었습니다. 사진, 그림, 디지털 아트 또는 다른 형태의 이미지든, DALL·E는 설명을 기반으로 일치하는 이미지를 생성할 수 있습니다.

2. DALL·E 이미지 생성 모델의 기본 사용법

OpenAI는 DALL·E 3 및 DALL·E 2 API 인터페이스를 통해 모델을 개발자가 자체 애플리케이션이나 서비스에 통합할 수 있도록 API 인터페이스를 제공합니다. 아래는 DALL·E 3 및 DALL·E 2 API 인터페이스를 사용한 이미지 생성의 기본적인 프로세스와 매개변수 의미입니다:

curl -X POST https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer 당신의_API_키" \
  -H "Content-Type: application/json" \
  -d '{
        "model": "dall-e-2", # 모델 버전, "dall-e-3" 또는 "dall-e-2"일 수 있음.
        "prompt": "텍스트 프롬프트", # 이미지를 생성하는 데 사용되는 텍스트.
        "n": 1, # 생성할 이미지의 수.
        "size": "1024x1024", # 이미지 크기.
        "quality": "standard" # 이미지 품질, "hd"일 수 있음.
      }'
  • model: 사용할 DALL·E 모델의 버전을 지정합니다.
  • prompt: 모델에 대한 텍스트 프롬프트를 제공하여 이미지를 생성합니다.
  • n: 생성할 이미지의 수를 지정합니다. DALL·E 3은 한 번에 1개의 이미지를 생성할 수 있으며, DALL·E 2는 최대 10개의 이미지를 동시에 생성할 수 있습니다.
  • size: 생성된 이미지의 크기입니다. dall-e-2의 경우 256x256, 512x512 또는 1024x1024 중 하나여야 합니다. dall-e-3의 경우 1024x1024, 1792x1024, 1024x1792 중 하나여야 합니다.
  • quality: 생성된 이미지의 품질을 설정합니다. 표준 품질인 경우 standard, 고해상도 품질인 경우 hd를 사용합니다.

3. 이미지 편집 및 변형 생성 (DALL·E 2 전용)

3.1. 이미지 편집 (이미지 수정 또는 확장)

DALL·E 2의 이미지 편집 기능을 사용하면 이미지 및 해당 마스크를 업로드할 수 있습니다. 마스크의 투명한 영역은 편집할 부분을 나타내며, 모델은 이러한 영역을 새로운 텍스트 프롬프트를 기반으로 콘텐츠를 생성합니다. 이 기능을 사용하면 원본 이미지 요소와 다른 새로운 요소를 만들어 수정된 버전을 생성할 수 있습니다.

아래 예시의 API 요청을 사용하여 계속합니다. curl 명령어를 사용합니다.

curl -X POST https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "model=dall-e-2" \
  -F "prompt=새로운 텍스트 설명" \
  -F "image=@/path_to_your_original_image.png" \
  -F "mask=@/path_to_your_mask.png" \
  -F "n=1" \
  -F "size=1024x1024"
  • image: 원본 이미지를 담은 파일입니다.
  • mask: 투명 영역이 모델에 의해 처리될 지역을 나타내는 마스크를 담은 파일입니다.
  • prompt: 새로운 이미지의 전체 콘텐츠를 설명하는 새로운 텍스트 프롬프트입니다. 지워진 영역만이 아니라 전체 내용을 설명해야 합니다.

업로드된 원본 이미지와 마스크는 제곱 모양의 PNG 이미지여야 하며, 크기가 4MB를 넘지 않고 동일한 크기를 가져야 합니다.

예시:

curl https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F image="@sunlit_lounge.png" \
  -F mask="@mask.png" \
  -F model="dall-e-2" \
  -F prompt="태양빛이 비치는 실내 휴식 공간에 수영장, 그리고 플라밍고가 있는 이미지" \
  -F n=1 \
  -F size="1024x1024"

원본 이미지 마스크 이미지 생성된 이미지

3.2. 이미지 변형 생성

기존 이미지에서 여러 버전을 생성하려면 DALL·E 2를 사용하여 이미지의 변형을 생성할 수 있습니다. 이 기능을 사용하면 콘텐츠나 스타일이 다른 버전을 만들어 이미지의 다양한 가능성을 탐색하거나 창의적 진화에 활용할 수 있습니다.

또한, curl 명령어를 사용하여 API 요청을 보내도록 합니다.

curl -X POST https://api.openai.com/v1/images/variations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "image=@/path_to_your_image.png" \
  -F "n=2" \
  -F "size=1024x1024"
  • image: 변형을 생성할 원본 이미지를 담은 파일입니다.
  • n: 생성할 변형의 수를 제어하는 매개변수입니다.

이전과 마찬가지로, 입력 이미지는 4MB보다 작은 제곱형식의 PNG 파일이어야 합니다.