본문으로 건너뛰기

n8n GPT Image 2.5 연동: 노드 한계부터 파일 저장까지

n8n OpenAI 노드의 GPT Image 2.5는 품질 high, 크기 1536px까지이고 사용량도 안 남지만 과금됩니다. xhigh·2K 이상·투명 배경은 HTTP Request로 부르세요.

LaoZhang AI Team게시업데이트 12 분 소요
목차
어두운 책상 위 모니터에 수동 트리거에서 GPT Image 2.5 이미지 생성, 파일 저장으로 이어지는 n8n 워크플로가 떠 있고, 가운데 GPT Image 2.5 패널의 풍경 이미지와 오른쪽 image.png 결과 파일로 연결되는 표지

n8n에서 GPT Image 2.5를 가장 빨리 붙이는 방법은 기본 OpenAI 노드의 Generate an Image 작업에 모델 ID gpt-image-2.5-flare 또는 gpt-image-2.5-sunburst를 직접 입력하는 것입니다. 생성된 이미지는 바이너리 필드 data로 나오므로 Google Drive 업로드나 메일 첨부 노드에 그대로 넘길 수 있습니다. 대신 이 노드에서 고를 수 있는 품질은 high까지, 크기는 1024x1024 · 1024x1536 · 1536x1024 세 가지뿐이고, API 응답에 들어 있는 토큰 사용량(usage)은 노드 안에서 버려집니다.

판단 기준은 이렇습니다. 2.5에서 새로 생긴 xhigh·max·auto 품질, 2K·4K 같은 사용자 지정 크기, 생성 단계의 투명 배경이나 JPEG·WebP 출력, 호출별 사용량 기록 가운데 하나라도 필요하면 HTTP Request 노드로 Images API를 직접 부르고 Convert to File로 파일을 만드세요. 넷 다 필요 없다면 OpenAI 노드로 충분합니다.

비용도 먼저 짚어 둡니다. n8n을 거쳐도 API 호출은 OpenAI 계정에 토큰 단위로 과금되며, 노드 화면에 사용량이 보이지 않는다고 무료로 처리된 것이 아닙니다. 인터넷의 「무료 생성기」는 웹 서비스이고, n8n 자동화에 쓰는 API와는 과금 구조가 다릅니다.

OpenAI 노드와 HTTP Request에서 지정할 수 있는 항목

GPT Image 2.5에는 gpt-image-2.5-flare와 gpt-image-2.5-sunburst 두 모델 ID가 있고, 둘 다 /v1/images/generations(생성)와 /v1/images/edits(편집)를 지원합니다. gpt-image-2.5라는 ID는 없으므로 이 문자열만 넣으면 모델을 찾지 못합니다. 두 모델 중 무엇을 고를지는 GPT Image 2.5 Flare와 Sunburst 비교에서 따로 다룹니다.

아래 표의 노드 항목은 2026년 9월 25일 기준 n8n 공개 저장소의 OpenAI 노드 소스 코드를, API 쪽 값은 OpenAI 이미지 생성 가이드를 따릅니다.

필요한 설정OpenAI 노드 Generate an ImageOpenAI 노드 Edit an ImageHTTP Request로 직접 호출
모델 ID 직접 입력노드 버전 2.2 이상노드 버전 2.3 이상가능
품질low·medium·high (기본 medium)auto·high·medium·lowlow~max, auto 전부
크기1024x1024, 1024x1536, 1536x1024256·512·1024 정사각, 1024x1536, 1536x1024, auto사용자 지정, 한 변 최대 3840px
투명 배경항목 없음Backgroundbackground: "transparent"
출력 형식 jpeg·webp항목 없음Output Format 칸은 있으나 API로 전달되지 않을 수 있음output_format
참고 이미지 여러 장·마스크해당 없음가능Form-Data로 가능
토큰 사용량 usage버려짐버려짐응답 JSON에 남음
응답이 URL이거나 접두어 붙은 base64처리 못 함처리 못 함직접 처리

마지막 행은 노드 코드의 동작에서 따라 나오는 결론입니다. OpenAI 노드는 응답의 data[].b64_json을 그대로 디코딩해 파일로 만들기 때문에, url만 돌려주거나 data:image/png;base64, 같은 접두어를 붙여 돌려주는 중계 API에서는 정상적인 파일이 나온다고 기대하기 어렵습니다.

사용량이 버려지는 문제는 n8n 저장소의 issue #38482로 보고되어 있고 2026년 9월 25일 기준 열려 있습니다. 보고자는 n8n 2.38.6, 노드 버전 2.3에서 gpt-image-2.5-flare로 재현했으며, 표현식이나 Code 노드로도 되살릴 수 없다고 적었습니다.

내 n8n에서 직접 확인하는 방법

설치된 버전에 따라 항목이 다를 수 있으니, 노드를 열어 다음을 확인하세요. n8n의 최신 릴리스는 2026년 9월 24일에 나온 2.40.6이지만, Generate 작업의 코드는 2026년 5월 이후 바뀌지 않았습니다.

  • Model 필드 모양: From List와 ID를 오가는 선택 칸이면 노드 버전(typeVersion)이 2.2 이상입니다. DALL·E 2, DALL·E 3, GPT Image 1만 있는 고정 드롭다운이면 오래된 노드이므로 캔버스에 OpenAI 노드를 새로 추가하세요. 노드 버전은 n8n 앱 버전과 다른 숫자이며, 노드를 복사해 텍스트 편집기에 붙여 넣으면 JSON의 typeVersion으로 보입니다.
  • 기본 모델: 새 Generate an Image 노드의 기본값은 gpt-image-1-mini입니다. 모델을 바꾸지 않고 실행하면 2.5가 아니라 이 모델이 호출됩니다.
  • Options의 Quality 목록: Add Option에서 Quality를 추가했을 때 xhigh나 max가 보이면 설치본이 위 표보다 새로운 것입니다. 보이지 않으면 표 그대로입니다.
  • 작업 이름: Analyze Image는 이미지를 읽고 설명하는 작업이라 모델 목록에 GPT Image가 나오지 않습니다. 생성은 Generate an Image, 수정은 Edit an Image입니다.

OpenAI 노드로 만드는 기본 워크플로

위 제한이 괜찮다면 노드 두세 개로 끝납니다.

  1. Credentials: OpenAI 자격 증명에 API Key를 넣습니다. Organization ID는 선택 항목이며, 넣어야 하는 경우는 OpenAI API Key와 Organization ID에 정리되어 있습니다. Base URL은 OpenAI를 직접 쓰면 기본값 https://api.openai.com/v1 그대로 둡니다.
  2. OpenAI 노드: Resource는 Image, Operation은 Generate an Image. Model에서 ID를 선택하고 gpt-image-2.5-flare를 입력합니다. From List는 자격 증명 Base URL의 /models에서 이름에 dall-e나 gpt-image가 들어간 모델만 가져오므로, 목록에 없더라도 ID 입력으로 호출할 수 있습니다.
  3. Prompt와 Options: 프롬프트는 앞 노드 값을 {{ $json.prompt }}처럼 연결하고, Options에서 Quality와 Resolution을 고릅니다. 결과 필드 이름을 바꾸려면 Put Output in Field를 씁니다(기본 data).
  4. 목적지 노드: Google Drive 업로드, Gmail 첨부, S3 업로드처럼 바이너리를 받는 노드에서 입력 바이너리 필드 이름을 data로 지정합니다.

실행 결과 패널에서 Binary 탭에 이미지가 보이고, 목적지에 올라간 파일이 열리면 성공입니다. 첫 실행에서 403이나 모델 사용 불가 오류가 나면 키보다 조직 상태를 먼저 보세요. OpenAI는 GPT Image 모델을 쓰기 전에 API Organization Verification을 요구할 수 있습니다.

HTTP Request로 GPT Image 2.5 직접 호출하기

노드가 못 하는 설정이 필요하면 HTTP Request 노드 하나로 Images API를 부릅니다.

  • Method: POST
  • URL: https://api.openai.com/v1/images/generations
  • Authentication: Predefined Credential Type에서 OpenAI 자격 증명을 고르거나, Header Auth로 Authorization: Bearer <API 키>를 보냅니다.
  • Send Body: 켜고 Body Content Type은 JSON, Specify Body는 Using JSON.

본문은 다음처럼 씁니다. 프롬프트에 따옴표나 줄바꿈이 섞여도 깨지지 않도록 JSON.stringify로 감쌉니다.

json
{
  "model": "gpt-image-2.5-flare",
  "prompt": {{ JSON.stringify($json.prompt) }},
  "size": "2048x1152",
  "quality": "high",
  "output_format": "webp",
  "output_compression": 85
}

값을 정할 때 알아 둘 조건입니다.

  • 크기: 사용자 지정 크기는 가로·세로가 모두 16의 배수, 비율 1:3~3:1, 한 변 3840px 이하, 총 픽셀 655,360~8,294,400 범위여야 합니다. 예시의 2048x1152는 16:9이고 조건을 모두 만족합니다. 2560x1440을 넘는 해상도는 OpenAI가 「experimental」로 표시하므로 4K는 품질 보장 없이 시험하는 단계로 보세요. 4K 저장과 검증 절차는 GPT Image 2 기준이지만 GPT Image 2 4K API 가이드가 참고가 됩니다.
  • 품질: quality를 빼거나 auto로 보내면 모델이 단계를 고르므로 같은 요청이라도 장당 비용이 달라질 수 있습니다. 예산을 맞춰야 하는 자동화라면 값을 명시하세요.
  • 투명 배경: "background": "transparent"는 output_format이 png나 webp일 때만 씁니다.
  • 형식: 기본은 png이고, OpenAI는 jpeg가 png보다 빠르다고 안내합니다. output_compression(0~100)은 jpeg·webp에만 적용됩니다.
  • 보내지 않는 값: response_format은 DALL·E 시절 파라미터라 GPT Image 계열에는 넣지 않습니다. n8n OpenAI 노드도 gpt-image 모델에는 이 값을 빼고 보냅니다. 노드의 Input Fidelity 역시 2.5 문서에 없는 파라미터이므로 설정하지 않습니다.

성공하면 응답 JSON의 data[0].b64_json에 이미지가, usage에 input_tokens·output_tokens·total_tokens가 들어 있습니다. Options의 Response에서 Include Response Headers and Status를 켜면 응답 전체가 body 아래로 들어가므로 이후 경로가 body.data[0].b64_json, body.usage로 바뀝니다.

응답을 파일로 바꾸고 사용량은 따로 남기기

OpenAI 노드는 디코딩까지 알아서 해 주지만, HTTP Request 응답은 base64 문자열이 든 JSON이라 한 단계를 더 거쳐야 합니다.

OpenAI 노드가 바이너리 data 필드로 image.png를 바로 만드는 경로와, HTTP Request 응답 JSON의 b64_json 값을 Edit Fields의 image_base64 필드로 옮긴 뒤 Convert to File로 image.png를 만드는 경로를 위아래로 비교한 도식

HTTP Request 뒤에 두 노드를 이어 붙입니다.

  1. Edit Fields (Set): 필드 두 개를 만듭니다. image_base64(String)에 {{ $json.data[0].b64_json }}, usage(Object)에 {{ $json.usage }}. 모델 이름이나 작업 번호처럼 나중에 비용을 나눠 볼 값도 여기서 함께 적어 둡니다.
  2. Convert to File: Operation은 Move Base64 String to File, Base64 Input Field는 image_base64, Put Output File in Field는 data. Options에서 File Name을 {{ $execution.id }}.webp처럼, MIME Type을 요청한 형식에 맞춰 image/webp로 지정합니다.

여기서 순서가 중요합니다. Convert to File의 출력 항목은 JSON이 빈 상태({})에 파일만 붙은 형태라, 앞 단계의 usage가 다음 노드로 넘어가지 않습니다. 그래서 사용량 기록은 Convert to File 뒤가 아니라 Edit Fields에서 갈라져 나온 별도 연결에 둡니다. n8n에서는 한 노드의 출력을 여러 노드에 동시에 연결할 수 있으니, Edit Fields의 출력을 Convert to File과 Google Sheets(또는 Data Table)의 행 추가 노드에 함께 연결합니다.

원본 JSON 응답이 이미지 변환과 파일 저장 경로, 그리고 작업 번호·model·usage·시각을 적는 사용량 기록 표로 갈라지고, usage 값이 없는 행은 미확인으로 남기는 방식을 보여 주는 도식

기록 표에는 실행 ID, 모델 ID, 품질과 크기, usage.input_tokens, usage.output_tokens, 실행 시각 정도면 충분합니다. 중계 API처럼 usage를 돌려주지 않는 경우에는 칸을 비워 「미확인」으로 두고 0을 적지 마세요. 0은 「비용 없음」으로 읽혀 월말 정산을 틀리게 만듭니다. 기록이 쌓이면 품질·크기 조합별 실제 토큰 사용량이 보이고, 이를 단가와 곱하면 장당 비용이 나옵니다. 단가와 호출당 과금과의 비교는 GPT Image 2.5 Sunburst 가격과 공식 토큰 요금 비교에 있습니다.

위 구성은 요청 하나에 이미지 한 장(n=1)을 전제로 합니다. 한 번에 여러 장을 받으면 data 배열의 첫 항목만 파일이 되므로, 여러 장이 필요하면 프롬프트 항목을 여러 개 만들어 한 장씩 요청하는 편이 아래의 속도 제한 계산과도 맞습니다.

여러 장을 자동으로 만들 때: 배치 간격과 타임아웃

스프레드시트의 상품 50개를 간격 없이 연달아 보내면 금방 속도 제한에 걸립니다. OpenAI의 GPT Image 2.5 기본 한도는 사용 등급(usage tier)별 분당 이미지 수(IPM)로 정해져 있고, Flare와 Sunburst가 같습니다.

한 요청에 한 장씩 보낸다면 요청 사이 최소 간격은 60,000 ÷ IPM 밀리초입니다. HTTP Request 노드 Options의 Batching에서 Items per Batch를 1로, Batch Interval을 아래 값 이상으로 두면 됩니다.

사용 등급분당 이미지(IPM)분당 토큰(TPM)최소 Batch Interval
Tier 15100,00012,000ms
Tier 220250,0003,000ms
Tier 350800,0001,200ms
Tier 41503,000,000400ms
Tier 52508,000,000240ms

이 간격은 같은 조직에서 다른 이미지 요청이 없다는 가정의 하한입니다. 다른 워크플로나 서비스가 같은 키를 쓰면 그만큼 늘리세요. 등급은 계정마다 다르고 사용액에 따라 올라가므로 OpenAI 콘솔의 한도 화면을 기준으로 삼습니다. 중계 API는 OpenAI 등급이 아니라 그 서비스의 제한을 따릅니다.

Timeout은 HTTP Request가 서버의 응답 헤더를 기다리는 시간(밀리초)입니다. 이미지를 한 번에 돌려주는 일반 요청에서는 생성이 끝나야 응답이 시작되는 경우가 많아, 이 값이 사실상 생성 대기 시간이 됩니다. OpenAI는 복잡한 프롬프트가 최대 2분 정도 걸릴 수 있다고 안내하므로 120,000ms보다 여유 있게 잡으세요. n8n 문서에 기본값이 나와 있지 않으니 직접 지정해 두는 편이 안전합니다.

자동으로 다시 보내면 안 되는 오류

오류마다 대응이 다릅니다. OpenAI는 속도 제한과 서버 오류만 간격을 두고 재시도하고, 요청을 고쳐야 하는 오류는 자동 재시도하지 말라고 안내합니다.

상황자동 재시도할 일
속도 제한(rate limit)간격을 늘려 재시도Batch Interval을 키움
서버 오류(5xx)간격을 늘려 재시도요청 ID를 기록
할당량 초과(quota)하지 않음결제 한도·잔액 확인
image_generation_user_error (예: moderation_blocked)하지 않음프롬프트나 입력 이미지 수정
n8n 쪽 Timeout바로 하지 않음서버에서 생성이 끝났는지 먼저 확인
401·403하지 않음키, 조직 인증 확인

moderation_blocked에는 error.moderation_details.moderation_stage(input·output·unknown)가 붙을 수 있어, 프롬프트 단계에서 막혔는지 결과물 단계에서 막혔는지 구분할 수 있습니다. 상태 코드만으로는 속도 제한과 할당량 초과를 가르기 어려우니 error.code와 error.type을 함께 보세요.

n8n에서 이렇게 나누려면 HTTP Request의 Options에서 Never Error와 Include Response Headers and Status를 켜고, 뒤에 IF나 Switch 노드를 두어 {{ $json.statusCode }}와 {{ $json.body.error.code }}로 분기합니다. 노드 Settings의 Retry On Fail은 오류 종류를 가리지 않고 다시 보내므로, 할당량 초과나 콘텐츠 차단까지 반복 호출하게 됩니다.

타임아웃은 「생성되지 않았다」는 뜻이 아닙니다. 클라이언트가 기다림을 멈춰도 서버에서 생성이 계속됐을 수 있습니다. 예를 들어 LaoZhang API는 클라이언트 타임아웃이나 연결 끊김이 서버 생성을 취소하지 않으며 완료되면 과금된다고 문서에 밝히고 있습니다. OpenAI 직접 호출의 경우 이 상황의 과금 규칙은 공개 문서에 나와 있지 않으니, 재시도 전에 사용량 화면을 확인하는 습관을 들이세요.

안내: laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다. 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.

참고 이미지 여러 장과 마스크로 편집하기

상품 사진의 배경만 바꾸거나 여러 참고 이미지를 합치는 작업은 편집 엔드포인트 /v1/images/edits를 씁니다.

OpenAI 노드의 Edit an Image(노드 버전 2.3 이상)는 Images 항목에 바이너리 필드를 여러 개 추가할 수 있고, 이를 image[]로 반복해 보냅니다. Options에는 Image Mask와 Background가 있습니다. Output Format과 Output Compression은 Options 밖의 별도 칸으로 보이지만, 현재 소스 코드의 실행 부분은 이 값을 Options 안에서 찾기 때문에 화면에서 고른 형식이 API로 전달되지 않을 가능성이 큽니다. JPEG나 WebP가 꼭 필요하면 아래의 HTTP Request 방식으로 output_format을 보내고, 받은 파일의 MIME Type이 요청한 형식과 같은지 확인하세요. 또 품질은 high까지, 크기는 긴 변 1536px까지이며, 결과는 항상 바이너리 data에 들어가고 usage는 역시 버려집니다. Input Fidelity 항목은 2.5에서는 비워 두세요.

HTTP Request로 편집하려면 URL을 https://api.openai.com/v1/images/edits로, Body Content Type을 Form-Data로 둡니다. model과 prompt는 일반 텍스트 파라미터로 넣고, 이미지는 파라미터 종류를 n8n Binary File로 바꾼 뒤 Name에 image[], Input Data Field Name에 앞 노드의 바이너리 필드 이름을 적습니다. 참고 이미지가 여러 장이면 이 파라미터를 장수만큼 반복하고, 마스크는 Name을 mask로 한 파라미터를 하나 더 추가합니다.

마스크에는 조건이 있습니다.

  • 여러 장을 보내면 마스크는 첫 번째 이미지에만 적용됩니다.
  • 마스크는 그 이미지와 형식·크기가 같아야 하고 알파 채널이 있어야 합니다. 투명한 부분이 수정 영역입니다.
  • GPT Image의 마스크는 프롬프트 기반이라 경계를 정확히 따르지 않을 수 있습니다. 로고나 글자처럼 모양이 중요한 부분은 몇 번 시험해 본 뒤 자동화하세요.
  • 파일 크기 상한은 안내마다 다릅니다. OpenAI 가이드는 50MB 미만, n8n Edit 노드 설명은 마스크 PNG 4MB 미만으로 적고 있으니 마스크는 4MB 아래로 맞추는 편이 무난합니다.

중계 API를 연결할 때: 응답 형태부터 확인하기

OpenAI 호환 중계 API는 OpenAI 자격 증명의 Base URL만 바꾸면 OpenAI 노드에서도 호출됩니다. 노드는 Base URL + 엔드포인트로 요청을 보내고, 모델 목록도 그 주소의 /models에서 가져옵니다. 목록에 원하는 모델이 없으면 ID로 입력하면 됩니다.

문제는 응답입니다. 같은 엔드포인트라도 서비스마다 이미지를 돌려주는 형태가 달라서, 첫 요청의 원본 응답을 HTTP Request로 한 번 받아 보고 연결 방식을 정하는 것이 가장 빠릅니다.

응답 형태예n8n 연결 방식
깨끗한 b64_jsonOpenAI 직접 호출OpenAI 노드, 또는 HTTP Request → Edit Fields → Convert to File
접두어가 붙거나 끝의 =가 빠진 base64일부 중계 APIHTTP Request → Code 노드로 정리 → Convert to File
만료되는 url일부 중계 APIHTTP Request → URL을 곧바로 다운로드(Response Format: File)
작업 ID를 받고 상태를 조회비동기 작업형 API제출 → Wait → 상태 조회 반복 → 결과 URL 다운로드

두 번째와 세 번째 경우는 앞의 Edit Fields 자리에 Code 노드를 두면 한 번에 처리됩니다. Mode를 Run Once for Each Item으로 두고 다음을 넣습니다.

javascript
// Include Response Headers and Status를 켰다면 응답은 body 아래에 있습니다
const res = $json.body ?? $json;
const first = (res.data ?? [])[0] ?? {};

let b64 = first.b64_json ?? '';
if (b64.startsWith('data:')) b64 = b64.slice(b64.indexOf(',') + 1); // data:image/png;base64, 제거
b64 = b64.replace(/\s/g, '');
if (b64) b64 = b64.padEnd(Math.ceil(b64.length / 4) * 4, '='); // 빠진 = 채우기

return {
  json: {
    image_base64: b64 || null,
    image_url: first.url ?? null,
    usage: res.usage ?? null, // 없으면 null, 0으로 바꾸지 않음
    error: res.error ?? null,
  },
};

그다음 IF 노드로 image_base64가 있으면 Convert to File로, image_url만 있으면 HTTP Request(GET, Response Format은 File)로 내려받게 나눕니다. URL은 만료되므로 대기 노드를 끼우지 말고 바로 받아야 합니다. 둘 다 없으면 error를 알림으로 보내면 됩니다.

작업형 API는 흐름이 다릅니다. 예를 들어 HiAPI의 n8n 예제는 작업을 제출해 ID를 받은 뒤 5초마다 최대 36번 상태를 조회하고, 완료되면 결과 URL을 돌려줍니다. 이 경우에도 결과 URL을 파일로 내려받아 저장하는 단계는 따로 만들어야 합니다.

LaoZhang API를 쓰는 경우

LaoZhang API를 예로 들면 Base URL은 https://api.laozhang.ai/v1이고, 생성과 편집 모두 같은 엔드포인트를 씁니다. 모델 ID에 따라 조건이 달라집니다.

안내: laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다. 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.

  • gpt-image-2.5-flare·gpt-image-2.5-sunburst (공식 API 전달): OpenAI와 같은 모델 ID이고 토큰 과금입니다. 토큰 그룹이 Sora2Official이면 단가가 OpenAI와 같고, GPTImage2 Sora2 Enterprise는 20% 높습니다. 참고 이미지 최대 16장과 마스크를 지원합니다. response_format을 보내면 파라미터 오류가 날 수 있습니다.
  • gpt-image-2.5-flare-vip·gpt-image-2.5-sunburst-vip: 호출당 $0.03이고 품질 다섯 단계와 사용자 지정 크기를 지원하지만 마스크는 쓸 수 없습니다. 2026년 9월 16일 중단됐다가 9월 22일 재개되었습니다.
  • gpt-image-2.5-web: 호출당 과금이며 Flare와 Sunburst를 고를 수 없습니다.

응답의 b64_json에 접두어가 붙거나 끝의 =가 빠질 수 있고, url로 올 수도 있다고 문서에 적혀 있으므로 위의 Code 노드 경로를 쓰는 편이 안전합니다. 호출당 과금 모델은 usage로 비용을 계산하지 않으니, 실제 차감액은 콘솔의 호출 로그에서 확인합니다. 설정 세부는 LaoZhang API의 GPT Image 2.5 문서에 있습니다.

이미지가 목적지에 도착하지 않을 때 확인 순서

실행은 초록색인데 드라이브에 파일이 없거나, 파일은 있는데 열리지 않을 때는 요청 → 응답 → 파일 → 전달 순서로 좁혀 가면 빠릅니다.

  1. 요청 단계: 401·403이면 API 키와 조직 인증을, 모델을 찾지 못한다는 오류면 모델 ID(gpt-image-2.5만 넣지 않았는지)와 From List·ID 모드를 확인합니다. 400이면 크기 조건, response_format, Input Fidelity 같은 파라미터를 봅니다.
  2. 응답 단계: HTTP Request 출력에서 data가 비어 있지 않은지, 이미지가 b64_json인지 url인지 봅니다. OpenAI 노드가 성공으로 끝났는데 Binary 탭이 비어 있거나 파일이 깨졌다면 중계 API가 다른 형태로 돌려준 경우일 가능성이 큽니다.
  3. 파일 단계: Convert to File에서 오류가 나면 Base64 Input Field 경로를 봅니다. Include Response Headers and Status를 켰다면 body.가 앞에 붙어야 합니다. 파일은 생겼는데 열리지 않으면 접두어가 남았거나, MIME Type과 파일 확장자가 요청한 output_format과 다를 수 있습니다.
  4. 전달 단계: 목적지 노드가 읽는 바이너리 필드 이름이 앞 노드의 출력 이름(data 등)과 같은지 확인합니다. Put Output in Field나 Put Output File in Field를 바꿨다면 여기도 같이 바꿔야 합니다.
  5. 비용 단계: 사용량 기록이 비어 있으면 OpenAI 노드를 쓰고 있는지부터 봅니다. 앞서 본 대로 이 노드는 usage를 남기지 않습니다. 기록이 없다는 것이 과금이 없었다는 뜻은 아닙니다.

파일은 정상으로 열리는데 결과물이 거칠거나 격자무늬가 보인다면 연동 문제가 아니라 화질 문제이므로 GPT Image 2.5 노이즈·격자무늬: 어디서 거칠어졌는지 찾는 법을 참고하세요.

자주 묻는 질문

n8n으로 GPT Image 2.5를 무료로 쓸 수 있나요?

아닙니다. n8n은 API를 부르는 도구일 뿐이고, 이미지 생성 비용은 OpenAI나 사용하는 중계 API에 따로 청구됩니다. OpenAI 직접 호출은 토큰 과금이며 Flare와 Sunburst의 토큰 단가는 같지만, 품질과 크기에 따라 소모 토큰이 달라 장당 비용은 달라집니다.

OpenAI 노드 모델 목록에 GPT Image 2.5가 안 보입니다

목록은 자격 증명 Base URL의 /models에서 가져온 결과이므로 계정이나 중계 서비스가 해당 ID를 목록에 내놓지 않으면 보이지 않습니다. Model 칸을 ID 모드로 바꿔 gpt-image-2.5-flare를 직접 입력하세요. ID 모드 자체가 없다면 노드 버전이 2.2 미만이니 노드를 새로 추가해야 합니다.

OpenAI 노드와 HTTP Request를 한 워크플로에서 섞어 써도 되나요?

됩니다. 예를 들어 초안 이미지는 OpenAI 노드의 medium으로 빠르게 뽑고, 최종본만 HTTP Request로 xhigh나 2K 크기를 요청하는 구성이 가능합니다. 다만 OpenAI 노드로 만든 쪽은 사용량이 기록되지 않으니 비용을 비교하려면 두 경로 모두 HTTP Request로 두는 편이 정확합니다.

GPT Image 2에서 쓰던 워크플로를 그대로 옮겨도 되나요?

모델 ID만 바꾸면 호출은 되지만, 같은 품질 이름이라도 소모 토큰이 달라질 수 있어 비용과 결과를 다시 확인해야 합니다. 옮길지 말지의 기준은 GPT Image 2.5 vs GPT Image 2: 옮길지 판단 기준에서 볼 수 있습니다.

참고 자료3

이 글이 링크한 외부 페이지를 본문에 나온 순서대로 정리했습니다. 마지막 업데이트: 2026년 9월 25일.

  1. 1.OpenAI 이미지 생성 가이드developers.openai.com/api/docs/guides/image-generation
  2. 2.issue #38482github.com/n8n-io/n8n/issues/38482
  3. 3.API Organization Verificationhelp.openai.com/en/articles/10910291-api-organization-verification
GPT Image 2.5 Sunburst와 Flare 선택 기준을 설명하는 표지. 왼쪽 주황색 카드에는 여러 구도로 찍은 에코백 사진과 Flare 빠른 시안 제작, 오른쪽 녹색 카드에는 돋보기로 확대한 원단 박음질과 Sunburst 세부 편집 검토가 있고 가운데에 에코백이 놓여 있다
API 가이드

GPT Image 2.5 Sunburst vs Flare: 실측 차이

빠른 기본형 Flare와 정밀 편집용 Sunburst는 같은 quality·크기면 1회 비용이 같습니다. 편집에서는 Flare가 25~45% 빨랐고, 블라인드 투표는 Sunburst가 앞섰습니다.

10 분
책상 위 모니터 화면에 GPT Image 2에 남을지, GPT Image 2.5 Flare 또는 Sunburst로 옮길지를 검증된 워크플로 여부에 따라 나누는 결정 흐름도가 표시된 표지
API 가이드

GPT Image 2.5 vs GPT Image 2: 옮길지 판단 기준

GPT Image 2는 지원 중단 대상이 아니고 세 모델의 토큰 단가는 같습니다. 검증된 워크플로는 Flare, 품질 미달이던 작업은 Sunburst부터 시험하되 출력 토큰 예산을 맞춰 비교하세요.

11 분