콘텐츠로 이동

OpenAI 이미지 형식 (Image)

공식 문서

OpenAI Images

📝 소개

텍스트 프롬프트 및/또는 입력 이미지를 전달하면 모델이 새 이미지를 생성합니다. OpenAI는 자연어 설명 기반 이미지 생성/편집/수정을 지원하는 다양한 강력한 모델을 제공합니다.

🤖 지원 모델

현재 지원되는 모델:

모델 설명
dall-e-3 이미지 품질, 창의성, 정밀도가 크게 향상된 DALL·E 3 이미지 생성 모델
dall-e-2 DALL·E 2 이미지 생성 모델
gpt-image-1 다중 이미지 편집을 지원하며 여러 입력 이미지를 기반으로 새 합성 이미지를 생성할 수 있는 GPT-Image-1 이미지 생성/편집 모델

💡 요청 예시

이미지 생성 ✅

# 기본 이미지 생성
curl https://ssanai-workspace.atto-lab.cc/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A cute little sea otter",
    "n": 1,
    "size": "1024x1024"
  }'

# 고품질 이미지 생성
curl https://ssanai-workspace.atto-lab.cc/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A cute little sea otter",
    "quality": "hd",
    "style": "vivid",
    "size": "1024x1024"
  }'

# base64 응답 형식 사용
curl https://ssanai-workspace.atto-lab.cc/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "dall-e-3",
    "prompt": "A cute little sea otter",
    "response_format": "b64_json"
  }'

응답 예시:

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A cute little sea otter playing in the water, with round eyes and fluffy fur"
    }
  ]
}

이미지 편집 ✅

# dall-e-2 이미지 편집
curl https://ssanai-workspace.atto-lab.cc/v1/images/edits \
  -H "Authorization: Bearer $API_KEY" \
  -F image="@otter.png" \
  -F mask="@mask.png" \
  -F prompt="A cute little sea otter wearing a beret" \
  -F n=2 \
  -F size="1024x1024"

# gpt-image-1 다중 이미지 편집 예시
curl https://ssanai-workspace.atto-lab.cc/v1/images/edits \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=gpt-image-1" \
  -F "image[]=@body-lotion.png" \
  -F "image[]=@bath-bomb.png" \
  -F "image[]=@incense-kit.png" \
  -F "image[]=@soap.png" \
  -F "prompt=Create an elegant gift basket containing these four items" \
  -F "quality=high"

응답 예시 (dall-e-2):

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

응답 예시 (gpt-image-1):

{
  "created": 1713833628,
  "data": [
    {
      "b64_json": "..."
    }
  ],
  "usage": {
    "total_tokens": 100,
    "input_tokens": 50,
    "output_tokens": 50,
    "input_tokens_details": {
      "text_tokens": 10,
      "image_tokens": 40
    }
  }
}

이미지 변형 생성 ✅

curl https://ssanai-workspace.atto-lab.cc/v1/images/variations \
  -H "Authorization: Bearer $API_KEY" \
  -F image="@otter.png" \
  -F n=2 \
  -F size="1024x1024"

응답 예시:

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

📮 요청

엔드포인트

이미지 생성

POST /v1/images/generations

텍스트 프롬프트를 기반으로 이미지를 생성합니다.

이미지 편집

POST /v1/images/edits

하나 이상의 원본 이미지와 프롬프트를 기반으로 편집/확장 이미지를 생성합니다. 이 엔드포인트는 dall-e-2gpt-image-1 모델을 모두 지원합니다.

변형 이미지 생성

POST /v1/images/variations

주어진 이미지의 변형 이미지를 생성합니다.

인증 방법

요청 헤더에 다음 값을 포함하여 API 키 인증을 수행하세요:

Authorization: Bearer $API_KEY

$API_KEY는 발급받은 API 키입니다.

요청 본문 파라미터

이미지 생성

prompt
  • 유형: 문자열
  • 필수: 예
  • 설명: 생성하려는 이미지에 대한 텍스트 설명입니다.
  • dall-e-2 최대 길이는 1000자입니다
  • dall-e-3 최대 길이는 4000자입니다
  • 팁:
  • 구체적이고 자세한 설명을 사용하세요
  • 핵심 시각 요소를 포함하세요
  • 원하는 예술 스타일을 명시하세요
  • 구도와 원근을 설명하세요
model
  • 유형: 문자열
  • 필수: 아니오
  • 기본값: dall-e-2
  • 설명: 이미지 생성에 사용할 모델입니다.
n
  • 유형: 정수 또는 null
  • 필수: 아니오
  • 기본값: 1
  • 설명: 생성할 이미지 수입니다. 1-10 범위여야 하며, dall-e-3는 n=1만 지원합니다.
quality
  • 유형: 문자열
  • 필수: 아니오
  • 기본값: standard
  • 설명: 생성 이미지의 품질입니다. hd 옵션은 더 상세하고 일관된 이미지를 생성합니다. 이 파라미터는 dall-e-3에서만 지원됩니다.
response_format
  • 유형: 문자열 또는 null
  • 필수: 아니오
  • 기본값: url
  • 설명: 반환할 생성 이미지 형식입니다. url 또는 b64_json이어야 하며, URL은 생성 후 60분간 유효합니다.
size
  • 유형: 문자열 또는 null
  • 필수: 아니오
  • 기본값: 1024x1024
  • 설명: 생성 이미지 크기입니다. dall-e-2는 256x256/512x512/1024x1024, dall-e-3는 1024x1024/1792x1024/1024x1792를 지원합니다.
style
  • 유형: 문자열 또는 null
  • 필수: 아니오
  • 기본값: vivid
  • 설명: 생성 이미지 스타일입니다. vivid 또는 natural이어야 합니다. vivid는 초현실적/극적 이미지 경향, natural은 보다 자연스러운 이미지 경향이 있습니다. dall-e-3에서만 지원됩니다.
user
  • 유형: 문자열
  • 필수: 아니오
  • 설명: 최종 사용자 고유 식별자입니다. OpenAI의 오남용 모니터링/탐지에 도움이 됩니다.

이미지 편집

image
  • 유형: 파일 또는 파일 배열
  • 필수: 예
  • 설명: 편집할 이미지입니다.
  • dall-e-2: 유효한 PNG 파일이어야 하며 4MB 미만, 정사각형이어야 합니다. 마스크를 제공하지 않으면 이미지의 투명 영역이 마스크로 사용됩니다.
  • gpt-image-1: 여러 이미지를 배열로 전달할 수 있으며, 각 이미지는 PNG/WEBP/JPG 파일이고 25MB 미만이어야 합니다.
prompt
  • 유형: 문자열
  • 필수: 예
  • 설명: 생성하려는 이미지에 대한 텍스트 설명입니다.
  • dall-e-2 최대 길이는 1000자입니다
  • gpt-image-1 최대 길이는 32000자입니다
mask
  • 유형: 파일
  • 필수: 아니오
  • 설명: 추가 이미지(마스크)입니다. 완전 투명 영역(예: alpha 0)이 편집 위치를 나타냅니다. 여러 이미지를 제공한 경우 마스크는 첫 번째 이미지에 적용됩니다. 유효한 PNG 파일이어야 하며 4MB 미만, 기준 이미지와 동일 크기여야 합니다.
model
  • 유형: 문자열
  • 필수: 아니오
  • 기본값: dall-e-2
  • 설명: 이미지 생성에 사용할 모델입니다. dall-e-2 및 gpt-image-1을 지원하며, gpt-image-1 전용 파라미터를 사용하지 않으면 dall-e-2가 기본값입니다.
quality
  • 유형: 문자열 또는 null
  • 필수: 아니오
  • 기본값: auto
  • 설명: 생성 이미지 품질입니다.
  • gpt-image-1은 high/medium/low를 지원합니다
  • dall-e-2는 standard만 지원합니다
  • 기본값은 auto입니다
size
  • 유형: 문자열 또는 null
  • 필수: 아니오
  • 기본값: 1024x1024
  • 설명: 생성 이미지 크기입니다.
  • gpt-image-1은 1024x1024, 1536x1024(가로), 1024x1536(세로), auto(기본값) 중 하나여야 합니다
  • dall-e-2는 256x256, 512x512, 1024x1024 중 하나여야 합니다

기타 파라미터는 이미지 생성 인터페이스와 동일합니다.

변형 이미지 생성

image
  • 유형: 파일
  • 필수: 예
  • 설명: 변형 생성의 기준 이미지입니다. 유효한 PNG 파일이어야 하며 4MB 미만, 정사각형이어야 합니다.

기타 파라미터는 이미지 생성 인터페이스와 동일합니다.

📥 응답

성공 응답

세 엔드포인트 모두 이미지 객체 목록을 포함한 응답을 반환합니다.

created

  • 유형: 정수
  • 설명: 응답 생성 타임스탬프

data

  • 유형: 배열
  • 설명: 생성된 이미지 객체 목록

usage (gpt-image-1 전용)

  • 유형: 객체
  • 설명: API 호출 토큰 사용량
  • total_tokens: 총 사용 토큰 수
  • input_tokens: 입력에 사용된 토큰 수
  • output_tokens: 출력에 사용된 토큰 수
  • input_tokens_details: 입력 토큰 상세 정보(텍스트 토큰, 이미지 토큰)

이미지 객체

b64_json

  • 유형: 문자열
  • 설명: response_formatb64_json이면 생성 이미지의 base64 인코딩 JSON을 포함합니다.

url

  • 유형: 문자열
  • 설명: response_formaturl(기본값)이면 생성 이미지 URL을 포함합니다.

revised_prompt

  • 유형: 문자열
  • 설명: 프롬프트가 수정된 경우 이미지 생성에 사용된 수정 프롬프트를 포함합니다

이미지 객체 예시:

{
  "url": "https://...",
  "revised_prompt": "A cute little sea otter playing in the water, with round eyes and fluffy fur"
}

🌟 모범 사례

프롬프트 작성 팁

  1. 명확하고 구체적인 설명을 사용하세요
  2. 중요한 시각적 디테일을 명시하세요
  3. 원하는 예술 스타일과 분위기를 설명하세요
  4. 구도와 시점 관련 지시를 신경 써서 작성하세요

파라미터 선택 팁

  1. 모델 선택

    • dall-e-3: 높은 품질과 정밀한 디테일이 필요한 장면에 적합
    • dall-e-2: 빠른 프로토타입 또는 단순 이미지 생성에 적합
  2. 크기 선택

    • 1024x1024: 일반적인 장면에 가장 무난한 선택
    • 1792x1024/1024x1792: 가로/세로 장면에 적합
    • 더 작은 크기: 썸네일/빠른 미리보기에 적합
  3. 품질 및 스타일

    • quality=hd: 세밀한 디테일이 필요한 이미지용
    • style=vivid: 창의적/예술적 효과에 적합
    • style=natural: 사실적인 장면 재현에 적합

자주 묻는 질문

  1. 이미지 생성 실패

    • 프롬프트가 콘텐츠 정책을 준수하는지 확인
    • 파일 형식 및 크기 제한 확인
    • API 키 권한 확인
  2. 결과가 기대와 다름

    • 프롬프트 설명 최적화
    • quality/style 파라미터 조정
    • 이미지 편집/변형 기능 활용 고려