AI 이미지 생성14 min

GPT Image 2 4K 생성: 지원 해상도와 저장 파일 검증

GPT Image 2에서 3840x2160 또는 2160x3840을 요청하고, 사용자 지정 크기의 네 가지 조건을 검사한 뒤, Image API 결과를 저장·검증하는 방법을 설명합니다.

Yingtu AI Editorial
Yingtu AI Editorial
YingTu Editorial
2026년 4월 25일
업데이트 2026년 7월 22일
14 min
GPT Image 2에서 4K 크기를 요청하고 저장 파일과 배포 파일의 실제 해상도를 검증하는 흐름
yingtu.ai

목차

감지된 제목이 없습니다

GPT Image 2 API에서 가로 4K는 size: "3840x2160", 세로 4K는 size: "2160x3840"으로 요청할 수 있습니다. 다만 두 크기 모두 OpenAI가 experimental로 분류하는 고픽셀 범위입니다. 지원된다는 뜻과 납품 가능한 파일이 보장된다는 뜻은 같지 않습니다.

실무에서는 세 단계를 분리해야 합니다. 요청 전에 크기가 네 가지 조건을 모두 만족하는지 검사하고, 응답의 base64 데이터를 파일로 저장한 뒤 실제 너비·높이·형식을 읽고, 마지막으로 CMS나 CDN이 공개하는 파생본도 다시 측정합니다. 프롬프트에 “4K”라고 쓰는 것만으로는 픽셀 수가 정해지지 않습니다.

원하는 결과써야 할 방법반드시 확인할 것
한 번의 가로 4K 생성Image API + 3840x2160저장된 원본이 실제로 3840×2160인지
한 번의 세로 4K 생성Image API + 2160x3840후속 크롭이 중요한 영역을 자르지 않는지
대화·도구 흐름 안의 이미지Responses API의 image generation toolmainline 모델과 이미지 도구 비용, 결과 파일
검증된 2K 결과를 크게 납품별도 업스케일“API 직접 4K”로 잘못 표기하지 않았는지

“네이티브 2K”와 “4K 지원”은 왜 함께 보일까

한국어 검색 결과에서는 GPT Image 2의 상한을 2K라고 설명하는 글과 4K 생성을 지원한다고 설명하는 글이 동시에 보입니다. 현재 OpenAI 이미지 생성 가이드를 기준으로 정리하면 모순이 아닙니다.

  • 2048x20482048x1152는 문서에 나온 주요 2K 크기입니다.
  • 3840x21602160x3840도 문서에 나온 주요 4K 요청 크기입니다.
  • 총 픽셀 수가 2560x1440, 즉 3,686,400픽셀을 넘는 출력은 experimental입니다.

따라서 “2K까지만 가능”은 현재 공식 크기 목록을 충분히 설명하지 못하고, “4K가 완전히 안정적이다”도 공식 경계를 넘어선 표현입니다. 가장 정확한 한국어 표현은 4K 크기를 직접 요청할 수 있지만 실험적 범위이므로 저장 결과를 검증해야 한다입니다.

여기서 “직접 요청”은 API의 size에 픽셀 치수를 넣었다는 뜻입니다. 생성 모델 내부가 어떤 방식으로 픽셀을 구성했는지까지 입증하는 말은 아닙니다. 납품 문서에는 “GPT Image 2 API에서 3840×2160 요청, 저장 원본 3840×2160 확인”처럼 관찰 가능한 사실만 적는 편이 안전합니다.

4K 요청 전에 네 가지 크기 규칙을 검사한다

GPT Image 2의 사용자 지정 size는 흔히 쓰는 화면 규격인지가 아니라 다음 네 조건을 동시에 만족하는지로 판단합니다.

  1. 긴 변이 3840px 이하여야 합니다.
  2. 너비와 높이가 모두 16px의 배수여야 합니다.
  3. 긴 변과 짧은 변의 비율이 3:1을 넘으면 안 됩니다.
  4. 총 픽셀 수가 655,360 이상 8,294,400 이하여야 합니다.

요청 크기판정이유
3840x2160유효·experimental주요 4K 예시이며 총 8,294,400픽셀
2160x3840유효·experimental세로 4K 예시, 같은 총 픽셀 수
3840x1280유효·experimental정확히 3:1이며 두 변이 16의 배수
3840x1200무효비율이 3.2:1로 제한 초과
4096x2160무효긴 변이 3840px 초과
4096x4096무효긴 변과 총 픽셀 수 모두 초과

3840x2160은 네 규칙의 총 픽셀 상한과 정확히 일치합니다. 그래서 계산에서 <=<를 바꾸거나, 가로·세로 중 하나만 16의 배수인지 확인하면 정상 크기를 거부하거나 비정상 크기를 통과시킬 수 있습니다.

hljs js
function validateGptImage2Size(width, height) {
  const longEdge = Math.max(width, height);
  const shortEdge = Math.min(width, height);
  const totalPixels = width * height;
  const errors = [];

  if (longEdge > 3840) errors.push("긴 변이 3840px를 초과함");
  if (width % 16 !== 0 || height % 16 !== 0) {
    errors.push("너비와 높이가 모두 16의 배수여야 함");
  }
  if (longEdge / shortEdge > 3) errors.push("화면비가 3:1을 초과함");
  if (totalPixels < 655_360 || totalPixels > 8_294_400) {
    errors.push("총 픽셀 수가 허용 범위를 벗어남");
  }

  return { valid: errors.length === 0, totalPixels, errors };
}

console.log(validateGptImage2Size(3840, 2160)); // valid: true
console.log(validateGptImage2Size(3840, 1200)); // valid: false

검증기는 단순히 false를 반환하지 말고 실패한 규칙을 알려 주는 편이 좋습니다. 그래야 크기 오류를 프롬프트 문제나 모델 품질 문제로 오인하지 않습니다.

화면비, 요청 픽셀, 업스케일을 구분한다

16:9는 화면의 모양이고, 3840x2160은 정확한 픽셀 요청입니다. 2048x1152도 같은 16:9이므로 화면비만 지정해서는 2K와 4K를 구분할 수 없습니다. 반대로 2048×1152 파일을 외부 도구에서 3840×2160으로 키웠다면 최종 파일은 4K 치수지만 GPT Image 2에 4K를 직접 요청한 결과는 아닙니다.

용어실제로 정하는 것확인 방법
화면비가로와 세로의 비례16:9, 1:1, 9:16처럼 기록
API size요청하는 너비와 높이요청 로그의 픽셀 문자열 확인
quality렌더링 노력 수준low, medium, high, auto 기록
업스케일이미 존재하는 파일의 픽셀 확대원본과 확대본을 별도 보관

초안 단계에서는 low와 1K·2K 크기로 구도와 한국어 문구를 먼저 다듬는 것이 합리적입니다. 최종 캔버스가 확정된 뒤 4K를 요청하면 실험적 고해상도 호출을 낭비하는 횟수를 줄일 수 있습니다. 반대로 처음부터 정확한 4K 원본이 계약 조건이라면 직접 4K 요청과 파일 검증을 한 묶음으로 자동화해야 합니다.

Image API로 생성하고 즉시 저장·검증하기

한 장을 직접 생성하거나 편집하는 작업에는 Image API가 가장 단순합니다. Image API에서는 model: "gpt-image-2"를 직접 선택합니다. 현재 GPT Image 2 모델 페이지는 고정 스냅샷으로 gpt-image-2-2026-04-21도 표시하지만, 특별히 버전을 고정할 이유가 없다면 기본 별칭을 사용할 수 있습니다.

다음 예시는 Node.js에서 이미지를 생성하고 저장한 뒤 sharp로 실제 메타데이터를 검사합니다. 코드는 설명용이며, 실행 전 현재 OpenAI SDK와 sharp를 프로젝트 의존성으로 설치해야 합니다.

hljs js
import OpenAI from "openai";
import { writeFile } from "node:fs/promises";
import sharp from "sharp";

const openai = new OpenAI();
const expected = { width: 3840, height: 2160 };
const outputPath = "launch-hero-3840x2160.png";

const result = await openai.images.generate({
  model: "gpt-image-2",
  prompt: [
    "한국 SaaS 제품의 출시용 히어로 이미지.",
    "중앙 제품은 유지하고 오른쪽 35%는 제목을 위한 빈 공간.",
    "이미지 안에는 글자와 로고를 넣지 않는다."
  ].join(" "),
  size: `${expected.width}x${expected.height}`,
  quality: "high"
});

const imageBase64 = result.data?.[0]?.b64_json;
if (!imageBase64) throw new Error("이미지 base64 결과가 없습니다.");

await writeFile(outputPath, Buffer.from(imageBase64, "base64"));

const metadata = await sharp(outputPath).metadata();
if (metadata.width !== expected.width || metadata.height !== expected.height) {
  throw new Error(
    `크기 불일치: 요청 ${expected.width}x${expected.height}, ` +
    `실제 ${metadata.width}x${metadata.height}`
  );
}
if (metadata.format !== "png") {
  throw new Error(`예상하지 않은 형식: ${metadata.format}`);
}

console.log({ outputPath, ...metadata });

Image API는 base64 인코딩 이미지 데이터를 돌려줍니다. 기본 형식은 PNG이고 JPEG와 WebP도 요청할 수 있습니다. JPEG·WebP의 output_compression은 파일 크기를 줄이는 데 유용하지만, 압축 뒤 작은 한국어 글자와 가는 선이 손상되지 않았는지 별도 시각 검수가 필요합니다.

Responses API는 모델 선택 방식이 다르다

이미지 생성이 대화, 여러 도구, 반복 편집 안에 들어간다면 Responses API가 알맞습니다. 여기서는 지원되는 mainline 모델model에 넣고 image_generation 도구를 제공합니다. 이미지 도구가 GPT Image 모델 선택을 처리하므로, 도구 안에 model: "gpt-image-2"를 넣는 일반 예시는 피해야 합니다.

hljs js
import OpenAI from "openai";
import { writeFile } from "node:fs/promises";

const openai = new OpenAI();

const response = await openai.responses.create({
  model: "gpt-5.6",
  input: "한국어 출시 메모를 이해한 뒤 3840x2160 히어로 이미지를 생성해 주세요.",
  tools: [{
    type: "image_generation",
    size: "3840x2160",
    quality: "high"
  }]
});

const call = response.output.find(
  (item) => item.type === "image_generation_call"
);
if (!call?.result) throw new Error("image generation 결과가 없습니다.");

await writeFile(
  "responses-hero-3840x2160.png",
  Buffer.from(call.result, "base64")
);

저장 뒤 메타데이터 검사는 Image API 예시와 똑같이 적용합니다. 또한 Responses API는 이미지 생성 비용 외에 선택한 mainline 모델의 토큰 사용량도 발생합니다. 단일 이미지 한 장이 목적이라면 이 추가 흐름이 필요 없는 Image API가 더 명확합니다.

API 성공 뒤에도 원본과 배포본을 따로 검사한다

200 OK나 SDK 객체가 반환됐다는 사실은 생성 요청이 처리됐다는 뜻일 뿐, 사용자가 보는 파일까지 4K라는 뜻은 아닙니다. 다음 네 지점을 구분해 기록하면 원인을 빠르게 찾을 수 있습니다.

  1. 요청: model, size, quality, format, request ID를 기록합니다.
  2. 디코딩 원본: 저장 경로, 실제 너비·높이·형식·바이트 수를 기록합니다.
  3. 업로드 원본: CMS가 받은 파일이 같은지 해시나 메타데이터로 확인합니다.
  4. 공개 파생본: CDN URL, srcset, 모바일 후보가 어떤 크기를 제공하는지 측정합니다.

예를 들어 저장 원본은 3840×2160인데 브라우저가 1920×1080 이미지를 내려받는다면 생성 실패가 아니라 배포 파이프라인 문제입니다. 반대로 저장 직후부터 크기가 다르면 CDN을 보기 전에 요청값, 응답 처리와 이미지 디코딩부터 확인해야 합니다.

납품 승인 조건도 코드와 문서에 명시하는 것이 좋습니다.

  • 저장 원본의 실제 크기가 요청값과 정확히 같은가?
  • 파일 형식이 예상과 같고 정상적으로 열리는가?
  • 중요한 한국어 문구, 숫자, 로고, 손가락, 제품 모양을 사람이 확인했는가?
  • 압축·크롭·리사이즈 뒤에도 필요한 품질과 안전 영역이 남는가?
  • 최종 공개 URL이 약속한 픽셀 자산을 실제로 제공하는가?

sizequality는 시각적 정확성을 보장하지 않습니다. 픽셀 검증을 통과해도 글자가 틀리거나 구도가 어긋나면 납품 결과로 승인해서는 안 됩니다.

가격과 접근 권한은 4K 크기와 별도 계약이다

2026년 7월 22일 확인 기준 OpenAI API 가격표는 GPT Image 2 표준 요금을 이미지 입력 100만 토큰당 $8, 캐시 이미지 입력 $2, 이미지 출력 $30, 텍스트 입력 $5, 캐시 텍스트 입력 $1.25로 표시합니다. Batch 요금은 이보다 낮습니다. 그러나 공식 비교표가 모든 4K 요청에 적용되는 고정 “한 장 가격”을 제공하는 것은 아닙니다.

실제 예산은 요청 크기와 quality에 대한 최신 공식 계산기에서 시작하고, 텍스트 입력, 편집용 이미지 입력, 재시도, Responses API의 mainline 모델 사용량을 더해야 합니다. 더 자세한 계산은 별도 GPT Image 2 이미지당 비용 가이드에서 확인할 수 있습니다.

접근 권한도 크기 유효성과 분리합니다. 같은 날짜의 모델 페이지에서 API Free 사용 등급은 GPT Image 2를 지원하지 않으며, Tier 1~5의 IPM은 각각 5/20/50/150/250으로 표시됩니다. 다만 실제 한도는 조직·프로젝트·사용 등급에 따라 달라지고, Organization Verification이 필요할 수 있습니다. 테스트 직전 개발자 콘솔의 실제 limits 화면을 기준으로 삼으세요. 429나 호출량 문제가 핵심이라면 GPT Image 2 사용 제한 가이드가 더 맞는 문서입니다.

ChatGPT Images 2.0은 같은 API 계약이 아니다

gpt-image-2는 API 모델 ID이고, ChatGPT Images 2.0은 소비자 제품 이름입니다. ChatGPT Images 도움말은 현재 모든 ChatGPT 요금제에서의 이용, 화면비 선택, 투명 배경 생성을 설명합니다. 이 UI 기능을 API의 size, 토큰 가격, IPM 또는 모델 파라미터로 옮겨 적으면 안 됩니다.

특히 직접 GPT Image 2 API는 현재 background: "transparent"를 지원하지 않습니다. ChatGPT에서 투명 배경을 만들 수 있다는 사실이 API 파라미터 지원을 넓혀 주지 않습니다. 반대로 API Free 등급이 지원되지 않는다고 해서 ChatGPT 무료 사용자가 소비자 이미지 기능을 전혀 쓸 수 없다는 뜻도 아닙니다. ChatGPT의 수치형 생성 한도는 변동 가능성이 크므로 API 용량 계획에 사용하지 마세요.

실패할 때는 프롬프트보다 계약 지점을 먼저 본다

invalid size 또는 400 오류

긴 변, 16의 배수, 3:1 비율, 총 픽셀 수를 차례로 로그에 남깁니다. 4096x2160처럼 익숙한 규격도 현재 최대 긴 변을 넘으면 직접 요청값으로 유효하지 않습니다. 입력 오류는 같은 요청을 자동 재시도해도 해결되지 않습니다.

access 또는 verification 오류

개발과 운영이 같은 조직·프로젝트·API 키 범위를 쓰는지 확인합니다. 모델 접근과 Organization Verification 상태를 확인한 뒤 작은 저해상도 smoke test로 경로를 먼저 검증하세요. 접근 오류를 크기나 프롬프트 문제로 처리하지 않습니다.

생성은 성공했지만 공개 이미지가 작음

디코딩 원본, 업로드 파일, CDN URL, 브라우저의 실제 선택 후보를 순서대로 측정합니다. Next.js 이미지 최적화, CMS preset, CDN query parameter, HTML srcset이 원본과 다른 파생본을 만들 수 있습니다.

4K 결과의 글자나 구도가 불안정함

픽셀 수는 통과했더라도 시각 품질 문제입니다. 1K나 2K에서 프롬프트와 레이아웃을 먼저 안정화한 뒤 4K 후보를 다시 만들거나, 검증된 2K 원본을 별도 업스케일해 두 경로를 명확히 표시합니다. 업스케일한 파일을 API 직접 4K 결과라고 부르지는 마세요.

FAQ

GPT Image 2는 실제로 4K를 지원하나요?

3840x21602160x3840은 현재 공식 문서의 주요 요청 크기입니다. 다만 둘 다 experimental 고픽셀 범위이므로, 요청 성공 후 저장 파일과 배포 파생본의 실제 치수를 확인해야 합니다.

프롬프트에 “4K”만 넣으면 되나요?

아닙니다. 프롬프트는 장면과 스타일을 설명하고, 정확한 픽셀은 API의 size로 요청합니다. 마지막에는 저장 파일의 너비와 높이를 읽어야 합니다.

4096×2160이나 4096×4096도 가능한가요?

현재 직접 GPT Image 2 size로는 유효하지 않습니다. 둘 다 긴 변 3840px 제한을 넘고, 4096×4096은 총 픽셀 상한도 초과합니다. 유효한 크기로 생성한 뒤 별도 업스케일하는 경로는 가능하지만 계약을 구분해 기록해야 합니다.

16:9를 선택하면 자동으로 3840×2160이 되나요?

아닙니다. 16:9는 비율일 뿐입니다. 2048x11523840x2160은 모두 16:9이므로 정확한 픽셀값을 별도로 지정하고 확인해야 합니다.

Image API와 Responses API 중 어느 것을 써야 하나요?

한 번의 생성·편집에는 gpt-image-2를 직접 고르는 Image API가 간단합니다. 대화나 여러 도구가 이어지는 앱에는 mainline 모델과 image generation tool을 쓰는 Responses API가 맞습니다. Responses API 도구 안에 model: "gpt-image-2"를 임의로 넣지 마세요.

GPT Image 2 API의 4K 한 장 가격은 얼마인가요?

모든 4K 요청에 공통으로 적용되는 공식 고정 한 장 가격은 없습니다. 최신 계산기에서 크기와 품질에 따른 이미지 출력 비용을 확인하고, 텍스트·이미지 입력, 편집, 재시도와 Responses mainline 모델 비용을 더해야 합니다.

ChatGPT 무료 요금제에서 이미지를 만들 수 있으면 API도 무료인가요?

아닙니다. ChatGPT의 소비자 할당량과 OpenAI API의 결제·rate limit은 별도입니다. 현재 ChatGPT Images 2.0은 모든 ChatGPT 요금제에 제공되지만, API Free 사용 등급은 gpt-image-2를 지원하지 않습니다.

태그

이 글 공유

XTelegram