AIFreeAPI Logo

GPT Image 2의 1024x576 오류 해결: 16:9로 생성하고 정확하게 줄이기

A
4 min readAPI 가이드

1024x576은 16:9이고 두 변 모두 16의 배수지만, 생성에 필요한 최소 픽셀 수를 충족하지 못합니다. 1280x720으로 생성한 뒤 축소하면 원하는 비율과 최종 파일 크기를 모두 맞출 수 있습니다.

크기 오류가 난 이미지에서 생성 크기를 바꾸고 PNG 파일로 저장하는 흐름

gpt-image-2size: "1024x576"을 보냈다가 invalid size 오류를 만났다면, 우선 생성 크기를 1280x720으로 바꾸고 결과를 1024x576으로 축소하세요. 1024×576은 정상적인 16:9 크기지만, 총 픽셀 수가 589,824로 OpenAI가 정한 최소값 655,360보다 작습니다. 화면 비율을 프롬프트에 다시 적어도 이 수치 조건은 달라지지 않습니다.

아래 설명은 2026년 9월 8일 확인한 OpenAI의 직접 API와 gpt-image-2 기준입니다. 유효 여부는 공식 문서와 계산으로 판단했으며, 유료 API 호출을 통한 성공률이나 처리 시간 측정 결과는 아닙니다. 다른 서비스의 API를 사용한다면 마지막의 요청 확인 절차까지 함께 확인하세요.

16:9인데 왜 크기 오류가 날까?

화면 비율이 맞는 것과 생성 요청이 허용되는 것은 별개의 조건입니다. OpenAI의 이미지 출력 설정 문서에 따르면 gpt-image-2의 사용자 지정 크기는 다음 조건을 모두 만족해야 합니다.

  • 가로와 세로가 양수이며 각각 16의 배수여야 합니다.
  • 긴 변이 3,840픽셀 이하여야 합니다.
  • 긴 변을 짧은 변으로 나눈 값이 3 이하여야 합니다.
  • 가로×세로가 655,360 이상, 8,294,400 이하여야 합니다.

1024×576은 첫 세 조건을 통과합니다. 1024÷16은 64, 576÷16은 36이고, 긴 변과 짧은 변의 비율도 약 1.78입니다. 하지만 마지막 조건에서 탈락합니다.

text
1024 × 576 = 589,824픽셀 최소값 = 655,360픽셀 부족한 양 = 65,536픽셀

따라서 높이를 16의 배수로 반올림하는 식의 수정은 도움이 되지 않습니다. 576은 이미 16의 배수입니다. 가로와 세로를 함께 늘려 총 픽셀 수를 확보해야 16:9를 유지할 수 있습니다.

두 가로형 캔버스의 픽셀 수와 최소 픽셀 기준을 비교한 그림
두 가로형 캔버스의 픽셀 수와 최소 픽셀 기준을 비교한 그림

어떤 크기로 바꾸면 될까?

최종 파일을 1024×576으로 만들 목적이라면 1280×720이 적절한 출발점입니다. 아래 크기는 모두 문서의 조건을 기준으로 계산한 결과입니다.

요청할 크기총 픽셀 수화면 비율판단과 용도
1024x576589,82416:9최소 픽셀 수 미달
1024x640655,3608:5허용 조건은 충족하지만 원하는 비율과 다름
1280x720921,60016:9정확한 16:9 중 가장 작은 허용 크기
1536x8641,327,10416:9생성 후 1024×576으로 축소 가능
1920x10802,073,60016:9높이 1080이 16의 배수가 아님
2048x11522,359,29616:9가로와 세로를 절반으로 축소 가능

1280×720이 최소인 이유도 계산으로 확인할 수 있습니다. 두 변이 모두 16의 배수인 정확한 16:9 크기는 가로 = 256k, 세로 = 144k 형태로 나타낼 수 있습니다. 여기서 k는 양의 정수입니다. k가 4일 때의 1024×576은 최소 픽셀 수에 못 미치고, 그다음인 k=5의 1280×720부터 조건을 만족합니다. 이 결과가 해당 크기의 비용이나 속도가 가장 좋다는 뜻은 아닙니다.

평소 익숙한 Full HD인 1920×1080도 그대로 넣으면 안 됩니다. 이 경우에는 픽셀 수가 충분해도 1080÷16에 나머지가 생깁니다. 최종 결과가 Full HD여야 한다면 2048×1152로 생성한 뒤 1920×1080으로 줄이는 방법을 사용할 수 있습니다.

요청부터 1024×576 파일 저장까지

핵심은 API에 보내는 size와 저장할 이미지의 크기를 분리하는 것입니다. 1280×720 → 1024×576은 가로와 세로를 모두 80%로 줄이는 변환이므로, 원본이 해당 크기로 나왔다면 자르거나 여백을 넣을 필요가 없습니다.

생성된 가로 이미지를 비율에 맞게 축소하고 PNG 파일로 저장하는 과정
생성된 가로 이미지를 비율에 맞게 축소하고 PNG 파일로 저장하는 과정

1. 직접 OpenAI API에 1280×720 요청하기

다음은 OPENAI_API_KEY 환경 변수가 설정되어 있을 때 사용할 요청 예제입니다. 실제로 실행하면 이미지 생성 요청이 발생합니다. 연결과 인증부터 필요하다면 GPT Image 2 API 사용 가이드를 먼저 참고하세요.

bash
curl --fail-with-body https://api.openai.com/v1/images/generations \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-image-2", "prompt": "햇빛이 들어오는 서재의 가로형 일러스트. 책상과 창문이 함께 보이도록 구성해 주세요.", "size": "1280x720", "output_format": "png" }' \ -o response.json

OpenAI의 이미지 생성 가이드는 Images API의 이미지 데이터를 Base64 형식으로 반환한다고 설명합니다. 다음 단계는 response.json에서 그 데이터를 꺼내 실제 파일 크기를 확인합니다. 오류 응답이 저장되었다면 이미지가 없다는 메시지와 함께 멈춥니다.

2. 응답을 읽어 PNG로 축소하기

Python에 Pillow가 없다면 python -m pip install Pillow로 설치합니다. 아래 코드를 save_thumbnail.py로 저장한 뒤 python save_thumbnail.py를 실행하세요. 이미지 생성 API를 추가로 호출하지 않고, 앞 단계에서 받은 데이터만 처리합니다.

python
import base64 import io import json from pathlib import Path from PIL import Image response = json.loads(Path("response.json").read_text(encoding="utf-8")) items = response.get("data") or [] if not items or not items[0].get("b64_json"): raise SystemExit("이미지 데이터가 없습니다. response.json의 오류 내용을 확인하세요.") raw = base64.b64decode(items[0]["b64_json"], validate=True) with Image.open(io.BytesIO(raw)) as source: source.load() width, height = source.size print("생성된 이미지 크기:", width, height) if width * 9 != height * 16: raise SystemExit("원본이 16:9가 아닙니다. 실제 요청과 생성 결과를 확인하세요.") if width < 1024 or height < 576: raise SystemExit("원본이 목표 크기보다 작습니다. 더 큰 이미지가 필요합니다.") result = source.resize((1024, 576), Image.Resampling.LANCZOS) result.save("thumbnail-1024x576.png") with Image.open("thumbnail-1024x576.png") as saved: assert saved.size == (1024, 576), saved.size print("저장 완료:", saved.size, saved.format)

파일명에 1024x576을 붙이는 것만으로 이미지 크기가 바뀌지는 않습니다. 마지막 확인은 저장된 PNG를 다시 열어 실제 픽셀 크기를 검사합니다. 웹페이지에서 CSS로 가로폭을 줄이는 것도 화면에 보이는 크기만 바꾸므로, 업로드 규격을 맞춰야 할 때는 파일 자체를 이렇게 변환해야 합니다.

1280×720으로 바꿨는데도 실패한다면

같은 오류가 계속되면 프롬프트를 반복해서 고치기 전에 실제로 전송된 요청을 확인하세요. UI에 선택한 값과 서버가 받은 값이 같아야 원인을 좁힐 수 있습니다.

확인할 대상볼 내용다음 행동
요청 주소api.openai.com인지 다른 제공자의 주소인지해당 제공자의 크기 규칙과 요청 예제를 확인
모델 값실제 요청 본문의 model다른 모델로 바뀌거나 별칭이 적용되는지 확인
크기 값실제 요청 본문의 size화면의 선택값과 전송된 문자열을 비교
오류가 난 위치클라이언트 내부 검사인지 서버 응답인지로컬 크기 목록 제한인지 API 거절인지 구분
응답 내용상태 코드, 오류 메시지, 문제가 된 필드인증·이용 한도 등 다른 오류면 해당 원인부터 해결

OpenAI 직접 API에서 size: "1280x720"은 픽셀 치수입니다. 다른 도구가 받는 aspectRatio: "16:9"와는 표현과 역할이 다를 수 있습니다. OpenClaw의 이미지 생성 문서size, aspectRatio, resolution을 제공자에 따라 지원 범위가 달라지는 별도 힌트로 설명합니다. 한 서비스의 예제를 다른 API에 그대로 옮기지 말고, 현재 요청 주소가 요구하는 필드를 사용하세요.

크기 입력란에서 1280×720을 선택할 수 없거나 전송 전에 거절된다면, 그 화면만으로 모델이 해당 크기를 지원하지 않는다고 결론 낼 수 없습니다. 클라이언트가 고정된 크기 목록만 허용하는지 확인하고, 직접 OpenAI 연결을 사용하는 경우에는 위 요청 형식과 비교해 보세요. 오류 내용을 공유할 때는 API 키와 Authorization 헤더를 제외하고 주소, 모델, 크기, 오류 메시지를 남기면 됩니다.

이미 다른 비율로 생성한 이미지는 어떻게 처리할까?

1024×640으로 생성한 파일을 1024×576에 맞춰 강제로 늘이거나 줄이면 세로 비율이 눌립니다. 왜곡 없이 맞추려면 자르거나 여백을 넣는 방식 중 하나를 골라야 합니다.

  • 이미지로 화면을 꽉 채워야 한다면: 1024×640에서 높이 64픽셀을 잘라냅니다. 가운데 기준이면 위아래 32픽셀씩이지만, 글자나 피사체가 가장자리에 있으면 자르는 위치를 조절해야 합니다.
  • 내용 전체가 반드시 보여야 한다면: 16:9 캔버스 안에 원본 비율을 유지해 배치하고 남는 공간을 배경으로 채웁니다.
  • 아직 다시 생성할 수 있다면: 처음부터 1280×720 같은 16:9 크기를 요청하면 이 선택을 피할 수 있습니다.

size: "auto" 역시 정확한 최종 파일 치수를 지정하는 방법은 아닙니다. 최종 규격이 1024×576으로 정해진 작업에서는 허용되는 16:9 크기로 생성하고, 결과의 실제 비율을 확인한 다음 파일을 축소하는 과정을 사용하세요.