노년의 뱃사람이 그물을 손질하는 사진 예제. 가이드가 말하는 photorealistic의 기준 — 주름, 모공, 필름 그레인까지 '보이는 디테일'을 프롬프트에 쓰라는 것이다.

OpenAI가 GPT Image 2.5 공식 프롬프팅 가이드를 developers.openai.com에 올렸습니다. 새 모델 둘(Flare, Sunburst)의 선택 기준부터, 프롬프트를 어떻게 구성할지, 편집에서 뭘 보존하고 뭘 바꿀지 — API로 이미지를 만드는 사람이라면 한 번은 정리해두고 싶은 내용이 전부 들어 있습니다.

제가 전문을 읽고 실무 관점에서 걸러 정리했습니다. 원문 예제 이미지도 함께 넣었습니다.

먼저 구조: 모델이 둘로 쪼개졌다

GPT Image 2.5는 한 모델이 아니라 두 선택지입니다.

  • GPT Image 2.5 Flare — small model. 속도 최적화, 화질은 GPT Image 2와 대등
  • GPT Image 2.5 Sunburst — base model. 화질 최적화, GPT Image 2보다 화질 향상

둘 다 생성·편집·투명 배경을 지원하고, 정밀 편집과 피사체 보존이 개선됐다는 게 공통 설명입니다.

선택 로직은 단순합니다. GPT Image 2가 이미 요구사항을 충족하는 워크플로우면 Flare부터 테스트해서 지연시간만 줄일 수 있는지 본다. GPT Image 2가 화질에서 부족했던 케이스면 Sunburst로 먼저 품질 기준을 맞춘 뒤, 그다음 Flare로 같은 프롬프트를 돌려서 지연시간 이득이 있는지 확인한다. 가이드는 “한 워크로드에서 빨랐다고 다른 워크로드에서도 빠르다는 보장이 없다”는 점을 명시적으로 강조합니다. 자기 프롬프트로 직접 재라는 것.

파라미터: 프롬프트와 분리해서 세팅하라

파라미터
modelgpt-image-2.5-flare / gpt-image-2.5-sunburst
qualityauto(기본), low, medium, high, xhigh, max
sizeauto 또는 커스텀 해상도
backgroundauto, opaque, transparent

커스텀 해상도 WIDTHxHEIGHT 제약이 구체적입니다.

  • 각 변 최대 3,840px
  • 두 변 모두 16px 배수
  • 장변:단변 비율 3:1 이내
  • 총 픽셀 655,360 ~ 8,294,400 (2560x1440 초과는 experimental)

quality 튜닝 순서도 정해져 있습니다. 모델을 먼저 정하고 → 부족하면 quality를 올리고 → 만족하면 내려가며 지연시간 이득을 본다. xhigh/max는 “예산 안에서 해결 안 되는 품질 요구가 있을 때만” 씁니다. 높다고 항상 더 좋은 결과는 아니라고 못박혀 있습니다.

투명 배경은 background="transparent" + PNG/WebP. 그리고 알파 채널을 직접 확인하라 — 머리카락, 유리, 그림자, 물체 가장자리. 그려진 체커보드는 투명이 아닙니다.

마이그레이션 6단계, 핵심만

기존 워크플로우를 옮기는 절차가 6단계로 나와 있습니다.

  1. 베이스라인 저장 — 대표 프로덕션 프롬프트와 참조 이미지 수집. 어려운 편집, 정확한 텍스트, 얼굴, 제품 형상, 투명 에셋 포함
  2. 첫 후보 선택 — 기존 설정(프롬프트, 참조, 해상도, 포맷)을 그대로 두고 비교
  3. 전체 결과 점검 — 지시 이행, 정체성·제품 보존, 텍스트 정확도, 원치 않는 변경, 투명성. 반복 요청으로 일관성까지
  4. 품질 통과 후 지연시간 테스트 — Sunburst 통과했으면 Flare로 같은 기준 재평가
  5. 한 번에 한 설정만 — 프롬프트 고치기 전에 quality부터 비교. “빠른 모델이 더 싸다”고 가정하지 말고 현재 가격 확인 5.5라고 하고 싶은 디테일 하나: 반복 편집은 유지하려던 디테일도 바꿔놓을 수 있습니다. 가이드의 처방은 (a) 제약을 매번 다시 쓰고, (b) 픽셀 단위로 같아야 하는 영역은 프롬프트 말고 합성(composite)으로 직접 처리하라는 것
  6. 워크플로우 단위 롤아웃 — 소량 트래픽부터, 롤백용 기존 모델 유지

프롬프트 8원칙 — 이 가이드의 뼈대

여기가 본문의 핵심입니다. 8개 항목을 제 말로 옮기면:

1. 결과를 정의하라. 피사체와 용도(제품 사진, 광고, 다이어그램)를 명시하고, 구도·비율·배치 제약을 지정. 복잡한 요청은 scene / subject / details / constraints로 라벨 달아 구분.

2. 유지보수 가능한 형식을 골라라. 짧은 프롬프트, 서술 문단, JSON 유사 구조, 태그 모두 동등합니다. 특수 문법이 아니라 “읽고 고치기 쉬운가”가 기준.

3. 보이는 디테일을 써라. 재질, 조명, 색, 매체(visual medium). photorealistic이 목표면 그 단어를 직접 쓰고, 카메라 스펙은 “물리 시뮬레이션 보장”이 아니라 “외관 힌트”로 취급. 넓은/시네마틱/저조도/네온 장면은 무드 단어 대신 규모·분위기·색을 구체적으로.

4. 사람과 동작을 지정하라. “전신 보이게 발끝까지”, “펼친 책을 내려다보고”, “핸들바를 자연스럽게 잡고” 같은 지시가 포즈와 동작을 확정한다.

5. 텍스트를 정확히. 필수 문구는 따옴표로, 위치와 타이포그래피까지. 이상한 철자의 브랜드명은 한 글자씩 풀어서. “추가 텍스트 없음”을 명시하고, 출력에서 철자·가독성 확인. 작은 텍스트·조밀한 정보·다중 폰트는 medium vs high quality를 비교.

6. 변경과 제약을 분리하라. 편집에서는 “X만 바꿔라” + 유지 목록(정체성, 형상, 레이아웃, 조명, 라벨). 제외 항목(불필요한 텍스트, 로고, 워터마크)도 명시.

7. 참조에 역할을 줘라. 입력 이미지마다 번호와 용도(피사체/스타일/의상/배경)를 붙이고, 어떻게 합쳐질지 설명.

8. 의도적으로 반복하라. 이전 출력을 다음 편집 입력으로 넘기고, 한 번에 한 변경. “이전과 같은 스타일”은 맥락을 나르지만, 결과가 흔들리면 제약을 다시 쓴다.

생성 예제에서 배울 것들

커피머신 인포그래픽 예제. 프로세스 시각화는 "누가 무엇을 이해해야 하는지"를 프롬프트에 쓰는 순간 품질이 갈린다.

가이드의 예제들은 각각 다른 기법을 보여줍니다. 몇 가지만 짚습니다.

프로세스 설명: 인포그래프를 요청할 때 프로세스 이름, 청중, 전달할 정보를 명시. 다이어그램은 외관뿐 아니라 라벨과 사실 관계까지 검증하라.

정확한 텍스트 렌더링: 필요한 카피를 따옴표로 주고 “정확히 한 번만” 렌더링하라고 지시. 광고 예제(Thread “Yours to Create.”)가 대표적입니다.

스트리트 브랜드 광고 예제. 태그라인을 "정확히 한 번, 명확하게" 렌더링하라고 지정한 사례.

로고: 크기별 가독성, 플랫 디자인, 넉넉한 패딩, “체커보드 아님” 명시. background="transparent" + output_format="png" 조합으로 n개 변형 생성.

로고 생성 예제. 투명 배경을 원하면 프롬프트와 API 파라미터 양쪽에 다 써야 한다.

교육·과학 시각자료: instructional design brief처럼 쓰라 — 청중, 학습 목표, 형식, 필수 라벨, 과학적 제약. 조밀한 라벨은 quality="high".

세포호흡 다이어그램 예제. 라벨 목록을 프롬프트에 명시적으로 나열하라고 가이드는 말한다.

슬라이드·차트: 삽화 요청이 아니라 산출물 스펙처럼 쓰기. 캔버스, 위계, 실제 텍스트/데이터, 시각 언어를 프롬프트에 포함. 작은 텍스트·범례가 있으면 quality="high", 가로형 size 사용.

시리즈 A 피치덱 슬라이드 예제. TAM/SAM/SOM 숫자를 프롬프트에 직접 넣는 방식이 포인트다.

편집 패턴: 참조 이미지를 다루는 법

편집은 client.images.edit에 참조 이미지를 넣는 방식입니다. 가이드가 보여주는 패턴:

  • 레이아웃 유지 번역: “텍스트만 스페인어로, 다른 것은 바꾸지 마라” — 디자인 불변 조건을 문장으로
  • 스타일 이전: 참조 이미지에 역할 부여(“이 입력의 스타일로, 새 피사체는 ~”)
  • 정체성 보존 + 의상 변경: 얼굴·피부톤·체형·포즈·정체성은 절대 불변, 옷만 교체. 조명·그림자·색온도까지 원본에 맞추라는 조건이 따라옴
  • 참조 결합: “이미지 2의 개를 이미지 1 장면에, 조명·구도·배경은 유지”
  • 투명 배경 제품 컷아웃: 프롬프트와 API 파라미터 양쪽에 투명 요구. 헤일러/프린징 없는 실루엣, 라벨 가독성 보존
  • 스케치→실사: 레이아웃·비율·원근 보존 + 현실적 재질/조명 추가 + “새 요소/텍스트 추가 금지”
  • 객체 제거: 객체를 명시적으로 지목, 주변은 전부 불변
  • 인물 삽입: 정체성 고정 + 자연스러운 조명 + 프레이밍/시선/상호작용 지정

샴푸 제품을 투명 배경으로 분리한 예제. "체커보드는 투명이 아니다"는 이 가이드의 반복되는 경고다.

의상 변경 예제 프롬프트는 그 자체로 템플릿입니다. “바꿔도 되는 것(옷) / 절대 바꾸면 안 되는 것(얼굴, 표정, 헤어, 비율, 배경, 카메라 앵글) / 매칭 조건(조명, 그림자, 색온도) / 금지(액세서리, 텍스트, 로고, 워터마크)” 4층 구조.

의상 변경 편집 예제. 정체성 불변 조건을 문장으로 늘어놓는 방식이 핵심.

연속 편집: 한 장을 다음 입력으로

샴푸 빌보드 목업. 라벨 텍스트를 'EXACT, verbatim'으로 지정한 케이스.

이전 출력을 다음 edit 입력으로 넘기는 흐름도 예제로 나옵니다. 빌보드 목업을 만든 뒤 후속 요청은 딱 한 줄 — “겨울 저녁, 눈 내리는 장면으로 바꿔라”. 좁은 변경 + 장면 유지. 어떤 변경이 효과가 있었는지 추적 가능해진다는 게 이 방식의 이유입니다.

같은 빌보드의 눈 내리는 저녁 버전. 한 번에 조건 하나만 바꾸는 반복 편집 예제.

동화책 일러스트처럼 캐릭터 일관성이 필요한 작업에서는, 캐릭터 참조를 먼저 만들고 새 장면마다 외형 제약(초록 후드 튜닉, 같은 얼굴, 같은 비율)을 반복해서 써줍니다.

결과 점검 체크리스트

가이드 마지막의 점검 항목:

  • 필수 텍스트가 정확하고 읽히는가? 다이어그램 라벨·관계가 맞는가?
  • 정체성, 제품 형상, 라벨, 참조 디테일이 유지됐는가?
  • 요청한 것만 바뀌었는가?
  • 투명이 필요하면 실제 알파 채널인가, 칠해진 배경인가?

구형 모델 참고: 셧다운 일정

가이드 하단에 구형 레퍼런스가 붙어 있습니다.

  • GPT Image 1 — 2026년 10월 23일 셧다운 예정
  • GPT Image 1.5 — 2026년 12월 1일 셧다운 예정
  • GPT Image 2 — 유지. input_fidelity는 생략(항상 high fidelity), 투명 배경은 프리뷰

1/1.5를 쓰고 있다면 각각의 마감 전에 gpt-image-2로 검증 후 2.5로 넘어가는 경로가 권장됩니다.

총평

이 가이드에서 실무적으로 제일 값진 부분은 화려한 예제가 아니라 제약의 문법입니다. “바꿀 것”과 “지킬 것”을 문장으로 나열하고, 참조에 번호와 역할을 붙이고, 한 번에 하나만 고친다 — 프롬프트 엔지니어링이라기보다 변경 관리에 가깝습니다. 이미지 API는 문장을 잘 쓰는 쪽이 이기는 게 아니라, 유지보수 가능한 요구사항 명세를 쓰는 쪽이 이긴다는 결론입니다.

전체 예제 프롬프트와 실행 가능한 노트북은 openai-cookbook repo에 있습니다.