gpt-image-2 API 사용법

Ashley Innocent

Ashley Innocent

22 April 2026

gpt-image-2 API 사용법

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

데모 예약

gpt-image-2 API는 2026년 4월 21일 ChatGPT 이미지 2.0과 함께 출시된 OpenAI의 새로운 이미지 생성 엔드포인트입니다. 이미 OpenAI 채팅 또는 임베딩 API를 호출하고 있다면, 이미지 생성을 추가하는 데는 새로운 요청 형식, 적절한 범위를 가진 API 키, 그리고 약 10분 정도가 소요됩니다.

이 가이드는 전적으로 API에 관한 것입니다: 인증, 요청 매개변수, 세 가지 언어로 된 코드 샘플, 사고 모드, 배치 생성, 응답 처리, 오류 코드, 속도 제한, 그리고 잘못된 프롬프트로 크레딧을 낭비하지 않도록 하는 테스트 워크플로우를 다룹니다. ChatGPT 이미지 2.0의 새로운 기능에 대한 제품 수준의 개요는 ChatGPT 이미지 2.0 분석을 참조하십시오.

이 가이드를 마치면 작동하는 호출, 반복을 위한 재사용 가능한 Apidog 컬렉션, 그리고 각 매개변수 비용에 대한 명확한 그림을 얻게 될 것입니다.

버튼

전제 조건

첫 요청을 보내기 전에 네 가지가 필요합니다:

이 가이드의 모든 예제가 수정 없이 실행되도록 셸에 키를 한 번 설정하십시오:

export OPENAI_API_KEY="sk-proj-..."

엔드포인트 및 인증

gpt-image-2는 이전 모델과 동일한 이미지 생성 엔드포인트를 사용합니다:

POST https://api.openai.com/v1/images/generations

인증은 Authorization 헤더의 베어러 토큰입니다. 모든 요청에는 모델 ID, 프롬프트, 출력 매개변수가 포함된 JSON 본문도 함께 전달됩니다.

curl https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A sharp product hero image for an API testing platform, dark background",
    "size": "1024x1024",
    "n": 1,
    "quality": "high"
  }'

호출에 성공하면 이미지 data 배열이 포함된 JSON 객체를 받게 됩니다. 실패 시에는 code와 사람이 읽을 수 있는 message가 포함된 표준 OpenAI 오류 엔벨로프를 반환합니다; 이 가이드 뒷부분의 오류 표에서 일반적인 오류를 다룹니다.

요청 매개변수

요청 본문의 모든 필드는 지불할 금액과 얻게 될 결과에 영향을 미칩니다. 다음은 gpt-image-2의 전체 매개변수 맵입니다.

매개변수 유형 참고
model 문자열 gpt-image-2 필수.
prompt 문자열 최대 32,000자 필수. 프롬프트가 길수록 더 많은 입력 토큰을 소모합니다.
size 문자열 1024x1024, 1024x1536, 1536x1024, 2000x1000, 1000x2000, 2000x667, 667x2000 출력 토큰 수에 영향을 줍니다.
quality 문자열 standard, high high는 약 2배의 비용이 들지만 미세한 텍스트 및 UI 요소를 처리합니다.
n 정수 1–10 배치 요청은 세트 전체에서 스타일을 공유합니다.
thinking 문자열 off, low, medium, high 렌더링 전 추론 예산.
response_format 문자열 url, b64_json URL은 한 시간 후에 만료됩니다.
user 문자열 자유 형식 악용 감지에 사용됩니다; 해시된 사용자 ID를 전달하십시오.
background 문자열 auto, transparent, opaque 투명한 출력은 알파 채널이 있는 PNG로 제공됩니다.
seed 정수 모든 int32 느슨한 제어; 동일한 시드와 동일한 프롬프트는 유사하지만 동일하지는 않습니다.

비용에 가장 큰 영향을 미치는 세 가지 매개변수는 size, quality, thinking입니다. thinking: "high"를 사용한 2000픽셀 너비의 high 품질 이미지는 기준 1024x1024 standard 렌더링 비용의 4~5배에 달할 수 있습니다.

Python 예시

공식 SDK (openai>=1.50.0)는 gpt-image-2에 대한 네이티브 지원을 추가합니다:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

response = client.images.generate(
    model="gpt-image-2",
    prompt=(
        "A minimalist diagram of an OAuth 2.1 authorization code flow with PKCE. "
        "Five boxes labeled in English: User, Client, Auth Server, Resource Server, Token. "
        "Sharp sans-serif text, off-white background, teal accent arrows."
    ),
    size="1536x1024",
    quality="high",
    n=2,
    thinking="medium",
    response_format="b64_json",
)

out_dir = Path("out")
out_dir.mkdir(exist_ok=True)

for i, image in enumerate(response.data):
    png_bytes = base64.b64decode(image.b64_json)
    (out_dir / f"oauth_{i}.png").write_bytes(png_bytes)

print(f"Generated {len(response.data)} images into {out_dir.resolve()}")

두 가지 주목할 점:

Node.js / TypeScript 예시

import fs from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI();

const response = await client.images.generate({
  model: "gpt-image-2",
  prompt:
    "Dashboard UI mockup for a REST client, sentence-case labels, latency sparkline in the top-right, cool grey palette.",
  size: "1536x1024",
  quality: "high",
  n: 4,
  thinking: "medium",
  response_format: "b64_json",
});

await Promise.all(
  response.data.map(async (image, i) => {
    if (!image.b64_json) return;
    await fs.writeFile(`dash_${i}.png`, Buffer.from(image.b64_json, "base64"));
  }),
);

console.log(`Saved ${response.data.length} images`);

특별한 이유가 없다면 일반 fetch 대신 공식 SDK를 사용하십시오. SDK는 재시도, 멱등성 헤더, 스트리밍을 처리하며, 모델 개정 간의 스키마 변경 사항을 추적합니다.

사고 모드: 언제 사용해야 하는가

thinking은 모델이 렌더링하기 전에 레이아웃을 계획하는 데 얼마나 많은 컴퓨팅 자원을 할애할지 제어합니다. 대략 네 가지 값:

실용적인 규칙: 프롬프트에 숫자, 레이블 또는 위치 제약이 포함되어 있으면 한 단계 올리십시오. 단순히 "아늑한 장면"이라고만 되어 있으면 한 단계 내리십시오.

사고 모드는 이미지 출력 토큰 외에 추론 토큰에 대한 비용을 추가합니다. OpenAI 가격 페이지에는 현재 토큰당 요금이 나와 있습니다; medium 또는 high를 켜면 기본 이미지 비용의 1.2~2배를 예산으로 잡으십시오.

배치 생성

n > 1로 설정하면 단일 응답에서 구성과 스타일을 공유하는 여러 이미지가 반환됩니다. 이는 엔드포인트를 n번 병렬로 호출하는 것과는 다릅니다; 병렬 호출은 관련 없는 네 개의 이미지를 제공합니다. 배치 출력은 일관성이 있으며, 이는 디자인 팀이 반복하는 방식과 일치합니다.

response = client.images.generate(
    model="gpt-image-2",
    prompt="Four different hero illustrations for an API documentation landing page, shared color palette, shared line weight.",
    size="1536x1024",
    quality="high",
    n=4,
    thinking="low",
)

이미지당 비용을 지불하므로, n=4n=1의 대략 4배의 비용이 듭니다. 이점은 처리량이 아니라 일관성입니다.

응답 형식 및 저장

두 가지 형식, 두 가지 사용 사례:

프로덕션 환경에서는 URL을 다운로드하여 즉시 자체 S3, R2 또는 Cloudflare Images 버킷에 푸시하십시오. 최종 사용자에게 OpenAI URL을 제공하지 마십시오. 만료됩니다.

오류 처리 및 속도 제한

gpt-image-2는 표준 OpenAI 오류 형식을 반환합니다. 발생할 수 있는 오류는 다음과 같습니다:

HTTP 코드 원인 해결
400 invalid_request_error 잘못된 크기, 지원되지 않는 비율, 프롬프트 32k자 초과 크기 목록을 확인하고 프롬프트를 줄이십시오.
401 invalid_api_key 키 누락 또는 잘못된 키 OPENAI_API_KEY를 다시 내보내십시오.
403 insufficient_quota 크레딧 부족 또는 무료 등급 결제를 추가하고 등급을 확인하십시오.
429 rate_limit_exceeded 분당 너무 많은 요청 지터와 함께 대기 후 Retry-After로 재시도하십시오.
429 image_generation_user_error 콘텐츠 정책 거부 프롬프트를 다시 작성하십시오.
500 server_error 일시적인 OpenAI 문제 지수 백오프를 사용하여 두 번 재시도하십시오.
503 overloaded 지역 전반의 급증 기다렸다가 재시도하십시오.

gpt-image-2의 속도 제한은 등급별로 다릅니다. Tier 1에서는 분당 약 50개 요청으로 시작하며, 상위 등급에서는 증가합니다. 모든 응답에서 x-ratelimit-remaining-requestsx-ratelimit-remaining-tokens 헤더를 항상 읽고 한도에 도달하기 전에 스로틀링하십시오.

프로덕션 환경에서 재시도 가능한 오류:

import time
from openai import OpenAI, RateLimitError, APIStatusError

client = OpenAI()

def generate_with_retry(prompt: str, tries: int = 3):
    delay = 1.0
    for attempt in range(tries):
        try:
            return client.images.generate(
                model="gpt-image-2",
                prompt=prompt,
                size="1024x1024",
                quality="high",
                n=1,
            )
        except RateLimitError:
            time.sleep(delay)
            delay *= 2
        except APIStatusError as e:
            if 500 <= e.status_code < 600 and attempt < tries - 1:
                time.sleep(delay)
                delay *= 2
                continue
            raise
    raise RuntimeError("gpt-image-2 retries exhausted")

400, 401 또는 콘텐츠 정책 관련 429 오류는 재시도하지 마십시오. 이러한 오류는 이유가 있어 실패하며 재시도는 크레딧을 낭비합니다.

Apidog로 API 테스트하기

터미널에서 이미지 생성 프롬프트를 반복하는 것은 느립니다: 결과를 볼 수 없고, 매개변수 변경 사항을 비교할 수 없으며, 좋은 프롬프트를 버전 관리할 수 없습니다. 목적에 맞게 구축된 API 클라이언트는 이 세 가지 문제를 모두 해결합니다.

Apidog의 이미지 생성 API 테스트 인터페이스.

Apidoggpt-image-2 엔드포인트를 일류 요청으로 취급합니다. 일반적인 워크플로우:

  1. OpenAI 컬렉션에서 새 요청을 생성하고, 메서드는 POST, URL은 https://api.openai.com/v1/images/generations로 설정합니다.
  2. Authorization: Bearer {{OPENAI_API_KEY}}를 헤더로 추가하고, OPENAI_API_KEY는 환경 변수에 설정하여 소스에 절대 노출되지 않도록 합니다.
  3. 프롬프트가 포함된 JSON 본문을 붙여넣습니다; Apidog는 OpenAPI 사양에 대해 유효성을 검사하고 전송하기 전에 유형 불일치를 알려줍니다.
  4. 전송을 클릭합니다. 이미지 응답은 인라인으로 렌더링됩니다; 좋은 이미지는 저장하고, 나쁜 이미지는 태그를 지정하고, 변형을 위해 요청을 포크합니다.
  5. thinking: off, thinking: medium, thinking: high에 대한 환경을 저장하여 동일한 프롬프트를 추론 수준별로 비교합니다.

Apidog의 요청 차이 비교 기능이 여기에서 가장 중요합니다. 하나의 매개변수를 조정하고, 변경 전후 이미지를 나란히 보고, 승자를 팀 전체가 공유하는 프롬프트 라이브러리에 커밋합니다. 이것은 터미널이 제공할 수 없는 워크플로우입니다.

일반 HTTP 클라이언트나 손상된 Postman 워크스페이스에서 전환하는 경우, Apidog를 다운로드하여 OpenAI 키를 가리키십시오; 설정은 5분 이내에 완료됩니다. 대안을 평가하는 팀은 Postman 없이 API 테스트 가이드Apidog VS Code 확장 개요도 읽을 수 있습니다.

흔한 실수

gpt-image-2를 처음 사용하는 한 주 동안 크레딧과 시간을 소모하는 몇 가지 실수가 있습니다.

자주 묻는 질문

API 수준에서 gpt-image-2gpt-image-1의 차이점은 무엇입니까?동일한 엔드포인트, 동일한 인증. 새로운 매개변수: thinking (off/low/medium/high), 최대 2000px까지 확장된 size 값, 공유 스타일을 가진 최대 10개의 n 값. 기존 SDK 통합은 모델 ID 변경 후에도 계속 작동합니다; 필요한 경우에만 새로운 매개변수를 추가하면 됩니다. 전체 차이점은 ChatGPT 이미지 2.0 개요를 참조하십시오.

gpt-image-2 통합을 프로토타이핑하는 가장 빠른 방법은 무엇입니까?Apidog에서 요청을 생성하고, 두 개의 환경(표준 대 사고 모드)을 저장하고, 코드를 건드리지 않고 프롬프트를 반복하십시오. 커밋할 준비가 되면 최종 요청을 curl 또는 SDK 코드로 내보내십시오.

API는 이미지 편집 또는 인페인팅을 지원합니까?편집 및 변형 엔드포인트는 새 모델 ID 아래에서 이전 세대와 동일한 패턴을 따릅니다. 최신 스키마는 gpt-image-2 모델 참조를 확인하십시오; 마스크 및 입력 이미지에 대한 매개변수가 문서화되어 있습니다.

gpt-image-2를 상업적 출력에 사용할 수 있습니까?예, OpenAI의 표준 사용 정책에 따라 가능합니다. 생성된 이미지는 사용자 소유입니다; OpenAI는 악용 모니터링을 위해 입력 및 출력을 사용할 권리를 보유합니다. 상표 등록된 캐릭터 및 이름이 지정된 공인은 여전히 보호 장치를 트리거합니다.

프로덕션 워크로드 비용은 얼마입니까?표준 모드에서 1024x1024 고품질 이미지당 약 $0.21이므로, 한 달에 10,000개의 이미지는 사고 모드 없이 약 $2,100가 듭니다. 사고 모드를 추가하면 20~80%가 추가됩니다. 예산이 최고 품질보다 더 중요하다면, GLM 5V Turbo API 가이드Qwen 3.5 Omni 통합과 같은 자체 호스팅 대안과 비교해보십시오.

유사한 텍스트 렌더링을 제공하는 더 저렴한 대안이 있습니까?아직 다국어 텍스트에 대해 동일한 품질을 제공하는 대안은 없습니다. 오픈 소스 모델은 구성 면에서 격차를 좁혔지만, CJK 및 인도어 스크립트에서는 여전히 뒤처져 있습니다.

버튼

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요

gpt-image-2 API 사용법