GPT-6 Sol·Claude Opus 5.5 출시GPT-6 Sol 요금은 5.6 Sol의 절반

GPT Image 2 프롬프트 가이드: 구조, 예시, 실제 생성 이미지

프롬프트 8개, 실제 이미지 9장: GPT Image 2가 정확히 맞춘 점, 제멋대로 더한 점, 고치는 법을 정리했습니다.

Kiki, OmniaKey COO약 11분
이 페이지 목차

GPT Image 2 프롬프트는 OpenAI 순서로 씁니다. 용도, 장면, 주제, 세부 묘사, 스타일을 쓰고 마지막에 제약 조건을 둡니다. 화면에 넣을 글자는 인용부호로 묶고 어디에 놓을지 지정합니다. 편집에서는 무엇을 바꿀지 말하고 무엇을 남길지 나열합니다. 2026년 10월 27일에 프롬프트 8개를 실행한 결과, 인용부호 안의 글자와 사물 개수는 그대로 나왔고 편집에서는 작은 부분이 다시 그려졌습니다.

GPT Image 2 프롬프트의 구조

OpenAI의 프롬프트 가이드는 필요한 이미지에서 출발해 주제, 구성, 스타일, 제약 조건을 다루고, 복잡한 요청은 장면, 주제, 세부 묘사, 제약 조건 순서로 라벨을 붙여 나누라고 합니다. cookbook의 순서는 그 앞에 용도를 하나 더 둡니다. 광고, UI 목업, 인포그래픽처럼 무엇을 위한 이미지인지 먼저 정하면 완성도가 달라집니다. 특별한 문법은 필요 없습니다.

부분쓸 내용실제 프롬프트에서
용도무엇을 위한 이미지인지"a poster for a community event, printed at A3"
장면장소, 빛, 배경"a seamless pale stone backdrop, soft morning window light"
주제주인공과 놓인 자리"a matte black stainless-steel water bottle … slightly left of centre"
세부글자, 재질, 작은 사물"Line 2, below it, smaller: …"
스타일·촬영매체, 렌즈, 색조"screen-printed poster, three colours"
제약 조건넣으면 안 되는 것"no other text, no logos, no watermark"
  • 정확한 텍스트: 인용부호로 묶고 위치와 서체를 적고, 철자가 어려운 단어는 한 글자씩 알려주고, 다른 글자를 넣지 말라고 요청한 뒤 직접 읽어 확인합니다. OpenAI는 글자가 많으면 medium이나 high를 권하지만, low로 돌린 인포그래픽도 라벨이 모두 맞았습니다.
  • 편집: "change only X"라고 쓰고 남길 것을 나열하며 매 라운드 같은 목록을 반복합니다. 특정 영역을 똑같이 유지해야 할 때는 승인한 편집본을 원본 위에 붙여 넣습니다.
  • 참조 이미지: 입력 한 장에 작업 하나. 색조, 질감, 매체 중 하나만 맡기고 새 주제는 따로 설명합니다.
  • 사진: "photorealistic"을 요청하고 프레이밍과 질감을 적습니다. "50mm lens"는 설정이 아니라 결과의 느낌을 알려주는 힌트로 읽습니다.
  • 설정: quality는 low, medium, high, auto입니다. OpenAI는 1024×1024, 1536×1024, 1024×1536을 권하고 2K, 4K, 사용자 지정 크기도 받습니다. 프롬프트 길이 제한은 공개하지 않았습니다. 저희가 쓴 8개는 248에서 607자였습니다.

OpenAI의 프롬프트 가이드에 실린 예시 이미지는 GPT Image 2.5로 만든 것이고 GPT Image 2가 아닙니다. 아래 이미지는 모두 gpt-image-2로 저희가 생성한 것입니다.

이미지를 만든 방법

  • 모델은 gpt-image-2이고, 2026년 10월 27일(베이징 시간)에 OmniaKey의 비동기 미디어 API로 호출 한 번에 이미지 한 장씩, OpenAI가 권하는 세 가지 크기만 썼습니다. 품질은 포스터, 앱 화면, 인포그래픽 한 장이 high, 다른 인포그래픽이 low, 나머지가 medium입니다. 배경, 형식, 압축, 모더레이션 설정은 보내지 않았습니다.
  • 프롬프트 1~4, 7, 8은 생성이고 5, 6은 편집입니다. 편집 입력은 JPEG를 긴 변 1024 px로 줄여 인라인으로 보내 1 MiB 제한 안에 넣었습니다.
  • 소요 시간은 23.1 s에서 96.6 s, 편집은 43.0 s와 78.9 s였습니다. 첫 스타일 전이는 131 s 뒤에 일시적인 "unavailable" 오류로 실패했고 과금되지 않았습니다. 보이는 이미지는 재시도 결과입니다.
  • 이미지는 모두 원본 크기로 보고 글자를 한 자씩 확인하고 사물 개수를 세었으며, 편집은 원본의 해당 영역과 SSIM으로 비교했습니다. SSIM은 1이 완전히 같다는 뜻입니다.
  • OmniaKey는 GPT Image 2 API를 판매하므로 프롬프트는 그쪽으로 돌렸습니다. 아래 가격은 OpenAI의 정가이고 저희 가격이 아닙니다.
  • 출처: OpenAI의 이미지 생성 가이드, 이미지 프롬프트 가이드, cookbook 프롬프트 가이드(현재 archived 표기), API 가격 페이지, 2026년 10월 27일 확인.

Wan 3.0 이미지 투 비디오 클립의 첫 프레임도 GPT Image 2로 만들었습니다(Wan 3.0 프롬프트 가이드). 프롬프트마다 한 번씩만 실행했으므로 이미지는 모두 표본 하나입니다.

프롬프트 8개와 실제 이미지

1. 글자가 정확해야 하는 포스터

정확한 글자 세 줄에 각각 위치와 서체를 줍니다.

prompt
Intended use: a poster for a community event, printed at A3.
Scene: a warm autumn evening in a small-town square, string lights overhead.
Subject: a vintage bicycle with a wicker basket full of apples, centered in the lower half.
Text (exact, render each line once):
Line 1, top, large bold serif: "HARVEST NIGHT MARKET"
Line 2, below it, smaller: "Saturday, November 8 · 5–10 pm"
Line 3, bottom, small caps: "Old Mill Square"
Style: screen-printed poster, three colours (deep red, mustard, cream), visible paper grain.
Constraints: no other text, no logos, no watermark.

뜻: A3로 인쇄할 동네 행사 포스터입니다. 가을 저녁 작은 광장, 머리 위 전구 줄, 아래쪽 절반에 사과가 담긴 바구니를 얹은 자전거를 두고, 세 줄의 글자에 각각 위치와 서체를 지정해 세 가지 색 스크린 인쇄로 마무리합니다.

사과 바구니를 얹은 자전거와 보름달이 그려진 스크린 인쇄풍 마켓 포스터
세 줄 모두 정확했고 가운뎃점과 줄표도 들어갔습니다. 시키지 않은 참나무 잎과 달이 붙었습니다.

설정: 생성, 1024x1536, 품질 high, 50.3 s.

결과: 세 줄 모두 정확했고 작은 추가가 두 개 나왔습니다.

  • "HARVEST NIGHT MARKET"은 크고 굵은 세리프로 두 줄에 걸쳐 들어갔고 양옆에 참나무 잎이 하나씩 붙었습니다. "Saturday, November 8 · 5–10 pm"는 가운뎃점과 줄표까지 그대로입니다.
  • "OLD MILL SQUARE"는 자간을 넓힌 작은 대문자로 나왔고 광장, 첨탑, 빨간 자전거도 모두 있으며 다른 글자는 없습니다. 여기에 시키지 않은 잎과 달이 더해졌습니다.

변경:

  • 제목을 한 줄에 넣어야 하면 그대로 "title on a single line"이라고 씁니다.
  • 작은 추가를 막으려면 그것을 나열합니다. "no leaves, no moon"을 시도합니다.

2. 구조를 한 칸씩 채운 제품 사진

구조의 모든 칸을 물병 하나에 맞춰 채웁니다.

prompt
Intended use: the hero image on an online shop's product page.
Scene: a seamless pale stone backdrop, soft morning window light from the left, a gentle shadow falling to the right.
Subject: a matte black stainless-steel water bottle with a bamboo cap, standing upright, slightly left of centre.
Details: small water droplets on the bottle, a sprig of fresh mint lying beside it, visible wood grain on the cap.
Photography: photorealistic product photo, 100mm macro lens look, sharp focus on the bottle, background softly out of focus.
Constraints: no text, no logo, no label on the bottle, no other objects.

뜻: 온라인 쇼핑몰 상품 페이지의 대표 이미지입니다. 무광 검정 스테인리스 물병에 대나무 뚜껑, 옅은 돌 배경, 왼쪽에서 들어오는 아침 창빛, 물방울과 민트를 곁들입니다.

옅은 돌 위에 세워진 무광 검정 물병과 대나무 뚜껑, 옆에 민트
프롬프트의 요소가 모두 화면에 있고 그 밖의 것은 없습니다.

설정: 생성, 1536x1024, 품질 medium, 96.6 s.

결과: 프롬프트의 요소가 모두 들어갔고 다른 것은 없습니다.

  • 가운데에서 살짝 왼쪽에 대나무 뚜껑이 달린 무광 검정 물병이 서 있고, 표면 전체에 물방울, 아래에는 민트, 왼쪽에서 온 창틀 그림자가 돌 위를 가로지릅니다.
  • 배경은 부드럽게 흐려진 채로 남아 있고 글자, 로고, 라벨, 다른 사물은 없습니다.

변경:

  • 흰 제품 배경이 필요하면 장면에 적습니다. "seamless pure white background". OmniaKey API는 항상 불투명 PNG를 돌려줍니다.

3. 같은 인포그래픽을 높은 품질과 낮은 품질로

프롬프트 하나를 품질 설정만 바꿔 두 번 실행합니다.

prompt
Intended use: a one-page explainer for a coffee shop's blog.
Create a clean infographic titled "HOW POUR-OVER COFFEE WORKS".
Layout: four numbered steps in one vertical column; each step has a simple flat illustration on the left and a short label on the right.
Step labels (exact text):
1. "Grind 15 g of beans"
2. "Heat water to 94 °C"
3. "Bloom for 30 seconds"
4. "Pour slowly for 3 minutes"
Style: flat vector illustration, cream background, dark brown and teal accents, plenty of white space.
Constraints: no other text, no logos, every label spelled exactly as written.

뜻: 커피숍 블로그에 쓸 한 페이지 설명 그림입니다. 번호가 붙은 네 단계를 세로 한 줄로 놓고 각 단계 왼쪽에 단순한 플랫 일러스트, 오른쪽에 짧은 라벨을 두며, 크림색 배경에 진한 갈색과 청록으로 마무리합니다.

같은 커피 인포그래픽을 높은 품질과 낮은 품질로 나란히 놓은 것
같은 프롬프트에 왼쪽이 높은 품질, 오른쪽이 낮은 품질입니다. 싼 쪽은 아무것도 더하지 않았고 라벨 높이도 맞췄습니다.

설정: 생성, 1024x1536, 두 번 실행: 품질 high(73.9 s)와 품질 low(50.6 s).

결과: 둘 다 라벨 철자가 맞았고 높은 품질 이미지가 글자를 더했습니다.

  • 둘 다 제목을 정확히 쓰고 분쇄기, 케틀, 드리퍼, 붓는 케틀을 그렸으며 네 라벨을 모두 정확히, "94 °C"까지 찍었습니다.
  • high는 케틀 옆에 두 번째 "94 °C"를 더하고 라벨을 동그라미 아래에 두었습니다. low는 모든 라벨을 번호와 같은 높이로 유지하고 아무것도 더하지 않았습니다.

변경:

  • 먼저 low로 시작하고, 프롬프트를 고쳐 쓰기 전에 위로 올려 비교합니다.
  • 정렬이 중요하면 "labels level with the step numbers"라고 씁니다.

4. 사실적인 인물 사진

사진 용어에 실제 피부 질감을 더합니다.

prompt
Create a photorealistic candid portrait of a fictional woman in her fifties, a potter, sitting at her wheel in a small studio.
Framing: medium close-up at eye level, like a 35mm film photograph taken with a 50mm lens, shallow depth of field.
Details: real skin texture (pores, fine lines, freckles), grey hair tied back, a denim apron with clay stains, wet clay on her hands, shelves of unglazed bowls blurred behind her.
Lighting: soft daylight from a window on the left.
Constraints: no text, no watermark, natural colours, no heavy retouching.

뜻: 오십 대 도예가 여성이 작은 작업실에서 물레 앞에 앉은 사실적인 스냅 사진입니다. 눈높이의 중간 클로즈업, 35mm 필름 사진에 50mm 렌즈를 쓴 느낌, 얕은 심도, 실제 피부 질감을 지정합니다.

회색 머리에 진흙 묻은 앞치마를 두른 도예가가 물레 앞에서 그릇을 빚는 모습
질감은 사진처럼 보입니다. 카메라를 보고 웃고 있는데 프롬프트는 그것을 요청하지 않았습니다.

설정: 생성, 1024x1536, 품질 medium, 83.1 s.

결과: 피부 질감은 실제 같았고 표정은 연출되었으며 구도는 넓어졌습니다.

  • 회색 머리를 뒤로 묶고 주근깨와 잔주름, 진흙 자국이 있는 앞치마, 진흙 묻은 손으로 그릇을 빚고 있으며 뒤로는 유약을 바르지 않은 그릇이 놓여 있고 왼쪽에서 햇빛이 들어옵니다.
  • 카메라를 보며 웃어 연출한 사진처럼 보이고, 구도는 머리부터 물레까지로 요청보다 넓습니다.

변경:

  • 자연스러운 표정을 원하면 시선을 적습니다. "looking down at the clay, not at the camera".
  • 구도도 쉬운 말로 덧붙입니다. "from the shoulders up" 같은 표현입니다.

5. 스타일 전이: 입력 이미지에는 작업 하나만

입력이 프롬프트 1의 포스터이고 스타일만 빌리는 편집입니다.

prompt
Use the input image only as a style reference: copy its screen-printed look, its three-colour palette (deep red, mustard, cream) and its paper grain.
New subject: a lighthouse on a rocky headland at dusk, with a small sailboat on the sea below it.
Layout: the lighthouse centered, generous empty sky at the top.
Constraints: no text of any kind, no bicycle, no apples, no logos.

뜻: 입력 이미지는 스타일 참조로만 씁니다. 스크린 인쇄 질감과 세 가지 색, 종이 입자를 그대로 가져오고, 주제는 황혼의 바위 곶 위 등대와 그 아래 바다의 작은 범선으로 바꿉니다.

마켓 포스터와 황혼의 바위 곶 위 등대를 나란히 놓은 것
색과 종이 질감은 그대로 넘어왔습니다. 시키지 않은 등대지기 오두막이 따라붙었습니다.

설정: 편집, 입력은 프롬프트 1의 포스터, 1024x1536, 품질 medium, 재시도에서 43.0 s(첫 시도는 일시적 오류로 과금 없음).

결과: 색과 종이 질감은 넘어왔고 건물이 하나 늘었습니다.

  • 황혼의 바위 곶 위 등대와 그 아래 범선이 포스터의 세 가지 색과 인쇄 입자로 나왔고, 위에는 넓은 하늘이 있으며 글자, 자전거, 사과는 없습니다.
  • 등대 옆에 작은 등대지기 오두막이 더해졌습니다.

변경:

  • 다른 것이 하나도 나오면 안 되면 나열합니다. "no buildings except the lighthouse"를 시도합니다.

6. 한 곳만 바꾸고 나머지는 유지

프롬프트 2의 제품 사진을 편집합니다. 변경은 하나, 유지 목록은 여덟 항목입니다.

prompt
Change only the colour of the bottle, from matte black to matte sage green.
Keep everything else exactly the same: the bamboo cap, the mint sprig, the water droplets, the lighting, the shadow, the camera angle, the framing and the stone background.

뜻: 물병 색만 무광 검정에서 무광 세이지 그린으로 바꿉니다. 대나무 뚜껑, 민트, 물방울, 조명, 그림자, 카메라 각도, 구도, 돌 배경은 그대로 유지합니다.

같은 자리에서 변경 전 검정 물병과 변경 후 세이지 그린 물병
색은 요청대로 바뀌었습니다. 원본 크기로 보면 민트, 물방울, 뚜껑 나뭇결이 다시 그려졌습니다.

설정: 편집, 입력은 프롬프트 2의 제품 사진, 1536x1024, 품질 medium, 78.9 s.

결과: 색은 바뀌었고 작은 부분이 다시 그려졌습니다.

  • 같은 자리에 무광 세이지 그린 물병이 있고 뚜껑, 민트, 물방울, 빛, 돌 배경은 언뜻 그대로입니다.
  • 원본 크기에서는 민트가 움직이고 물방울이 밀렸으며 뚜껑 나뭇결이 다시 그려졌습니다. SSIM(1이 완전히 같음)은 벽 0.985, 상판 0.93, 민트 0.78, 뚜껑 0.65, 병 0.33입니다.

변경:

  • 어떤 영역을 픽셀까지 같게 유지해야 하면 승인한 편집본을 원본 위에 붙여 넣습니다.
  • 편집할 때마다 유지 목록을 다시 씁니다.

7. 정확한 개수

사물 개수를 맞추는 방법을 OpenAI는 공개하지 않았으므로 이 레시피는 저희 시험입니다.

prompt
Intended use: a test of exact object counts.
A top-down photo of a light wooden table with exactly seven red apples and exactly three green pears, arranged in one loose row, nothing else on the table.
Photography: photorealistic, soft even daylight, straight top-down view.
Constraints: exactly 7 apples and exactly 3 pears, no other fruit, no text.

뜻: 밝은 나무 테이블을 위에서 찍은 사진에 빨간 사과 일곱 개와 초록 배 세 개만 느슨한 한 줄로 놓습니다. 테이블 위에는 다른 것을 두지 않습니다.

밝은 나무 위에 빨간 사과 일곱 개와 초록 배 세 개가 같은 간격으로 놓인 모습
일곱과 셋은 정확합니다. 느슨한 줄이어야 했는데 자로 그은 듯 반듯하게 나왔습니다.

설정: 생성, 1024x1024, 품질 medium, 23.1 s.

결과: 일곱과 셋은 정확했고 줄은 자처럼 반듯했습니다.

  • 빨간 사과가 정확히 일곱 개, 초록 배가 세 개이고 다른 것은 없으며 위에서 내려다본 배는 옆으로 누워 있습니다.
  • 줄이 완전히 반듯하고 간격도 균일해서 "느슨하게"는 지켜지지 않았습니다.

변경:

  • 배치를 쉬운 말로 적습니다. "scattered in a loose, uneven line".
  • 숫자는 설명과 제약 조건 양쪽에 씁니다. 저희도 그렇게 했습니다.

8. UI 글자가 정확해야 하는 앱 화면

휴대폰 틀 안에 인터페이스 글자 여섯 개를 넣습니다.

prompt
Intended use: a design mockup for a pitch deck.
Create a realistic mobile app screen for a fictional plant-watering app called "Sprout", shown inside a plain modern phone frame on a light grey background.
Screen content (exact text):
Header: "Good morning, Maya"
Card 1: "Monstera — water today"
Card 2: "Fiddle-leaf fig — in 2 days"
Card 3: "Snake plant — in 6 days"
Bottom button: "Log watering"
Style: clean rounded cards, soft green accents, readable sans-serif text, generous spacing.
Constraints: no other text, no real brand logos, all text spelled exactly as written.

뜻: 발표 자료에 쓸 앱 화면 목업입니다. 가상의 물주기 앱 "Sprout" 화면을 옅은 회색 배경의 현대적인 휴대폰 틀 안에 만들고, 상단 인사, 카드 세 장, 하단 버튼의 글자를 지정합니다.

식물에 물을 주는 앱 화면이 뜬 휴대폰, 식물 카드 세 장과 초록 버튼
요청한 단어는 모두 맞게 쓰였습니다. 줄표는 별도 라벨로 나뉘었고 상태 표시줄이 생겼습니다.

설정: 생성, 1024x1536, 품질 high, 55.6 s.

결과: 단어 철자는 모두 맞았고 배치는 세 곳이 달라졌습니다.

  • 최근 iPhone 모양의 틀이 옅은 회색 위에 있고 "Good morning, Maya"는 두 줄, 식물 카드 세 장과 초록 "Log watering" 버튼이 있습니다. 단어 철자는 모두 맞습니다.
  • 카드마다 이름과 상태가 나뉘어 줄표가 사라졌고 "Sprout"은 어디에도 나오지 않으며 "9:41" 상태 표시줄이 더해졌습니다.

변경:

  • 화면에 나와야 할 줄은 그대로 인용하고 앱 이름은 위치와 함께 글자로 줍니다.
  • 제약 조건에 "no status bar"를 더합니다.

자주 나오는 실패와 고치는 법

OpenAI는 약한 지점으로 글자의 정확한 배치, 서로 다른 이미지에서 같은 인물이나 브랜드의 일관성, 배치가 민감한 구성에서의 정확한 위치 세 가지를 듭니다.

문제고치는 법출처
철자가 틀리거나 글자가 늘어남인용부호로 묶고 위치를 적고 다른 글자를 막은 뒤 읽어 확인OpenAI 가이드, 프롬프트 1
어려운 단어가 깨짐한 글자씩 알려주기OpenAI 가이드
편집이 요청보다 많이 바꿈"Change only X"라고 쓰고 남길 것을 나열하고, 움직이면 안 되는 부분은 붙여 넣기OpenAI 가이드, 프롬프트 6
편집을 거듭하면 세부가 흐트러짐매 라운드 유지 목록을 반복OpenAI 가이드
배치가 조금 어긋남위치를 지정하고 품질 설정을 비교프롬프트 3
원한 순간이 아니라 연출된 표정인물의 시선을 적기프롬프트 4
시키지 않은 것이 생김제약 조건에 나열프롬프트 1, 5, 8
이미지마다 인물이나 브랜드가 달라짐핵심 세부를 매번 다시 적기OpenAI 가이드

이미지 한 장의 가격

OpenAI는 GPT Image 2를 토큰 단위로 매깁니다. 이미지 입력이 100만 토큰당 $8, 이미지 출력이 $30, 텍스트 입력이 $5이고 Batch는 절반입니다. 세 가지 크기의 장당 출력 가격도 공개합니다(출력만, 2026년 10월 27일 확인).

품질1024×10241024×15361536×1024
Low$0.006$0.005$0.005
Medium$0.053$0.041$0.041
High$0.211$0.165$0.165

품질 high 인포그래픽은 low의 33배인 $0.165 대 $0.005였고, 글자가 더 들어간 쪽도 그 이미지였습니다. 싸게 초안을 만들고 배치가 버티면 올리는 편이 이득입니다. 이미지 아홉 장은 입력 토큰을 빼고 약 $0.72이고, 입력 토큰은 이 가격에 포함되지 않습니다. OmniaKey의 현재 요금은 GPT Image 2 모델 페이지에 있습니다.

이 프롬프트를 API로 실행하기

OmniaKey 미디어 API는 세 단계입니다. 작업을 만들고, 그 작업이 끝날 때까지 폴링하고, 결과물을 내려받습니다. 아래는 프롬프트 3을 low로 보낸 요청의 최소 버전이며 재시도와 로그는 뺐습니다.

bash
pip install requests
export OMNIAKEY_API_KEY="your-key"
python
import os
import time
import uuid

import requests

API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['OMNIAKEY_API_KEY']}"}

PROMPT = """Intended use: a one-page explainer for a coffee shop's blog.
Create a clean infographic titled "HOW POUR-OVER COFFEE WORKS".
Layout: four numbered steps in one vertical column; each step has a simple flat illustration on the left and a short label on the right.
Step labels (exact text):
1. "Grind 15 g of beans"
2. "Heat water to 94 °C"
3. "Bloom for 30 seconds"
4. "Pour slowly for 3 minutes"
Style: flat vector illustration, cream background, dark brown and teal accents, plenty of white space.
Constraints: no other text, no logos, every label spelled exactly as written."""

# 1. Create the task. Reuse the same Idempotency-Key only when retrying this exact request.
resp = requests.post(
    API,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json={
        "model": "gpt-image-2",
        "type": "image",
        "operation": "generate",
        "input": {"prompt": PROMPT},
        "parameters": {"size": "1024x1536", "quality": "low"},
    },
    timeout=30,
)
resp.raise_for_status()
task = resp.json()
print("task:", task["id"], task["status"])

# 2. Poll the same task until it finishes. Slow is not failed: keep polling this id.
while task["status"] in ("queued", "processing"):
    time.sleep(4)
    task = requests.get(f"{API}/{task['id']}", headers=HEADERS, timeout=30).json()

if task["status"] != "succeeded":
    raise SystemExit(f"task ended {task['status']}: {task.get('error')}")

# 3. Download the image now: the signed URL lasts about an hour.
asset = task["assets"][0]
with open("pour-over.png", "wb") as f:
    f.write(requests.get(asset["url"], timeout=60).content)
print("saved pour-over.png", asset["mime_type"], asset["byte_size"], "bytes")

편집은 operation만 바꾸고 원본 이미지를 인라인으로 넣는 같은 작업입니다.

python
{
    "model": "gpt-image-2",
    "type": "image",
    "operation": "edit",
    "input": {
        "prompt": "Change only the colour of the bottle, from matte black to matte sage green. Keep everything else exactly the same.",
        "image": {"data": "<base64>", "mime_type": "image/jpeg"},
    },
    "parameters": {"size": "1536x1024", "quality": "medium"},
}
  • 참조 이미지가 여러 장이면 "image" 대신 "images": [...]에 넣습니다.
  • 요청 전체는 1 MiB로 제한되므로 원본을 먼저 줄입니다. 저희도 그렇게 했습니다.
  • OmniaKey에서 size는 1024x1024, 1536x1024, 1024x1536 중 하나이고 n은 1이어야 합니다.
  • 배경, 형식, 압축, 모더레이션 설정은 효과가 없습니다. 결과는 불투명 PNG입니다.
  • 보통 25–60초 걸리고 저희는 23에서 97 s였습니다. 서명 URL은 약 한 시간 유효하므로 작업이 성공하면 바로 내려받습니다.

OmniaKey의 현재 요금은 GPT Image 2 모델 페이지, API 세부 내용은 이미지 API 문서에 있습니다.

자주 묻는 질문

GPT Image 2 프롬프트는 얼마나 길게 쓸 수 있나요?

OpenAI는 상한을 공개하지 않았습니다. 생성 가이드, 프롬프트 가이드, 모델 페이지, API 레퍼런스 어디에도 글자 수나 토큰 한도가 없습니다. 저희 여덟 개는 248에서 607자, 42에서 100단어였습니다.

글자와 로고가 더 생기지 않게 하려면?

빼야 할 것을 적습니다. "no other text, no logos, no watermark"처럼 지정하고 결과를 한 글자씩 확인합니다. 포스터는 깔끔하게 나왔지만 품질 high 인포그래픽에는 두 번째 "94 °C"가 들어갔습니다.

품질 high는 값어치가 있나요?

어떤 인포그래픽에서는 손해였습니다. low는 라벨을 모두 맞추고 아무것도 더하지 않았고, high는 33배 비용으로 "94 °C"를 하나 더 찍었습니다. OpenAI는 low로 초안을 만들라고 권하고 설정을 올린다고 결과가 보장되지는 않는다고 밝힙니다.

GPT Image 2로 투명 배경을 만들 수 있나요?

됩니다. 현재 프리뷰 기능이고 PNG나 WebP가 필요합니다. JPEG는 투명을 담지 못합니다. OmniaKey API에서는 항상 불투명 PNG가 나오므로 깔끔한 상품 흰 배경이 필요하면 프롬프트 2처럼 장면에 이음새 없는 흰 배경을 적습니다.

GPT Image 2와 GPT Image 2.5 중 무엇을 써야 하나요?

GPT Image 2는 2026년 4월 21일에, 2.5 모델 두 개는 9월 8일에 나왔습니다. OpenAI 프롬프트 가이드는 2.5 Flare를 품질은 비슷하고 더 빠르다고, 2.5 Sunburst를 품질이 더 높다고 설명합니다. 비교는 GPT Image 2.5와 GPT Image 2, GPT Image 2와 Nano Banana 2에 정리했습니다.

업데이트 기록

  • 2026년 10월 28일: 첫 버전, 프롬프트 여덟 개는 2026년 10월 27일에 실행했습니다.

이 글에서 다루는 모델

GPT Image 2AI 이미지프롬프트텍스트로 이미지이미지 편집

관련 글

최근 글