Nano Banana 2.1 이미지 생성 비용은 어떻게 계산할까?

Nano Banana 2.1의 입력·이미지·추론 토큰 비용을 구분해 계산합니다. 실제 1K 응답, 일괄 생성 예산과 4K 문서의 차이를 살펴봅니다.

밝은 카드 위 주판 선화, 기하학 장식과 Nano Banana 2.1 제목.

2026년 10월 13일 기준, Ofox 공개 카탈로그에는 google/gemini-nano-banana-2.1의 요금이 입력 토큰 100만 개당 $1.50, 텍스트 출력 토큰 100만 개당 $7.50, 이미지 출력 토큰 100만 개당 $30, 웹 검색 요청당 $0.014로 표시되어 있습니다. 테스트한 1K 이미지 한 장에는 이미지 출력 토큰 1,120개가 사용됐으며, 표시된 요금으로 계산한 이미지 부분 비용은 $0.0336입니다. 이는 요청 전체에 고정적으로 적용되는 가격이 아닙니다. 입력, 텍스트, 요금이 부과될 수 있는 추론, 검색, 재시도, 후속 편집이 비용을 더할 수 있습니다.

이 글은 Ofox가 게시하며, 여기서 테스트한 게이트웨이도 Ofox입니다. 아래 요금은 Ofox 공개 카탈로그를 2026년 10월 13일에 확인한 값이지, 인보이스나 향후 요청에도 똑같이 청구된다는 보장은 아닙니다. 함께 진행한 API 확인은 Ofox 게이트웨이를 사용했으며, 이미지 응답과 사용량 수치는 해당 확인에서 관찰한 결과입니다.

단위를 혼동하지 않고 확인하는 요금

정확한 Ofox 모델 ID는 google/gemini-nano-banana-2.1입니다. 공개 모델 페이지에는 Gemini와 OpenAI 프로토콜, Vertex 공급자가 표시되어 있습니다. 카탈로그에 기재된 요금은 각각 과금 단위가 다릅니다.

카탈로그 항목표시된 USD 요금단위적용 대상
입력$1.50입력 토큰 100만 개당프롬프트와 제출한 기타 컨텍스트. 서비스가 계산하는 방식에 따라 이미지나 대화 컨텍스트도 포함
텍스트 출력$7.50출력 토큰 100만 개당생성된 텍스트. Google의 요금 페이지는 텍스트와 추론을 이 요금으로 묶어 안내
이미지 출력$30.00이미지 출력 토큰 100만 개당생성된 이미지 토큰에 적용. 이미지 한 장당 $30이 아님
웹 검색$0.014검색 요청당해당되는 경우 적용되는 별도 요청 단위 요금. 모든 이미지 생성에 더하는 요금은 아님

이 모델의 카탈로그상 공급자 요금은 null입니다. 이것만으로 공급자 할인이나 공급자 비용 0을 의미한다고 볼 수 없으며, 표시된 요금 대신 쓸 두 번째 요금이 있다는 뜻도 아닙니다. 마찬가지로 카탈로그 타입 정의는 output_image의 토큰당 요금과 별도의 이미지 개수당 필드인 output_image_per_num을 구분합니다. 전자를 카탈로그에 표시된 이미지 한 장당 정액 요금으로 바꾸어 해석하지 마세요.

요금은 2026년 10월 13일 Ofox 공개 카탈로그에서 가져왔습니다. 편집 검토 과정에서는 날짜가 표시된 저장소 리비전을 확인해 카탈로그 구현과 필드 정의도 대조했습니다. 카탈로그는 동적으로 바뀝니다. 구현에는 고정된 요금표가 Git에 저장되어 있지 않습니다. input, output, output_image는 토큰당 요금 필드이고, web_search는 요청당 요금 필드입니다. 구현을 확인하면 필드의 의미는 알 수 있지만, 배포된 서비스가 특정 저장소 리비전과 일치한다는 점이나 예상 금액이 최종 청구액과 같다는 점까지 입증되지는 않습니다.

첫 요청에서 측정한 값과 가정에 따른 총액

처음 테스트한 요청은 Ofox의 네이티브 Gemini 엔드포인트를 통해 보낸 1:1 비율, 1K 포스터 생성 요청이었습니다. HTTP 200과 STOP을 반환했고, 1024 × 1024 PNG가 생성됐습니다. 사용량에는 입력 토큰 54개, 보고된 텍스트 출력 토큰 80개, 이미지 출력 토큰 1,120개, 추론 토큰 639개가 기록됐습니다. 실제 콘텐츠에는 이미지 파트만 있었고, 눈에 보이는 텍스트 파트는 없었습니다. 이 80개 토큰은 눈에 보이는 텍스트의 양이 아니라 사용량 메타데이터에 보고된 값입니다. 이미지 출력 부분은 간단히 계산할 수 있습니다.

1,120 image-output tokens × ($30 / 1,000,000 tokens) = $0.033600
54 input tokens         × ($1.50 / 1,000,000 tokens) = $0.000081
80 reported text tokens  × ($7.50 / 1,000,000 tokens) = $0.000600
                                                Subtotal = $0.034281

보고된 추론 토큰 639개 모두에 텍스트 및 추론 요금인 100만 개당 $7.50이 적용된다고 가정한다면—검증된 인보이스 계산이 아닌 예상용 가정입니다—추가 금액은 다음과 같습니다.

639 × $7.50 / 1,000,000 = $0.0047925
Assumed estimate for this request = $0.034281 + $0.0047925
                                  = $0.0390735

이 예상에는 이 요청으로 확인되지 않은 적용 가능 요금이 포함되지 않았으므로, Ofox가 청구한 금액으로 제시해서는 안 됩니다. 또한 “1K 이미지 비용은 3.36센트”라고 할 때는 조건을 붙여야 하는 이유도 보여 줍니다. 이 측정 사례에서 3.36센트는 이미지 부분 비용입니다.

정액 가격을 가정하기보다 직접 받은 응답을 확인하려면, 이 요청에서 테스트에 사용한 첫 프롬프트를 그대로 사용하세요. 전체 응답을 저장하므로 사용량과 이미지 파트를 따로 살펴볼 수 있습니다.

cat > request.json <<'JSON'
{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "Create a square minimalist event poster on warm cream paper. Large exact headline: ORCHARD MARKET. Smaller exact line: SATURDAY 10 AM. Draw three red apples in a blue ceramic bowl below the text. No other text, no logos, no border."
    }]
  }],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
  }
}
JSON

curl --fail-with-body \
  -H "x-goog-api-key: $OFOX_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @request.json \
  "https://api.ofox.io/gemini/v1beta/models/google/gemini-nano-banana-2.1:generateContent" \
  > response.json

python3 - <<'PY'
import base64
import json

with open("response.json", encoding="utf-8") as f:
    response = json.load(f)

print(json.dumps(response.get("usageMetadata", {}), indent=2))
for candidate_index, candidate in enumerate(response.get("candidates", [])):
    for part_index, part in enumerate(candidate.get("content", {}).get("parts", [])):
        inline = part.get("inlineData")
        mime = (inline or {}).get("mimeType", "")
        if inline and inline.get("data") and mime.startswith("image/"):
            extension = {"image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp"}.get(mime)
            if extension is None:
                raise ValueError("Unsupported image MIME type: " + mime)
            name = f"image-{candidate_index}-{part_index}{extension}"
            with open(name, "wb") as f:
                f.write(base64.b64decode(inline["data"], validate=True))
            print("Saved", name, inline.get("mimeType"))
        elif "text" in part:
            print("Text part:", part["text"])
PY

먼저 환경에 OFOX_API_KEY를 설정하세요. 이 코드는 텍스트 파트를 이미지로 취급하지 않고, 반환된 모든 인라인 이미지 파트를 저장합니다. 파일 확장자는 반환된 MIME 타입을 따릅니다. 지원하지 않는 타입이면 PNG라고 잘못 표시하지 않고 추출을 중단합니다. 대화를 이어갈 계획이라면 전체 JSON을 보관하세요. 여러 차례 이어서 진행한 테스트에서는 이전 candidates[0].content를 추론 서명 파트까지 포함해 그대로 다시 보낸 다음 새 사용자 턴을 추가했습니다. 그 콘텐츠를 추출한 텍스트와 이미지로 재구성하는 것은 같은 작업이 아닙니다. 이 요금 예시 외에 요청 설정과 응답 처리 방법은 Nano Banana 2.1 API 가이드를 참고하세요.

해상도에 따라 달라지는 이미지 부분 비용

Google의 공식 요금 안내에는 토큰 수와 이미지 요금 예시가, 모델 문서에는 해상도 기능이 설명되어 있습니다. 아래 표는 Ofox에서 실제로 받은 결과와 다른 문서에 기재된 내용을 구분합니다.

요청 해상도예시 계산에 사용한 이미지 출력 토큰$30/M 기준 이미지 부분 비용근거와 한계
1K1,120$0.0336테스트한 2.1 요청 3건에서 모두 관찰. 각 요청에서 1024 × 1024 PNG 반환
2K1,680$0.0504Google 문서에 기재된 값. 이 Ofox 경로에서는 테스트하지 않음
4K3,780약 $0.1134Google 요금 자료와 Vertex 문서에 기재된 값. 이 Ofox 경로에서는 테스트하지 않음

4K 문서에는 중요한 수치 충돌이 있습니다. Google의 이미지 생성 문서는 이미지 생성 표에 이미지 토큰 2,520개도 제시합니다. 100만 개당 $30으로 계산하면 이미지 부분 비용은 $0.1134가 아니라 $0.0756입니다. 서로 다른 수치를 임의로 평균 내거나 Ofox의 4K 확정 견적으로 제시해서는 안 됩니다. 4K 예산을 두 수치 중 어느 쪽으로든 책정하기 전에 최신 문서와 카탈로그를 확인하고, 실제 4K 응답과 청구 내역도 확인하세요. 기재된 1K와 문서에 나온 2K 수치도 요청의 다른 비용 항목은 포함하지 않습니다.

승인할 이미지 수, 재시도, 편집 비용 예산

작업량을 계산할 때는 최종적으로 남길 이미지뿐 아니라 생성된 결과물 수를 세세요. 관찰한 1K 이미지의 출력 토큰 수인 1,120개와 이에 해당하는 이미지 부분 비용이 일정하다고 가정하면 다음과 같습니다.

100 generated 1K outputs × $0.0336 = $3.36 image component
125 generated 1K outputs × $0.0336 = $4.20 image component

두 번째 줄은 이미지 125장을 생성해 100장을 승인하는 가상의 작업을 나타냅니다. 승인율은 80%입니다. 이는 측정된 승인율이나 예측치가 아닙니다. 두 계산 모두 입력, 텍스트, 추론, 해당되는 경우 검색, 기타 잠재적 요금은 제외합니다. 여러 후보를 생성하거나, 결과가 적절하지 않아 다시 생성하거나, 편집을 시도하는 경우도 모두 비용에 영향을 줍니다. 생성했지만 제외한 이미지도 이미 생성된 결과이기 때문입니다.

편집을 이어서 진행하면 또 다른 변수가 생깁니다. 후속 요청은 이전 대화 내용과 이미지를 제출하므로 입력 사용량이 커질 수 있습니다. 2.1을 세 차례에 걸쳐 테스트하면서 사용한 정확한 후속 프롬프트는 다음과 같습니다.

“Change only the headline from ORCHARD MARKET to ORCHARD FAIR. Keep SATURDAY 10 AM exactly unchanged. Preserve the three red apples, blue bowl, cream background, composition and all other pixels as closely as possible.”

“Now change only the bowl from blue to dark green. Preserve ORCHARD FAIR, SATURDAY 10 AM, the three red apples and the layout.”

테스트한 2.1 턴보고된 입력 토큰보고된 이미지 출력 토큰표시 요금 기준 이미지 부분 비용표시 요금 기준 입력 부분 비용
포스터 초안541,120$0.033600$0.0000810
제목 편집1,1671,120$0.033600$0.0017505
그릇 편집2,2721,120$0.033600$0.0034080

이미지 부분 비용만 합하면 $0.1008입니다. 보고된 입력 부분 비용의 합은 $0.0052395이며, 출력 텍스트나 추론에 대한 가정은 포함하지 않습니다. 첫 턴에는 텍스트 출력 토큰 80개와 추론 토큰 639개가 보고됐습니다. 두 번째 턴에는 TEXT 출력 항목이 없었고 추론 토큰 358개가 보고됐습니다. 세 번째 턴에는 TEXT 출력 항목이 없었으며 추론 토큰도 보고되지 않았습니다. “보고되지 않음”을 “청구액 0”으로 바꾸어 해석해서는 안 됩니다. 반환된 사용량 정보만으로는 제출된 대화 이력이 어떤 방식으로 계산됐는지 모든 세부 사항을 알 수도 없습니다. 따라서 실제 사용량과 청구 내역을 확인하지 않은 채 이미지 세 장의 단순 예상 비용을 편집 작업 견적에 더하는 것은 안전하지 않습니다. 포스터 편집 단계별 안내에서는 보존 지시를 픽셀 단위 보장으로 간주하지 않고, 편집 결과에서 시각적으로 무엇이 달라졌는지 다룹니다.

2.1은 Nano Banana 2보다 저렴할까?

어떤 요금 항목을 비교하는지에 따라 다릅니다. 이전 모델의 정확한 Ofox ID는 google/gemini-3.1-flash-image입니다. 날짜가 표시된 카탈로그 스냅샷에는 입력 토큰 100만 개당 $0.50, 텍스트 출력 토큰 100만 개당 $3, 이미지 출력 토큰 100만 개당 $60로 기재되어 있습니다. 이미지 출력 토큰 1,120개를 동일하게 적용할 때 표시된 이미지 부분 비용은 다음과 같습니다.

Nano Banana 2:   1,120 × $60 / 1,000,000 = $0.0672
Nano Banana 2.1: 1,120 × $30 / 1,000,000 = $0.0336

따라서 2.1의 표시된 이미지 토큰 요금은 이전 모델의 절반입니다. 하지만 2.1의 표시된 입력 요금은 세 배이고, 텍스트 출력 요금은 2.5배입니다. 요청 전체나 작업 흐름의 비용이 일괄적으로 “50% 할인”된다고 홍보하는 것은 정확하지 않습니다.

이전 모델에서도 이에 대응하는 3단계 대화를 한 차례 실행했습니다. 두 모델에 보낸 총 6개 요청 모두 HTTP 200과 STOP을 반환했고, 턴마다 1024 × 1024 PNG 한 장을 생성했습니다. 관찰한 프롬프트와 이미지 출력 토큰 수는 이 제한적인 비교 범위에서 서로 맞았지만, 두 모델의 기본 설정은 달랐을 수 있습니다. 시드나 추론 수준은 설정하지 않았고, 반복 테스트도 하지 않았습니다. 이 실행에서는 이전 모델이 추론 토큰을 보고하지 않았지만, 그것이 추론 비용이 0이었다는 증거는 아닙니다. 일반적인 품질이나 총비용 순위가 아니라 시각적 비교의 한계를 알아보려면 2.1과 2 비교를 참고하세요.

예산을 확정하기 전에 확인할 사항

대규모 작업을 시작하기 직전에 Ofox 실시간 카탈로그와 모델 페이지를 새로 확인하세요. 날짜가 표시된 스냅샷은 오래된 정보가 될 수 있고, Git의 구현 링크가 동적으로 바뀌는 요금을 고정해 주지는 않습니다. 모델 ID, 요청 해상도, 응답 사용량, 생성한 이미지 수, 인보이스 또는 계정 청구 데이터를 기록하세요. 표시 요금으로 계산한 금액과 실제 청구 내역을 구분해야 합니다. 요청 결과가 텍스트뿐이거나, 오류가 발생하거나, 사용할 수 있는 이미지가 없더라도 무료라고 가정하지 마세요. 사용량과 청구 결과를 확인하세요. 이미지가 반환되지 않을 때의 문제 해결 가이드에서 응답 파트와 실패 여부를 확인하는 방법을 다룹니다.

마지막으로 기능과 비용에 대한 주장은 따로 살펴보세요. Google 문서에는 참조 이미지 최대 14개와 1K, 2K, 4K 기능이 안내되어 있지만, 이번 확인에서는 Ofox 경로를 통해 모든 기능을 테스트하지 않았습니다. 공개 Ofox 모델 페이지 인터페이스는 모델 등록 및 준비 상태에 대한 근거일 뿐, API에서 생성된 결과가 아닙니다. 페이지에 포함된 Playground에는 로그인이 필요했고, 인증된 Agent의 모델 선택은 테스트하지 않았습니다. 따라서 Agent가 확실히 2.1을 선택한다고 단정하는 내용은 없습니다.

이 글은 AI의 도움을 받아 작성했고, 명시한 API 응답과 출처를 대조했으며, 게시 전에 별도의 AI 검토를 거쳤습니다. 가장 근거에 충실한 실무 예상치는 관찰된 1K 이미지 생성의 이미지 출력 부분 비용인 $0.0336입니다. 여기에 실제 요청에서 사용된 나머지 항목의 비용을 따로 추정하고, 실제 청구 내역으로 확인해야 합니다.