dall-e-3, 텍스트 렌더링 능력이 더 뛰어난 gpt-image-1, 최신 세대인 gpt-image-2, 그리고 동일한 인터페이스로 접속 가능한 nano-banana / nano-banana-2 / nano-banana-pro 시리즈 모델이 포함됩니다. 이 모델들은 모두 텍스트 설명에 따라 고품질 이미지를 생성할 수 있습니다.
이 문서는 OpenAI Images Generations API 사용 절차를 주로 소개하며, 이를 통해 OpenAI 시리즈의 이미지 생성 기능을 쉽게 활용할 수 있습니다.
신청 절차
OpenAI Images Generations API를 사용하려면 먼저 OpenAI Images Generations API 페이지에서 「Acquire」 버튼을 클릭하여 요청에 필요한 인증 정보를 획득하세요: 로그인 또는 회원가입이 되어 있지 않으면 자동으로 로그인 페이지로 이동하여 회원가입 및 로그인을 안내합니다. 로그인 후에는 자동으로 현재 페이지로 돌아옵니다. 첫 신청 시 무료 할당량이 제공되어 해당 API를 무료로 사용할 수 있습니다.GPT-Image-2 모델
gpt-image-2는 OpenAI가 출시한 차세대 이미지 생성 모델로, dall-e-3 및 gpt-image-1에 비해 다음과 같은 점에서 현저한 향상이 있습니다:
- 명령 준수 능력 강화: 복잡한 구성, 개수, 위치 관계 등 구조화된 명령을 정확히 이해할 수 있습니다.
- 텍스트 렌더링 선명도 향상: 포스터, 메뉴, 인포그래픽, 로고 등에서 영어 및 숫자가 거의 혼동 없이 표현됩니다.
- 풍부한 스타일 표현: 영화 같은 인물 사진, 복고풍 포스터, 아동 일러스트, 제품 사진, 인포그래픽 등 다양한 스타일을 기본 지원합니다.
- 다양한 비율 및 고해상도 기본 지원: 5가지 비율(1:1, 4:3, 3:4, 16:9, 9:16)과 3단계 해상도(1K / 2K / 4K)를 커버합니다.
model 필드를 gpt-image-2로 설정하면 됩니다. 반환 결과의 url은 platform.cdn.acedata.cloud에 영구 호스팅된 이미지 링크로, 브라우저에서 직접 열거나 웹페이지에 삽입할 수 있습니다.
지원하는 size 값
gpt-image-2는 size 형식만 검사하며, auto 또는 빈 문자열이 아니면 WIDTHxHEIGHT 형식(예: 1024x1024, 2048x1152, 800x600)이어야 합니다. 다른 형식은 400 오류를 반환합니다. 모든 크기(1K / 2K / 4K / 커스텀)는 단일 이미지당 동일 요금이 부과되며, 크기에 따른 추가 요금은 없습니다.
상위 시스템의 커스텀 크기 제한: 너비와 높이는 16의 배수여야 하며, 긴 변 ≤ 3840, 총 픽셀 수 ≤ 8,294,400 이내여야 합니다. 초과 시 상위 시스템에서 거부되어 4xx 오류가 반환됩니다.
size: "auto"를 전달하거나size필드를 생략할 수도 있으며, 이 경우 모델이 기본 크기를 자동으로 선택합니다. 1K 단계에서 상위 시스템 출력은 엄격한 픽셀 정렬을 보장하지 않습니다 — 예를 들어1024x1024를 요청해도1254x1254가 나올 수 있으며, 비율은 유지됩니다. 이를 다시size로 전달해도 요금은 동일합니다. 4K 단일 호출은 보통 4~8분이 소요되므로, 아래callback_url비동기 콜백과 함께 사용하는 것을 권장합니다.
아래는 여러 실제 예시를 통해n파라미터 관련gpt-image-2는 현재n > 1을 지원하지 않습니다. 이 파라미터는 무시되며,n=1이든n=10이든 단일 요청당 1장만 반환되고 1장 요금만 부과됩니다. 여러 후보 이미지를 얻으려면 여러 번 동시 요청을 직접 실행하세요(서로 다른prompt또는seed를 함께 전달하는 것이 좋습니다. 그렇지 않으면 생성된 이미지들이 매우 유사할 수 있습니다). 이 제한은gpt-image-1/gpt-image-1.5및nano-banana/nano-banana-2/nano-banana-pro시리즈에도 동일하게 적용됩니다.dall-e-2는 현재 유일하게n > 1을 기본 지원하는 모델이며,dall-e-3는n = 1만 지원합니다.
gpt-image-2의 성능을 직관적으로 확인할 수 있습니다.
시나리오 1: 영화 같은 인물 사진
프롬프트에 영화 용어(35mm 필름, 얕은 피사계 심도, 네온 조명 등)를 사용하여 분위기와 질감을 정밀하게 제어할 수 있습니다. Python 샘플 호출 코드:시나리오 2: 복고풍 여행 포스터 (텍스트 렌더링 포함)
gpt-image-2는 레이아웃 및 폰트 렌더링에서 안정적인 성능을 보여 포스터, 메뉴, 카드 등 텍스트가 포함된 디자인에 적합합니다.
url 필드의 이미지:
모델이 Art Deco 포스터의 시각적 스타일을 정확히 재현했으며, 제목 텍스트 AMALFI와 ITALIA 1958이 선명하고 올바르게 렌더링된 것을 확인할 수 있습니다.
시나리오 3: 복잡한 구성과 개수
아래 프롬프트는 모델이 “수량”과 “위치” 같은 구조화된 명령을 얼마나 잘 따르는지 테스트합니다.dall-e-3 시절에는 안정적으로 구현하기 어려웠던 기능입니다.
시나리오 4: 일러스트 스타일 (가로 화면)
예술 매체 및 분위기 키워드를 지정하여 스타일화된 일러스트를 생성할 수 있습니다.비동기 및 콜백
gpt-image-2 단일 호출은 보통 60~90초가 소요되며, 장시간 연결을 유지하고 싶지 않은 경우 아래에서 설명하는 callback_url 비동기 콜백 메커니즘을 사용할 수 있습니다. 호출 절차는 다른 모델과 완전히 동일합니다.
Nano Banana 시리즈 모델
nano-banana 시리즈는 Gemini 기반 이미지 생성 모델로, 동일한 /openai/images/generations 인터페이스를 통해 접속할 수 있어 엔드포인트 전환이 필요 없으며, model만 아래 표 중 하나로 변경하면 됩니다.
중요: 지원 파라미터 범위 Nano Banana는 적응 계층을 통해 OpenAI 프로토콜에 접속하며,gpt-image-*와 비교해 다음 파라미터만 지원합니다:model,prompt,size.
size는 아래 표에 따라 내부aspect_ratio로 매핑되며, 미기재 크기는1:1로 축소됩니다:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16n,quality,style,response_format,background,output_format등 파라미터는 지원하지 않으며, 입력해도 무시됩니다.- 반환 구조는 OpenAI 형식을 따르나(
data[].url),created는 항상0이며,b64_json을 반환하지 않고revised_prompt는 항상 원본prompt와 동일합니다.
기본 호출
url 필드를 통해 직접 접근할 수 있습니다:
플래그십 모델 nano-banana-pro로 업그레이드
model만 nano-banana-pro로 변경하면 나머지 파라미터는 동일합니다:
비동기 콜백
callback_url 비동기 콜백 메커니즘은 nano-banana에도 동일하게 적용되며, 호출 절차는 다른 모델과 완전히 동일합니다. 자세한 내용은 아래 비동기 콜백 섹션을 참고하세요.
기본 사용법
이제 인터페이스에서 해당 내용을 입력할 수 있습니다. 아래 그림과 같습니다: 처음 이 인터페이스를 사용할 때는 최소 세 가지 내용을 입력해야 합니다. 하나는authorization으로, 드롭다운 목록에서 선택할 수 있습니다. 또 다른 파라미터는 model로, OpenAI DALL-E 공식 모델 카테고리를 선택하는 것입니다. 여기서는 주로 1종류 모델이 제공되며, 자세한 내용은 제공된 모델 정보를 참고하세요. 마지막 파라미터는 prompt로, 생성할 이미지에 대한 텍스트 설명입니다.
오른쪽에는 호출 코드가 자동 생성되어 있어 복사해 바로 실행하거나 「Try」 버튼을 클릭해 테스트할 수 있습니다.
Python 샘플 호출 코드:
created: 이번 이미지 생성 작업의 ID로, 작업을 고유하게 식별합니다.data: 이미지 생성 결과 정보가 포함되어 있습니다.
data 내부에는 모델이 생성한 이미지 정보가 포함되며, url은 생성된 이미지 상세 링크입니다. 아래 그림에서 확인할 수 있습니다.
이미지 품질 파라미터 quality
다음으로 이미지 생성 결과의 상세 파라미터 설정 방법을 소개합니다. 이미지 품질 파라미터 quality는 두 가지가 있습니다. 첫 번째 standard는 표준 이미지 생성, 두 번째 hd는 더 정교한 디테일과 높은 일관성을 가진 이미지를 생성합니다.
아래는 이미지 품질 파라미터를 standard로 설정한 예시입니다:
오른쪽에는 호출 코드가 생성되어 있어 복사해 바로 실행하거나 「Try」 버튼으로 테스트할 수 있습니다.
Python 샘플 호출 코드:
quality가 standard인 이미지 생성 결과는 아래와 같습니다:
동일한 조작에서 이미지 품질 파라미터를 hd로 설정하면 다음과 같은 이미지가 생성됩니다:
hd가 standard보다 더 정교한 디테일과 높은 일관성을 가진 이미지를 생성함을 확인할 수 있습니다.
이미지 크기 파라미터 size
이미지 생성 시 크기를 설정할 수도 있습니다. 아래는 이미지 크기를 1024 * 1024로 설정한 예시입니다:
오른쪽에는 호출 코드가 생성되어 있어 복사해 바로 실행하거나 「Try」 버튼으로 테스트할 수 있습니다.
Python 샘플 호출 코드:
1024 * 1024인 이미지 생성 결과는 아래와 같습니다:
동일한 조작에서 크기를 1792 * 1024로 설정하면 다음과 같은 이미지가 생성됩니다:
이미지 크기가 명확히 다름을 확인할 수 있으며, 더 많은 크기 설정은 공식 문서를 참고하세요.
이미지 스타일 파라미터 style
이미지 스타일 파라미터 style은 두 가지가 있습니다. 첫 번째 vivid는 더욱 생생한 이미지를 생성하며, 두 번째 natural은 보다 자연스러운 이미지를 생성합니다.
아래는 이미지 스타일 파라미터를 vivid로 설정한 예시입니다:
오른쪽에는 호출 코드가 생성되어 있어 복사해 바로 실행하거나 「Try」 버튼으로 테스트할 수 있습니다.
Python 샘플 호출 코드:
style이 vivid인 이미지 생성 결과는 아래와 같습니다:
동일한 조작에서 style을 natural로 설정하면 다음과 같은 이미지가 생성됩니다:
vivid가 natural보다 더 생동감 있고 사실적인 이미지를 생성함을 확인할 수 있습니다.
이미지 링크 형식 파라미터 response_format
마지막으로 이미지 링크 형식 파라미터 response_format은 두 가지가 있습니다. 첫 번째 b64_json은 이미지 링크를 Base64 인코딩한 것이며, 두 번째 url은 일반 이미지 링크로 직접 이미지를 확인할 수 있습니다.
아래는 이미지 링크 형식을 url로 설정한 예시입니다:
오른쪽에는 호출 코드가 생성되어 있어 복사해 바로 실행하거나 「Try」 버튼으로 테스트할 수 있습니다.
Python 샘플 호출 코드:
response_format이 url인 이미지 링크는 이미지 URL로 직접 접근 가능하며, 이미지 내용은 아래와 같습니다:
동일한 조작에서 response_format을 b64_json으로 설정하면 Base64 인코딩된 이미지 링크를 얻을 수 있으며, 결과는 아래와 같습니다:
비동기 콜백
OpenAI Images Generations API는 이미지 생성에 시간이 다소 소요될 수 있으므로, API가 장시간 응답하지 않으면 HTTP 요청이 계속 연결 상태를 유지해 시스템 자원을 과도하게 소모할 수 있습니다. 이를 방지하기 위해 본 API는 비동기 콜백을 지원합니다. 전체 흐름은 다음과 같습니다: 클라이언트가 요청 시callback_url 필드를 추가로 지정하면, API는 즉시 task_id를 포함한 응답을 반환합니다. 작업이 완료되면 생성된 이미지 결과를 JSON 형태로 클라이언트가 지정한 callback_url에 POST 방식으로 전송하며, 이때도 task_id가 포함되어 작업 결과를 ID로 연동할 수 있습니다.
아래 예시로 구체적인 사용법을 살펴보겠습니다.
먼저, Webhook 콜백은 HTTP 요청을 받을 수 있는 서비스여야 하며, 개발자는 자신이 구축한 HTTP 서버 URL로 교체해야 합니다. 여기서는 시연을 위해 공개 Webhook 사이트 https://webhook.site/를 사용합니다. 사이트를 열면 Webhook URL을 얻을 수 있습니다:
이 URL을 복사하여 Webhook으로 사용합니다. 예시 URL은 https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab입니다.
다음으로 callback_url 필드를 위 Webhook URL로 설정하고, 아래와 같이 파라미터를 작성합니다:
task_id 필드가 포함되어 있고, data 필드에는 동기 호출과 동일한 이미지 생성 결과가 포함되어 있습니다. task_id를 통해 작업을 연동할 수 있습니다.
오류 처리
API 호출 시 오류가 발생하면, API는 관련 오류 코드와 메시지를 반환합니다. 예시는 다음과 같습니다:400 token_mismatched: 잘못된 요청, 파라미터 누락 또는 유효하지 않음.400 api_not_implemented: 잘못된 요청, 파라미터 누락 또는 유효하지 않음.401 invalid_token: 인증 실패, 토큰이 없거나 유효하지 않음.429 too_many_requests: 요청 과다, 속도 제한 초과.500 api_error: 서버 내부 오류.

