Skip to main content
OpenAI 이미지 생성 API는 현재 다양한 이미지 생성 모델을 지원하며, 여기에는 고전적인 dall-e-3, 텍스트 렌더링 능력이 더 강한 gpt-image-1, 최신 세대의 gpt-image-2 및 동일한 인터페이스를 통해 접속할 수 있는 nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro 시리즈 모델이 포함됩니다. 이들은 모두 텍스트 설명에 따라 고품질 이미지를 생성할 수 있습니다. 이 문서는 OpenAI 이미지 생성 API 작업의 사용 흐름을 주로 소개하며, 이를 통해 OpenAI 시리즈의 이미지 생성 기능을 쉽게 사용할 수 있습니다.

신청 흐름

OpenAI 이미지 생성 API를 사용하려면 먼저 Ace Data Cloud 콘솔에서 API 토큰을 받아야 하며, 이를 보관해 두십시오. 로그인 또는 등록이 되어 있지 않은 경우, 자동으로 로그인 페이지로 리디렉션되어 등록 및 로그인을 초대하며, 완료 후 현재 페이지로 자동으로 돌아옵니다. 하나의 API 토큰으로 플랫폼의 모든 서비스를 호출할 수 있으며, 각 서비스에 대해 별도로 신청할 필요가 없습니다. 처음 신청 시 무료 크레딧이 제공되어 무료로 체험할 수 있으며, 크레딧이 부족할 경우 콘솔에서 일반 잔액을 충전할 수 있습니다.
📘 전체 문서: OpenAI 이미지 생성 API →

GPT-Image-2 모델

gpt-image-2는 OpenAI에서 출시한 차세대 이미지 생성 모델로, dall-e-3gpt-image-1에 비해 다음과 같은 측면에서 뚜렷한 향상을 보입니다:
  • 지시 준수 능력이 더 강함: 복잡한 구성, 수량, 위치 관계 등의 구조화된 지시를 정확하게 이해할 수 있습니다.
  • 텍스트 렌더링이 더 선명함: 포스터, 메뉴, 인포그래픽, 로고 등에서 영어와 숫자가 거의 혼란 없이 표현됩니다.
  • 스타일 표현이 더 다양함: 영화 같은 인물 사진, 복고풍 포스터, 아동 일러스트, 제품 사진, 인포그래픽 등 다양한 스타일을 원활하게 지원합니다.
  • 원주율 다중 비율 + 고해상도 지원: 5가지 비율(1:1, 4:3, 3:4, 16:9, 9:16)과 3단계 해상도(1K / 2K / 4K)를 지원합니다.
호출 방식은 다른 모델과 완전히 동일하며, model 필드를 gpt-image-2로 설정하기만 하면 됩니다. 반환 결과의 urlplatform.cdn.acedata.cloud에 영구적으로 호스팅되는 이미지 링크로, 브라우저에서 직접 열거나 웹페이지에 삽입할 수 있습니다.

라인 변형(:official / :reverse)

gpt-image-2는 기본적으로 표준 라인을 사용합니다. 모델 이름 접미사를 통해 라인을 명시적으로 선택할 수 있습니다:
  • gpt-image-2:official: 공식 경로로, 안정적이고 규정을 준수합니다. 실제 2K / 4K 해상도를 지원하며, 각 이미지당 요금이 부과되며, 단가는 기본 gpt-image-2의 2배입니다. 라인이 사용 불가능할 경우 직접 오류를 반환하며 자동으로 다운그레이드되지 않습니다.
  • gpt-image-2:reverse: 기본 gpt-image-2와 완전히 동등하며, 가격이 동일하여 가성비가 더 높습니다.

지원되는 size

gpt-image-2size의 형식만 검사하며, auto 또는 빈 문자열이 아닌 경우 WIDTHxHEIGHT(예: 1024x1024, 2048x1152, 800x600)와 일치해야 합니다; 다른 형태는 400을 반환합니다. 모든 크기(1K / 2K / 4K / 사용자 정의)는 단일 이미지당 동일하게 요금이 부과되며, 크기에 따라 추가 요금이 없습니다. 크기 제한: 사용자 정의 크기는 너비와 높이가 모두 16의 배수여야 하며, 긴 변 ≤ 3840, 총 픽셀 수 ≤ 8,294,400을 충족해야 하며, 범위를 초과할 경우 4xx로 반환됩니다.
size: "auto"를 명시적으로 전달하면, 플랫폼은 연속 비율 공간에서 캔버스를 계획하고 다음 우선 순위에 따라 판단합니다: 프롬프트의 명확한 픽셀 또는 비율, 명명 기준(종이 / 인쇄물 / 플랫폼 광고 / 광고 / 장치 / 사진 / 영화), 매체 관례, 마지막으로 구성 추론입니다. 따라서 일반적인 1:1, 4:5, 9:16, 21:9 외에도 1.91:1, 1.85:1, 2.39:1, ISO 종이 1:√2와 같은 비예정 비율도 유지할 수 있습니다; 최종 크기는 서비스가 지원하는 16의 배수와 픽셀 예산으로 자동 조정됩니다. 자동 판단이 불가능할 경우 모델의 기본 캔버스로 되돌아가며 생성이 중단되지 않습니다. size 필드를 생략하면 모델의 기본 캔버스를 직접 사용합니다; 픽셀에 대한 엄격한 요구가 있을 경우 여전히 WIDTHxHEIGHT를 직접 전달하는 것이 좋습니다. 1K 단계에서 출력은 엄격한 픽셀 정렬을 보장하지 않습니다—당신이 1024x1024를 전달하면 1254x1254를 받을 수 있으며, 비율은 일관성을 유지합니다. 만약 이를 다시 size로 전달하면 요금은 변하지 않습니다. 4K 단일 호출은 일반적으로 4–8분이 소요되며, 후속 문서의 callback_url 비동기 콜백과 함께 사용하는 것이 좋습니다.
n 매개변수에 대하여 gpt-image-2n > 1(값 1–10)을 지원합니다: 한 번의 요청으로 반환되며 해당 수량의 이미지를 요금에 따라 청구합니다. 여러 결과에 차이를 주기 위해서는 서로 다른 prompt 또는 seed를 동시에 전달하는 것이 좋습니다. 이는 gpt-image-1 / gpt-image-1.5, 그리고 nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro 시리즈에도 동일하게 적용됩니다; dall-e-3n = 1만 지원합니다. response_format=b64_jsonn=1만 지원하며, n>1일 경우 기본 URL 반환을 사용하십시오. 생성에 실패한 일부 이미지가 있을 경우, 성공한 부분만 반환되고 요금이 청구됩니다.
아래는 gpt-image-2의 능력을 직관적으로 느낄 수 있는 몇 가지 다양한 방향의 실제 예시입니다.

장면 1: 영화 같은 초상화

프롬프트에서 영화 용어(35mm 필름, 얕은 피사계 심도, 네온 조명 등)를 사용하여 분위기와 질감을 정밀하게 제어할 수 있습니다. Python 샘플 호출 코드:
반환 결과는 다음과 같습니다:
생성된 이미지는 다음과 같습니다:

장면 2: 복고풍 여행 포스터 (텍스트 렌더링 포함)

gpt-image-2는 타이포그래피와 글꼴 렌더링에서 안정적인 성능을 보여주며, 포스터, 메뉴, 카드 등 텍스트가 포함된 디자인 작업에 적합합니다.
반환 결과의 url 필드에 해당하는 이미지는 다음과 같습니다:

모델이 Art Deco 포스터의 시각적 스타일을 정확하게 재현했으며, 제목 텍스트 AMALFIITALIA 1958가 모두 선명하고 정확하게 렌더링된 것을 볼 수 있습니다.

장면 3: 복잡한 구성 및 수량

다음 프롬프트는 모델이 “수량”과 “위치”와 같은 구조화된 지침을 따르는 능력을 테스트하기 위해 사용됩니다.
생성된 이미지는 다음과 같습니다:

세 개의 선반에 있는 책의 수(1 / 3 / 7)가 프롬프트와 완전히 일치하는 것을 볼 수 있으며, 이는 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, n.
  • size는 아래 표에 따라 내부 aspect_ratio로 매핑되며, 나열되지 않은 크기는 1:1로 축소됩니다:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • quality, style, response_format, background, output_format 등의 매개변수는 지원하지 않으며, 입력해도 무시됩니다. n > 1은 지원되며(1–10), 해당 수량의 이미지를 반환하고 그에 따라 요금이 청구됩니다.
  • 반환 구조는 OpenAI 형식을 따르며(data[].url), created는 고정적으로 0이며, b64_json은 반환되지 않고, revised_prompt는 항상 원래 prompt와 동일합니다.

기본 호출

반환 결과는 다음과 같습니다:
생성된 이미지는 반환된 url 필드를 통해 직접 접근할 수 있습니다:

플래그십 모델 nano-banana-pro로 업그레이드

modelnano-banana-pro로 변경하기만 하면 나머지 매개변수는 완전히 동일합니다:
반환 예시:

비동기 콜백

callback_url 비동기 콜백 메커니즘은 nano-banana에도 동일하게 유효하며, 호출 프로세스는 다른 모델과 완전히 일치합니다. 자세한 내용은 아래 비동기 콜백 섹션을 참조하십시오.

기본 사용

이제 인터페이스에서 해당 내용을 입력할 수 있습니다. 아래 그림과 같이:

이 인터페이스를 처음 사용할 때, 우리는 최소한 세 가지 내용을 입력해야 합니다. 하나는 authorization으로, 드롭다운 목록에서 직접 선택할 수 있습니다. 또 다른 매개변수는 model이며, model은 우리가 OpenAI DALL-E 공식 모델 카테고리를 선택하는 것입니다. 여기에는 주로 1종의 모델이 있으며, 자세한 내용은 우리가 제공하는 모델을 참조하십시오. 마지막 매개변수는 prompt로, prompt는 우리가 생성할 이미지의 힌트를 입력하는 것입니다. 또한 오른쪽에 해당 호출 코드 생성이 있음을 주목할 수 있으며, 코드를 복사하여 직접 실행하거나 “Try” 버튼을 클릭하여 테스트할 수 있습니다.

Python 샘플 호출 코드:
호출 후, 우리는 반환 결과가 다음과 같음을 발견했습니다:
반환 결과는 여러 필드를 포함하며, 설명은 다음과 같습니다:
  • created는 이번 이미지 생성의 ID로, 이번 작업을 고유하게 식별하는 데 사용됩니다.
  • data는 이미지 생성의 결과 정보를 포함합니다.
그 중 data는 모델이 생성한 이미지의 구체적인 정보를 포함하고 있으며, 그 안의 url은 생성된 이미지의 세부 링크입니다. 아래 그림과 같이 확인할 수 있습니다.

이미지 품질 매개변수 quality

다음으로 이미지 생성 결과의 일부 세부 매개변수를 설정하는 방법을 소개합니다. 이미지 품질 매개변수 quality는 두 가지가 있습니다. 첫 번째는 standard로, 표준 이미지를 생성하는 것을 의미하며, 두 번째는 hd로, 생성된 이미지가 더 세밀한 세부 사항과 더 큰 일관성을 갖는 것을 의미합니다. 아래는 이미지 품질 매개변수를 standard로 설정하는 방법입니다. 구체적인 설정은 아래 그림과 같습니다:

또한 오른쪽에 해당 호출 코드 생성이 있음을 주목할 수 있으며, 코드를 복사하여 직접 실행하거나 “Try” 버튼을 클릭하여 테스트할 수 있습니다.

Python 샘플 호출 코드:
호출 후, 우리는 반환 결과가 다음과 같음을 발견했습니다:
반환된 결과는 기본 사용 내용과 일치하며, 이미지 품질 매개변수가 standard인 생성 이미지는 아래 그림과 같습니다:

위와 동일한 작업을 수행하고, 이미지 품질 매개변수를 hd로 설정하면 아래 그림과 같은 이미지를 얻을 수 있습니다:

hdstandard보다 생성된 이미지에서 더 세밀한 디테일과 더 큰 일관성을 가지고 있음을 알 수 있습니다.

이미지 크기 매개변수 size

생성 이미지의 크기를 설정할 수도 있으며, 아래와 같은 설정을 할 수 있습니다. 이미지의 크기를 1024 * 1024로 설정하는 방법은 아래 그림과 같습니다:

오른쪽에 해당 호출 코드 생성이 있으며, 코드를 복사하여 직접 실행할 수 있고, “Try” 버튼을 클릭하여 테스트할 수도 있습니다.

Python 샘플 호출 코드:
호출 후, 반환된 결과는 다음과 같습니다:
반환된 결과는 기본 사용 내용과 일치하며, 이미지의 크기가 1024 * 1024인 생성 이미지는 아래 그림과 같습니다:

위와 동일한 작업을 수행하고, 이미지의 크기를 1792 * 1024로 설정하면 아래 그림과 같은 이미지를 얻을 수 있습니다: 이미지의 크기가 확연히 다름을 알 수 있으며, 추가적인 크기 설정도 가능합니다. 자세한 정보는 저희 공식 문서를 참조하시기 바랍니다.

이미지 스타일 매개변수 style

이미지 스타일 매개변수 style은 두 가지 매개변수를 포함합니다. 첫 번째는 vivid로, 생성된 이미지가 더 생동감 있게 표현됩니다. 두 번째는 natural로, 생성된 이미지가 더 자연스럽게 표현됩니다. 아래는 이미지 스타일 매개변수를 vivid로 설정하는 방법입니다:

오른쪽에 해당 호출 코드 생성이 있으며, 코드를 복사하여 직접 실행할 수 있고, “Try” 버튼을 클릭하여 테스트할 수도 있습니다.

Python 샘플 호출 코드:
호출 후, 반환된 결과는 다음과 같습니다:
반환된 결과는 기본 사용 내용과 일치하며, 이미지 스타일 매개변수가 vivid인 생성 이미지는 아래 그림과 같습니다:

위와 동일한 작업을 수행하고, 이미지 스타일 매개변수를 natural로 설정하면 아래 그림과 같은 이미지를 얻을 수 있습니다:

vividnatural보다 생성된 이미지에서 더 생동감 있고 사실적임을 알 수 있습니다.

이미지 링크의 형식 매개변수 response_format

마지막 이미지 링크의 형식 매개변수 response_format은 두 가지가 있습니다. 첫 번째는 b64_json으로, 이미지 링크를 Base64로 인코딩합니다. 두 번째는 url로, 일반 이미지 링크로 직접 이미지를 확인할 수 있습니다. 아래는 이미지 링크의 형식 매개변수를 url로 설정하는 방법입니다:

오른쪽에 해당 호출 코드 생성이 있으며, 코드를 복사하여 직접 실행할 수 있고, “Try” 버튼을 클릭하여 테스트할 수도 있습니다.

Python 샘플 호출 코드:
호출 후, 우리는 반환 결과가 다음과 같음을 발견했습니다:
반환된 결과는 기본 사용 내용과 일치하며, 이미지 링크의 형식 매개변수인 url의 생성된 이미지 링크는 이미지 URL로 직접 접근할 수 있으며, 이미지 내용은 아래 그림과 같습니다:

위와 동일한 작업을 수행하려면, 이미지 링크의 형식 매개변수를 b64_json으로 설정하면 Base64 인코딩된 이미지 링크 결과를 얻을 수 있으며, 구체적인 결과는 아래 그림과 같습니다:

비동기 콜백

OpenAI Images Generations API가 이미지를 생성하는 데 시간이 다소 걸릴 수 있으므로, API가 오랜 시간 응답하지 않으면 HTTP 요청이 연결을 유지하여 추가 시스템 리소스 소모를 초래할 수 있습니다. 따라서 이 API는 비동기 콜백 지원도 제공합니다. 전체 프로세스는 다음과 같습니다: 클라이언트가 요청을 시작할 때 추가로 callback_url 필드를 지정합니다. 클라이언트가 API 요청을 시작한 후, API는 즉시 결과를 반환하며, 현재 작업 ID를 나타내는 task_id 필드 정보를 포함합니다. 작업이 완료되면 생성된 이미지 결과가 POST JSON 형식으로 클라이언트가 지정한 callback_url로 전송되며, 여기에도 task_id 필드가 포함되어 있어 작업 결과를 ID로 연결할 수 있습니다. 아래 예제를 통해 구체적으로 어떻게 작업하는지 알아보겠습니다. 먼저, Webhook 콜백은 HTTP 요청을 수신할 수 있는 서비스로, 개발자는 자신이 구축한 HTTP 서버의 URL로 교체해야 합니다. 여기서는 편리한 시연을 위해 공개 Webhook 샘플 사이트인 https://webhook.site/를 사용합니다. 해당 사이트를 열면 Webhook URL을 얻을 수 있습니다, 아래 그림과 같이: 이 URL을 복사하면 Webhook으로 사용할 수 있으며, 여기서의 샘플은 https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab입니다. 다음으로, callback_url 필드를 위의 Webhook 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:내부 서버 오류, 서버에서 문제가 발생했습니다.

오류 응답 예시

결론

이 문서를 통해 OpenAI Images Generations API를 사용하여 공식 OpenAI DALL-E의 이미지 생성 기능을 쉽게 사용할 수 있는 방법을 이해하셨습니다. 이 문서가 API를 더 잘 연결하고 사용하는 데 도움이 되기를 바랍니다. 질문이 있으시면 언제든지 기술 지원 팀에 문의해 주십시오.