Nano Banana Pro Batch API 비용: 장당 $0.067, 4K는 호출당 요금과 역전
2026년 10월 4일 기준 Nano Banana Pro Batch는 1K·2K 장당 $0.067, 4K $0.12입니다. 4K는 호출당 $0.09가 더 싸고, 혼합 단가는 경로별 단가 사이입니다.
목차

2026년 10월 4일 기준 Gemini API에서 Nano Banana Pro(gemini-3-pro-image)를 Batch로 생성하면 이미지 출력 요금은 1K·2K 장당 $0.067, 4K 장당 $0.12로 Standard($0.134, $0.24)의 정확히 절반입니다(Google 가격 페이지). 다만 이 값은 이미지 출력만의 가격이고, 실제 청구액에는 프롬프트·참조 이미지 입력과 항상 켜져 있는 thinking 토큰이 더해집니다.
결론부터 정리하면 이렇습니다. 하루를 기다릴 수 있는 1K·2K 작업은 Batch가 가장 쌉니다. 4K는 Batch의 이미지 출력 요금만으로도 호출당 $0.09인 고정 요금 경로보다 비쌉니다. 그리고 여러 경로를 섞은 평균 단가는 반드시 가장 싼 경로와 가장 비싼 경로 사이에 놓이므로, 섞기만 해서 가장 싼 경로보다 낮아지는 일은 없습니다.
Nano Banana Pro 장당 가격: Batch 1K·2K $0.067, 4K $0.12
Google은 Nano Banana Pro를 토큰 단위로 과금합니다. 1K·2K 이미지는 출력 토큰 1,120개, 4K 이미지는 2,000개로 계산되며, 아래 장당 가격은 이 토큰 수에 이미지 출력 단가를 곱한 값입니다. 호출당 고정 요금 행은 Google이 아니라 laozhang.ai가 공개한 가격입니다.
안내: laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다. 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.
| 경로 | 1K·2K 장당 | 4K 장당 | 텍스트·thinking 출력 | 입력 | 응답 방식 |
|---|---|---|---|---|---|
| Standard | $0.134 | $0.24 | 100만 토큰당 $12.00 | 100만 토큰당 $2.00, 참조 이미지 1장 약 $0.0011 | 동기, 수 초~수 분 |
| Batch | $0.067 | $0.12 | 100만 토큰당 $6.00 | 100만 토큰당 $1.00, 참조 이미지 1장 $0.0006 | 비동기, 최대 24시간 |
| Flex | $0.067 | $0.12 | 100만 토큰당 $6.00 | Batch와 같음 | 동기, 1~15분 목표, 지원 모델 목록에는 없음 |
| Priority | 약 $0.242 | 약 $0.432 | 100만 토큰당 $21.60 | 100만 토큰당 $3.60 | 동기, 수 초 |
| laozhang.ai 호출당 요금 | $0.09 | $0.09 | 호출 가격에 포함 | 호출 가격에 포함 | 동기 |
몇 가지를 함께 읽어야 합니다.
- Batch는 정확히 50% 할인입니다. 이미지 출력 단가가 100만 토큰당 $120에서 $60으로 내려가고, 텍스트·thinking 출력과 입력도 절반입니다. 이미지 생성에 무료 등급은 없습니다.
- Priority 장당 가격은 Google이 공개한 숫자가 아닙니다. 이미지 출력 단가 100만 토큰당 $216에 토큰 수를 곱한 계산값입니다. 1,120 × $216 / 1,000,000 = $0.24192, 2,000 × $216 / 1,000,000 = $0.432입니다.
- Vertex AI도 같은 단가입니다. Google Cloud Vertex AI의 Global 리전 가격표에서 Gemini 3 Pro Image는 Standard 100만 토큰당 입력 $2.00·텍스트 출력 $12.00·이미지 출력 $120.00, Flex/Batch는 그 절반입니다(Vertex AI 가격).
- 호출당 $0.09는 크기와 thinking에 관계없이 같습니다. laozhang.ai 문서는 2026년 9월 24일 기준 공개 가격으로
gemini-3-pro-image를 1K·2K·4K 모두 호출당 $0.09로 안내하며, Batch나 할인 등급은 따로 없습니다(laozhang.ai Nano Banana 문서). 대량 작업 전에 같은 문서에서 현재 가격을 다시 확인하세요.
구독 요금제와 API 요금을 함께 비교해야 한다면 Nano Banana Pro 가격은 얼마일까? API·구독·호출 요금을 따로 계산하는 법에서 전체 가격 구조를 다룹니다.
Batch 청구액 계산식: 이미지 + 프롬프트 + thinking 토큰
Nano Banana Pro 호출 한 번의 청구액은 아래 네 항목의 합입니다. Gemini 3 이미지 모델은 thinking을 끌 수 없고, thinking 토큰은 텍스트 출력 단가로 과금됩니다.
호출 1회 비용 = 이미지 출력 장당 가격
+ 프롬프트 토큰 × 입력 단가
+ 참조 이미지 수 × 참조 이미지 1장 가격
+ (thinking 토큰 + 텍스트 출력 토큰) × 텍스트 출력 단가프롬프트 200토큰, 참조 이미지 없음, thinking 1,000토큰이라고 가정하면 다음과 같습니다.
| 경로·크기 | 이미지 출력 | 프롬프트 | thinking | 호출 1회 합계 |
|---|---|---|---|---|
| Batch 2K | $0.067 | 200 × $1 / 100만 = $0.0002 | 1,000 × $6 / 100만 = $0.006 | $0.0732 |
| Batch 4K | $0.12 | $0.0002 | $0.006 | $0.1262 |
| Standard 2K | $0.134 | 200 × $2 / 100만 = $0.0004 | 1,000 × $12 / 100만 = $0.012 | $0.1464 |
| Standard 4K | $0.24 | $0.0004 | $0.012 | $0.2524 |
이 가정에서 thinking 1,000토큰은 Batch 2K 이미지 출력 요금에 약 9%($0.006 / $0.067)를 더합니다. 참조 이미지를 넣으면 Batch에서는 1장마다 $0.0006이 붙으므로, 참조 이미지 2장을 쓰는 Batch 2K 호출은 $0.0732 + 2 × $0.0006 = $0.0744입니다.
프롬프트 200토큰과 thinking 1,000토큰은 예시일 뿐입니다. 실제 값은 Standard로 몇 건을 먼저 호출해 응답의 usageMetadata에서 promptTokenCount, thoughtsTokenCount, candidatesTokensDetails(이미지·텍스트 출력 토큰)를 읽어 위 식에 넣으세요.
쓸 수 있는 이미지 1장당 비용
결과물의 일부를 품질 때문에 버리고 다시 생성한다면, 버리는 비율을 r이라 할 때 쓸 수 있는 이미지 1장당 비용은 시도 1회 비용 / (1 − r)입니다. Batch 2K 이미지 출력 $0.067에 버리는 비율이 20%라면 $0.067 / 0.8 = $0.08375입니다.
r은 Google이 정한 값이 아니라 자기 작업에서 측정한 재생성 비율입니다. 같은 r이 모든 경로에 똑같이 적용되면 경로 간 순위는 바뀌지 않습니다. 순위가 바뀌는 경우는 한 경로는 실패를 과금하고 다른 경로는 과금하지 않을 때뿐이며, 이 차이는 아래 Batch 운영 비용 절에서 다룹니다.
혼합 단가 검산: 결과는 가장 싼 경로와 비싼 경로 사이
경로를 섞었을 때의 평균 단가는 가중 평균입니다.
혼합 단가 = Σ (경로별 비율 × 경로별 단가), 비율의 합 = 1예를 들어 2K 이미지의 70%를 Batch($0.067), 30%를 호출당 $0.09 경로로 보내면 이미지 출력 기준 0.7 × $0.067 + 0.3 × $0.09 = $0.0469 + $0.027 = $0.0739입니다. 앞의 토큰 가정을 넣은 Batch 2K 단가 $0.0732로 다시 계산하면 0.7 × $0.0732 + 0.3 × $0.09 = $0.05124 + $0.027 = $0.0782입니다. 두 결과 모두 $0.067~$0.09, $0.0732~$0.09 범위 안에 있습니다.
누가 제시한 혼합 단가든 이 범위 규칙 하나로 바로 걸러낼 수 있습니다.
- 비율의 합이 1(100%)인지 확인합니다.
- 결과가 사용한 경로 중 가장 싼 단가 이상, 가장 비싼 단가 이하인지 확인합니다. 4K Batch $0.12와 그보다 싼 경로를 어떻게 섞어도 결과는 싼 쪽 단가 아래로 내려갈 수 없습니다.
- 각 단가가 같은 모델·같은 크기의 현재 가격인지 확인합니다.
실제로 "Batch 0.5K 장당 $0.022 50%, 호출당 $0.05 40%, Standard 4K $0.24 10%"라는 조합을 계산하면 0.5 × $0.022 + 0.4 × $0.05 + 0.1 × $0.24 = $0.011 + $0.020 + $0.024 = $0.055입니다. 게다가 이 조합은 3번에서 이미 무너집니다. $0.022는 Nano Banana 2의 0.5K Batch 가격이고 Nano Banana Pro에는 0.5K 크기가 없으며, laozhang.ai의 Pro 호출당 가격도 지금은 $0.09입니다.
안내: laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다. 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.
작업 나누기와 손익분기: 1K·2K는 Batch, 4K는 호출당 $0.09
작업을 나누는 기준은 두 가지입니다. 결과를 바로 받아야 하는지, 그리고 출력 크기가 1K·2K인지 4K인지입니다.
| 작업 성격 | 1K·2K | 4K |
|---|---|---|
| 하루를 기다릴 수 있음 | Batch $0.067 + 토큰 비용 | 호출당 $0.09가 Batch $0.12보다 쌈 |
| 바로 필요함 | 호출당 $0.09가 Standard $0.134보다 쌈 | 호출당 $0.09가 Standard $0.24보다 쌈 |
1K·2K의 손익분기는 호출당 추가 토큰 비용 $0.023입니다. 호출당 $0.09와 Batch 이미지 출력 $0.067의 차이가 $0.023이므로, 프롬프트·참조 이미지·thinking 비용의 합이 이보다 작으면 Batch가 더 쌉니다. 프롬프트 200토큰($0.0002)에 참조 이미지가 없다면 남는 $0.0228을 텍스트 출력 단가로 나눠 ($0.09 − $0.067 − $0.0002) / ($6 / 100만) = 3,800토큰입니다. 즉 thinking과 텍스트 출력이 호출당 약 3,800토큰을 넘지 않으면 Batch가 유리합니다. 참조 이미지 1장($0.0006)마다 이 한도는 100토큰씩 줄어듭니다.
4K에는 손익분기가 없습니다. Batch 4K 이미지 출력 $0.12만으로 이미 $0.09를 넘기 때문에, 토큰을 더할수록 차이가 커질 뿐입니다. 앞의 가정에서 Batch 4K는 호출 1회 $0.1262로 $0.09보다 $0.0362 비쌉니다.
다만 가격만으로 경로를 고르면 안 되는 조건이 있습니다.
- 과금 규칙이 다릅니다. laozhang.ai 문서는 이미지 없이 HTTP 200으로 끝난 호출도 1회로 과금하고, 클라이언트 타임아웃이 나도 서버에서 생성이 끝났다면 과금될 수 있다고 안내합니다. 생성 전에 거절된 429·503은 보통 과금되지 않습니다. Batch의 실패 줄 과금은 문서에 없습니다.
- 크기 지정은 Gemini 네이티브 경로에서만 됩니다. laozhang.ai에서 2K·4K와 화면비를 지정하려면
generateContent형식의 Gemini 네이티브 경로를 써야 하고, OpenAI 호환 경로는 1:1 1K로 돌려줍니다. 4K를 호출당 $0.09로 만들려는 계획이라면 이 경로를 써야 합니다. - 결제처와 데이터 경로가 바뀝니다. Google 청구서 하나로 관리해야 하거나 사내 규정상 외부 게이트웨이를 쓸 수 없다면 4K도 Batch가 현실적인 최저가입니다.
안내: laozhang.ai는 이 블로그 운영팀의 자사 서비스입니다. 그 가격은 독립적인 비교가 아니라 자사 제시 가격입니다.
Google 직접 호출과 게이트웨이의 안정성까지 비교하려면 Nano Banana API 비용·안정성 비교: Google 직접 호출과 laozhang.ai를 참고하세요.
월 10,000장 청구액: 크기·경로·분할 방식별 비교
같은 10,000장이라도 크기와 경로에 따라 청구액 순위가 바뀝니다. 토큰 포함 열은 프롬프트 200토큰, thinking 1,000토큰, 참조 이미지 없음 가정이며, 재생성은 넣지 않았습니다.
| 크기·경로 | 이미지 출력만 | 토큰 포함 |
|---|---|---|
| 2K Standard | 10,000 × $0.134 = $1,340 | 10,000 × $0.1464 = $1,464 |
| 2K Batch | 10,000 × $0.067 = $670 | 10,000 × $0.0732 = $732 |
| 2K 호출당 | 10,000 × $0.09 = $900 | $900 |
| 4K Standard | 10,000 × $0.24 = $2,400 | 10,000 × $0.2524 = $2,524 |
| 4K Batch | 10,000 × $0.12 = $1,200 | 10,000 × $0.1262 = $1,262 |
| 4K 호출당 | 10,000 × $0.09 = $900 | $900 |
현실의 작업은 대개 일부만 급합니다. 10,000장 중 20%는 바로 필요하고 80%는 다음 날 받아도 되는 경우를 토큰 포함 단가로 계산하면 다음과 같습니다.
| 분할 방식 | 2K 혼합 단가와 합계 | 4K 혼합 단가와 합계 |
|---|---|---|
| 전부 Standard | $0.1464 → $1,464 | $0.2524 → $2,524 |
| Batch 80% + Standard 20% | 0.8 × $0.0732 + 0.2 × $0.1464 = $0.08784 → $878.40 | 0.8 × $0.1262 + 0.2 × $0.2524 = $0.15144 → $1,514.40 |
| Batch 80% + 호출당 20% | 0.8 × $0.0732 + 0.2 × $0.09 = $0.07656 → $765.60 | 0.8 × $0.1262 + 0.2 × $0.09 = $0.11896 → $1,189.60 |
| 전부 호출당 | $0.09 → $900 | $0.09 → $900 |
2K에서는 급한 20%만 호출당 경로로 보내는 분할이 가장 쌉니다. 4K에서는 분할할 이유가 없고 전부 호출당 경로가 가장 쌉니다. 모든 혼합 단가는 쓰인 두 경로의 단가 사이에 있습니다.

Flex로 Nano Banana Pro 비용을 줄일 수 있나: 요청 하나로 먼저 시험
Flex는 Batch와 같은 50% 할인을 받으면서 결과를 동기로 돌려받는 계층입니다. 요청에 service_tier: "flex"를 넣으면 되고, 1~15분 지연을 목표로 남는 자원을 쓰는 최선 노력(best-effort) 방식이라 자원이 부족하면 503, 한도를 넘으면 429를 돌려줍니다(Flex 추론 문서). 따라서 Flex는 "배치"가 아니라 싸지만 실패할 수 있는 동기 호출입니다.
문제는 문서끼리 맞지 않는다는 점입니다. 2026년 10월 4일 기준 가격 페이지에는 gemini-3-pro-image의 Flex 가격이 Batch와 같은 수치로 올라 있지만, Flex 문서의 지원 모델 목록에는 Gemini 텍스트 모델만 있고 Gemini 3 Pro Image는 없습니다.
그러므로 Flex를 작업 계획에 넣기 전에 요청 하나로 먼저 시험하세요. 응답의 usageMetadata.serviceTier가 Flex로 처리되었음을 보여 주는지, 청구 보고서에 Flex 단가로 잡히는지 확인한 뒤에 양을 늘리는 순서가 안전합니다. 503이 반복되면 Standard로 넘기는 대체 경로를 준비해 두고, 429·503 대처는 Nano Banana API 오류 해결: 429, 503, 이미지 없음, 요청 거부를 참고하세요.
Batch 작업의 숨은 비용: 24시간 대기, 48시간 만료, 실패한 줄
Batch의 50% 할인은 운영 부담과 맞바꾼 가격입니다. 실행 전에 아래 조건을 일정과 예산에 반영해야 합니다(Batch API 문서).
- 대기 시간은 최대 24시간입니다. Google은 24시간 안에 끝나도록 설계했다고 밝히며, 대부분은 그보다 훨씬 빨리 끝난다고 설명합니다. 중간 결과가 빨리 필요하면 큰 작업을 여러 개로 나누라고 권합니다.
- 48시간이 지나면 결과 없이 만료됩니다. PENDING이나 RUNNING 상태로 48시간을 넘긴 작업은
JOB_STATE_EXPIRED가 되고 받을 결과가 없습니다. 마감이 있는 작업은 이틀의 여유를 두고 제출하세요. - 작업 생성은 한 번만 보내야 합니다. 같은 생성 요청을 두 번 보내면 별개의 작업 두 개가 만들어집니다. 둘 다 처리되면 같은 이미지를 두 번 사게 되므로, 재시도 로직이 생성 요청을 반복하지 않게 하세요.
- 실패는 줄 단위로 옵니다. 작업 전체가 SUCCEEDED여도 결과 JSONL의 각 줄은
GenerateContentResponse이거나 오류 상태 객체입니다. 작업이 끝나면batchStats의failedRequestCount를 확인하고, 줄마다key로 원래 요청과 맞춰 실패한 줄만 다시 제출합니다. - 실패한 줄의 과금 여부는 문서에 없습니다. 취소한 작업에서 이미 처리된 부분이 어떻게 과금되는지도 마찬가지입니다. 취소는 "새 요청의 처리를 멈춘다"고만 설명되어 있습니다. 결과 줄의
usageMetadata와 Cloud 청구 보고서를 대조해 실제로 무엇이 과금되었는지 확인하세요. - 결과는 6주 동안만 보관됩니다. 6주가 지나면 영구 삭제되므로 받은 즉시 이미지를 저장소로 옮기세요.
- 폴링 대신 웹훅을 쓸 수 있습니다.
batch.succeeded,batch.failed이벤트를 받는 웹훅을 등록하면 상태 확인 호출을 반복하지 않아도 됩니다.

결과 줄에 이미지 없이 텍스트만 있거나 차단 사유만 있다면 원인별 조치는 Nano Banana API 이미지 안 나옴: 응답별 원인과 조치에 정리되어 있습니다.
JSONL 요청 줄과 결과 점검 코드: gemini-3-pro-image 기준
Google은 이미지 생성 Batch에 JSONL 입력 파일을 권장합니다. 인라인 요청은 전체 20MB 미만일 때만 쓸 수 있고, JSONL 파일은 File API로 올리며 파일당 최대 2GB입니다. 각 줄은 사용자가 정하는 key와 request로 이루어집니다. 아래는 Google Batch 문서의 이미지 예시 형태에 API 참조의 imageConfig 필드를 더한 줄입니다.
{"key": "sku-0001", "request": {"contents": [{"parts": [{"text": "Studio product photo of a white ceramic mug on a light gray background"}]}], "generation_config": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"imageSize": "2K", "aspectRatio": "1:1"}}}}
{"key": "sku-0002", "request": {"contents": [{"parts": [{"text": "Studio product photo of a black ceramic mug on a light gray background"}]}], "generation_config": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"imageSize": "4K", "aspectRatio": "4:5"}}}}imageSize는 Nano Banana Pro에서 1K, 2K, 4K만 씁니다. API 참조의 지원 값 목록에는 512도 있지만 이는 다른 이미지 모델용이며 Pro에는 해당하지 않습니다. 크기가 장당 가격을 정하므로, 작업 전체가 아니라 줄마다 필요한 크기를 지정하는 것이 비용을 아끼는 가장 직접적인 방법입니다.
파일을 올리고 작업을 만드는 순서는 Google 예시와 같으며, 모델 ID만 현재 정식 ID로 둡니다. Google Batch 문서의 이미지 예시 코드에 남아 있는 preview 모델 ID는 2026년 6월 25일에 종료되었으므로 그대로 복사하면 안 됩니다.
from google import genai
from google.genai import types
client = genai.Client() # 환경 변수 GEMINI_API_KEY 사용
uploaded = client.files.upload(
file="product-images.jsonl",
config=types.UploadFileConfig(display_name="product-images", mime_type="jsonl"),
)
job = client.batches.create(
model="gemini-3-pro-image",
src=uploaded.name,
config={"display_name": "product-images-2026-10"},
)
print(job.name) # 이 이름으로 상태를 조회하고, 생성 요청은 다시 보내지 않습니다요청 형식 자체가 처음이라면 나노 바나나 프로 API 사용법: 공식 JSON·YAML 템플릿과 오류 해결에서 단건 호출부터 확인하세요.
작업이 끝나 결과 파일을 batch_results.jsonl로 받았다면, 아래 스크립트로 응답 줄과 오류 줄, 이미지 없는 응답 수를 세고 결과 줄의 usageMetadata로 청구 추정액을 낼 수 있습니다. 결과 줄의 구조(response 또는 error)는 Google 예시 코드의 파싱 방식을 따랐고, 직접 만든 표본 결과 파일 3줄로 집계가 맞는지만 확인했습니다. 실제 청구액은 Cloud 청구 보고서가 기준입니다.
import json
import sys
# Batch 단가(100만 토큰당 USD, 2026년 10월 4일 기준)
IMAGE_PER_M, TEXT_PER_M, INPUT_PER_M = 60.00, 6.00, 1.00
ok = errors = images = no_image = 0
img_tok = txt_tok = think_tok = prompt_tok = 0
with open(sys.argv[1], encoding="utf-8") as f:
for line in f:
if not line.strip():
continue
row = json.loads(line)
resp = row.get("response")
if not resp:
errors += 1 # 상태(오류) 객체 줄
continue
ok += 1
cands = resp.get("candidates") or [{}]
parts = cands[0].get("content", {}).get("parts", [])
n = sum(1 for p in parts if "inlineData" in p)
images += n
no_image += (n == 0)
u = resp.get("usageMetadata", {})
prompt_tok += u.get("promptTokenCount", 0)
think_tok += u.get("thoughtsTokenCount", 0)
for d in u.get("candidatesTokensDetails", []):
if d.get("modality") == "IMAGE":
img_tok += d.get("tokenCount", 0)
else:
txt_tok += d.get("tokenCount", 0)
est = (img_tok * IMAGE_PER_M + (txt_tok + think_tok) * TEXT_PER_M
+ prompt_tok * INPUT_PER_M) / 1_000_000
print(f"응답 줄 {ok}, 오류 줄 {errors}, 이미지 {images}, 이미지 없는 응답 {no_image}")
print(f"응답 줄 기준 추정액 ${est:.4f}, 이미지 1장당 ${est / max(images, 1):.4f}")표본 파일(2K 이미지 1장이 있는 응답, 이미지 없는 응답, 오류 줄 각 1줄)로 실행한 결과는 다음과 같습니다.
응답 줄 2, 오류 줄 1, 이미지 1, 이미지 없는 응답 1
응답 줄 기준 추정액 $0.0758, 이미지 1장당 $0.0758이미지 토큰 1,120 × $60 + (텍스트 70 + thinking 1,300) × $6 + 프롬프트 400 × $1을 100만으로 나누면 $0.07582이므로 계산과 일치합니다. 이 추정액은 오류 줄이 과금되지 않는다고 가정한 값입니다. 청구 보고서의 금액이 이보다 크다면 그 차이가 오류 줄이나 이미지 없는 응답에 대한 과금일 가능성을 의심해 볼 수 있습니다. 이미지 토큰 단가로 직접 곱한 값(1,120 × $60 / 100만 = $0.0672)은 Google이 반올림해 공개한 $0.067과 조금 다릅니다.
Nano Banana Pro 비용 계산기: Python 스크립트로 내 작업 추정하기
아래 스크립트는 경로별 호출 1회 비용, 쓸 수 있는 이미지 1장당 비용, 혼합 단가를 계산합니다. 외부 라이브러리 없이 동작하며, 위의 표에 나온 값($0.0732, $0.1262, $0.1464, $0.0739, $0.08375, 손익분기 3,800토큰)과 혼합 단가가 항상 최소·최대 단가 사이에 놓이는지(무작위 조합 1,000개) 등 12개 검사를 Python 3.12.1에서 모두 통과했습니다. API를 호출하지 않는 추정용 계산기이며 청구 기록을 대신하지 않습니다. 가격이 바뀌면 RATES만 고치세요.
"""Nano Banana Pro(gemini-3-pro-image) 작업의 경로별 청구액을 추정합니다.
단가는 2026년 10월 4일 기준 Google 공개 가격(USD)과 호출당 고정 가격 하나입니다.
가격이 바뀌면 RATES만 고치세요. 청구 기록이 아니라 추정용 계산기입니다.
"""
RATES = {
# 이미지 출력은 크기별 장당 가격, 텍스트·thinking 출력과 입력은 100만 토큰당 가격
"standard": {"image": {"1K": 0.134, "2K": 0.134, "4K": 0.24},
"text_out_per_m": 12.00, "input_per_m": 2.00, "ref_image": 0.0011},
"batch": {"image": {"1K": 0.067, "2K": 0.067, "4K": 0.12},
"text_out_per_m": 6.00, "input_per_m": 1.00, "ref_image": 0.0006},
# 호출당 고정 경로: 크기나 thinking과 관계없이 호출 1회에 한 가격
"per_call": {"flat": 0.09},
}
def cost_per_call(route, size, prompt_tokens=200, thinking_tokens=1000, ref_images=0):
r = RATES[route]
if "flat" in r:
return r["flat"]
return (r["image"][size]
+ prompt_tokens * r["input_per_m"] / 1_000_000
+ ref_images * r["ref_image"]
+ thinking_tokens * r["text_out_per_m"] / 1_000_000)
def cost_per_usable_image(call_cost, reject_rate):
"""모든 시도가 과금되고, 그중 reject_rate 비율의 결과를 쓸 수 없다고 가정합니다."""
if not 0 <= reject_rate < 1:
raise ValueError("reject_rate must be in [0, 1)")
return call_cost / (1 - reject_rate)
def blended(shares_and_costs):
"""shares_and_costs: (비율, 단가) 목록. 비율의 합은 1이어야 합니다."""
total_share = sum(s for s, _ in shares_and_costs)
if abs(total_share - 1) > 1e-9:
raise ValueError("shares must add up to 1")
return sum(s * c for s, c in shares_and_costs)
if __name__ == "__main__":
images, size = 10_000, "2K"
for route in ("standard", "batch", "per_call"):
c = cost_per_call(route, size)
print(f"{route:9s} {size}: ${c:.4f} per call, ${c * images:,.2f} for {images:,} images")
mix = blended([(0.7, cost_per_call("batch", size)), (0.3, cost_per_call("per_call", size))])
print(f"70% batch + 30% per-call: ${mix:.4f} per image")python3 batch_cost.py로 실행하면 2K 10,000장 기준 결과가 나옵니다.
standard 2K: $0.1464 per call, $1,464.00 for 10,000 images
batch 2K: $0.0732 per call, $732.00 for 10,000 images
per_call 2K: $0.0900 per call, $900.00 for 10,000 images
70% batch + 30% per-call: $0.0782 per image자기 작업에 맞추려면 cost_per_call("batch", "4K", prompt_tokens=350, thinking_tokens=1800, ref_images=2)처럼 실제로 측정한 토큰 수와 참조 이미지 수를 넣고, 버리는 비율은 cost_per_usable_image(비용, 0.15)로, 경로 분할은 blended([(0.8, a), (0.2, b)])로 계산합니다. blended는 비율의 합이 1이 아니면 오류를 냅니다.
Nano Banana Pro API 가격과 무료 여부: 자주 묻는 질문
Nano Banana Pro API는 무료로 쓸 수 있나요?
아닙니다. 2026년 10월 4일 기준 Gemini API 가격표에서 gemini-3-pro-image의 무료 등급은 입력·출력 모두 "Not available"입니다. 가장 싼 공식 경로는 Batch이며 1K·2K 장당 $0.067, 4K 장당 $0.12에 토큰 비용이 더해집니다.
Batch로 만든 Nano Banana Pro 이미지는 Standard와 품질이 같나요?
Batch는 같은 모델 ID gemini-3-pro-image에 같은 형식의 요청을 보내는 처리 방식이고, Google은 Batch의 지원 모달리티가 일반 API와 같다고 설명합니다. 가격 차이는 결과를 언제 받느냐에서 나옵니다. 크기와 화면비는 요청 줄마다 직접 지정해야 합니다.
Nano Banana Pro Batch 작업은 실제로 얼마나 걸리나요?
Google이 밝힌 목표는 24시간이며 대부분은 그보다 빨리 끝난다고 설명합니다. 다만 작업 크기와 시스템 부하에 따라 달라지고, 48시간 안에 끝나지 않으면 결과 없이 만료됩니다. 공개된 평균 완료 시간은 없으므로 작은 작업으로 자기 환경의 소요 시간을 먼저 재 보세요.
Nano Banana 2로 바꾸면 Batch 비용이 얼마나 줄어드나요?
Nano Banana 2(gemini-3.1-flash-image)의 Batch 가격은 0.5K $0.022, 1K $0.034, 2K $0.050, 4K $0.076이고, Standard는 0.5K $0.045, 1K $0.067, 2K $0.101, 4K $0.151입니다. 같은 크기에서 Pro Batch보다 쌉니다(2K는 $0.050 대 $0.067, 4K는 $0.076 대 $0.12). 다른 모델이라 결과물이 달라지므로, 자기 프롬프트 표본으로 품질을 비교한 뒤 바꿀지 결정하세요.
호출당 요금 경로에도 Batch 할인이 있나요?
laozhang.ai 문서에는 Batch나 할인 등급이 없습니다. gemini-3-pro-image는 1K·2K·4K 모두 호출당 $0.09이고 thinking 양에 따라 가격이 달라지지 않습니다. 그래서 4K이거나 thinking 토큰이 많은 작업일수록 상대적으로 유리하고, 토큰이 적은 1K·2K 작업에서는 Google Batch가 더 쌉니다.
참고 자료4
이 글이 링크한 외부 페이지를 본문에 나온 순서대로 정리했습니다. 마지막 업데이트: 2026년 10월 4일.
참고 자료4
이 글이 링크한 외부 페이지를 본문에 나온 순서대로 정리했습니다. 마지막 업데이트: 2026년 10월 4일.





