Nano Banana가 Gemini에서 이미지를 만들지 못한다고 해서 항상 같은 고장은 아닙니다. 웹 Gemini 세션이 멈춘 것일 수 있고, Pro redo 버튼이 현재 계정 경로에 없는 것일 수 있으며, 프롬프트가 정책 경계에 걸렸거나, Gemini API 프로젝트가 quota에 닿았거나, wrapper 도구가 업로드와 모델 alias를 잘못 보냈거나, 특정 route가 일시적으로 overload 상태일 수도 있습니다.
먼저 실패한 표면을 정하세요. 그 표면에 맞는 작은 수정 하나를 적용하고, 같은 표면에서 한 번만 다시 테스트합니다. permission, quota, policy, overload, status 신호가 보이면 blind retry를 멈추고 해당 분기로 넘어가야 합니다.
| 실패 표면 | 보이는 증상 | 첫 조치 | 재검증 | 멈추거나 넘길 기준 |
|---|---|---|---|---|
| Gemini web / mobile app | 로딩이 끝나지 않음, 생성 중 멈춤, something went wrong | 탭이나 앱을 다시 열고 새 chat 시작 | 같은 account, 같은 짧은 image request 한 번 | 계속 실패하면 prompt, account route, status 확인 |
| Pro redo route | Redo with Pro가 없거나 눌리지 않거나 결과가 불안정 | account, plan surface, region, 첫 이미지 생성 route 확인 | 확인된 Pro-capable route에서 같은 작업 재실행 | account와 route 전에는 outage로 보지 않음 |
| Prompt / policy | text만 반환, refusal, image part 없음 | 허용 가능한 한 장의 이미지 요청으로 prompt 축소 | 짧은 image-only prompt 한 번 | policy 모양이면 반복하지 말고 prompt 재작성 |
| AI Studio / Gemini API | 403, 429, 503, no image, request failure | model ID, key/project, billing, quota, payload, status 확인 | 수정한 request를 같은 route로 한 번 | 429와 503은 다른 stop rule, app cache로 해결하지 않음 |
| Wrapper / provider tool | Figma, Make, SDK, gateway, upload flow 실패 | direct Gemini route와 wrapper logs 비교 | wrapper 변수 하나만 고쳐 재검증 | route, timestamp, prompt, model, code, request id, screenshot, logs 저장 |
| Status / outage suspicion | 여러 route 실패, 503 지속, status signal | official status owner와 direct route 비교 | wait, queue, switch는 status 확인 후 | forum은 증상 단서일 뿐 live outage 증거가 아님 |
2026년 6월 28일 확인한 Google image generation docs 기준으로 Nano Banana 2는 gemini-3.1-flash-image, Nano Banana Pro는 gemini-3-pro-image, 이전 Nano Banana lane은 gemini-2.5-flash-image에 매핑됩니다. 현재 status, quota, price, plan benefit, availability, provider promise는 변동성이 있으므로 사실로 쓰려면 해당 시점의 official 또는 provider evidence가 필요합니다.
12가지 해결책은 순서가 아니라 route로 고른다
12가지를 위에서 아래로 모두 실행하면 안 됩니다. 증상은 route를 고르기 위한 단서입니다. route를 고른 뒤에는 하나의 변수만 바꾸고, 같은 route에서 한 번 다시 확인합니다. 그래야 quota, permission, policy 문제가 noisy retry loop로 변하지 않습니다.

| # | Route | 수정 | 사용할 때 | 검증 |
|---|---|---|---|---|
| 1 | App session | 탭이나 app 재시작 | Gemini가 loading에 멈춤, UI freeze, 첫 시도 미완료 | same prompt, same chat, one retry |
| 2 | App session | fresh chat 시작 | 기존 chat에 edits, uploads, failed attempts가 많음 | new chat, same simplified request |
| 3 | App/mobile | app 또는 browser update | mobile과 desktop이 다르게 동작 | update 후 같은 request |
| 4 | Prompt/policy | prompt 단순화 | text-only response, refusal, no image | short image-only prompt |
| 5 | Pro route | Pro route 확인 | Redo with Pro missing 또는 inconsistent | account와 route 확인 후 retry |
| 6 | API | model ID 확인 | generation 시작 전 request 실패 | current official image model ID 사용 |
| 7 | API | key와 project 확인 | 401, 403, permission wording | verified key/project로 같은 request |
| 8 | API | billing과 quota 확인 | 429 또는 RESOURCE_EXHAUSTED | project limit owner 확인 |
| 9 | API | 429 loop 중단 | retry마다 429 | quota/rate/spend branch 수정 |
| 10 | API/status | 503 status 확인 | UNAVAILABLE, overload, 넓은 route failure | official status와 retry policy 확인 |
| 11 | Wrapper | payload mapping 확인 | third-party tool만 실패 | direct route와 wrapper route 비교 |
| 12 | Escalation | evidence pack 저장 | controlled retest 후에도 실패 | timestamp, route, model, prompt, code, request id, screenshot, logs |
Gemini app과 mobile은 session부터 본다
실패가 Gemini app에서 보인다면 API key, billing, model ID부터 바꾸지 마세요. app-route failure는 멈춘 conversation state, stale UI route, browser/app cache, network switch, uploaded file context, 또는 Gemini가 이미지 요청을 text task로 해석한 것에서 자주 시작합니다.
가장 작은 조치는 다음입니다.
- browser tab을 reload하거나 mobile app을 완전히 닫았다가 다시 엽니다.
- 현재 conversation에 edits, uploads, 실패한 image attempts가 많다면 fresh chat을 시작합니다.
- mobile과 desktop이 다르면 Gemini 또는 Google app을 update한 뒤 같은 account로 다시 시도합니다.
- prompt를 one subject, one style, one output expectation으로 줄입니다.
- uploaded image가 있으면 먼저 file 없는 baseline을 만들고, 그다음 필요한 file 하나만 포함한 direct edit을 시도합니다.
같은 표면에서 다시 테스트하는 이유는 원인을 보존하기 위해서입니다. device, account, network, prompt, cache를 동시에 바꾸면 어떤 변화가 해결했는지 알 수 없습니다. 한 번의 retest에서는 하나의 variable만 바꾸면 충분합니다.
loading loop가 refusal로 바뀌면 더 이상 app session 문제가 아닙니다. prompt/policy branch로 이동한 것입니다. mobile app만 실패하고 desktop이 성공하면 app version, account route, region route를 먼저 보고 Gemini API 전체 장애로 쓰지 않습니다.
Pro redo는 account와 route를 따로 확인한다
"Nano Banana Pro가 안 된다"는 말은 image model failure가 아니라 access-route problem인 경우가 많습니다. 보이는 product route는 Google account, subscription surface, region, rollout state, 첫 이미지가 만들어진 route에 따라 달라질 수 있습니다.
| 확인할 것 | 중요한 이유 | 다음 조치 |
|---|---|---|
| 올바른 Google account인가 | multiple accounts는 plan과 feature route를 다르게 보이게 함 | expected access가 있는 account로 전환 후 reload |
| 첫 이미지가 지원 route에서 만들어졌는가 | 일부 Pro action은 initial image path에 의존 | target route에서 clean first image 생성 후 redo 확인 |
| 오늘 해당 surface에 기능이 노출되는가 | Gemini app, AI Studio, API, wrapper는 서로 다른 contract | current help/status owner 확인 |
| region 또는 plan dependency가 있는가 | availability는 변동됨 | current-run verified wording만 사용 |
consumer Gemini app의 Pro button 문제를 API payload로 고치려 하지 마세요. 아래 API checklist는 failed surface가 AI Studio 또는 Gemini API일 때만 맞습니다.
Prompt와 policy는 길게 쓰기보다 작게 만든다
Gemini가 text만 반환하거나, 이미지를 만들지 않거나, 명확한 API code 없이 refusal을 보이면 먼저 intent를 확인해야 합니다. 긴 prompt보다 짧고 명확한 image task가 더 빠른 테스트입니다.
textCreate one image: [subject]. Style: [visual style]. Do not include text unless I explicitly ask for it. Return the image only.
그다음 ambiguity를 제거합니다.
- multi-step scene을 one subject와 one background로 나눕니다.
- 필수가 아닌 brand, celebrity, copyrighted character, private-person reference를 제거합니다.
- clean base generation이 되기 전에는 "fix the previous failed output"을 요청하지 않습니다.
- aspect ratio, file format, multiple edits를 한 request에 모두 넣지 않습니다.
- uploaded image가 있으면 upload 없는 baseline과 필요한 file만 있는 direct edit을 분리합니다.
policy-shaped failure는 다시 누른다고 해결되지 않습니다. 같은 prompt를 반복해도 content boundary가 capacity problem으로 바뀌지 않습니다.
AI Studio와 Gemini API는 request contract를 확인한다
developer route에서는 Gemini app cache clear가 도움이 되지 않습니다. stale model ID, missing project permission, inactive billing path, exhausted quota, malformed payload, file resource, temporary 503은 별도 checklist가 필요합니다.

먼저 현재 model mapping을 확인합니다.
| Market-visible name | Official API model ID |
|---|---|
| Nano Banana 2 | gemini-3.1-flash-image |
| Nano Banana Pro | gemini-3-pro-image |
| Earlier Nano Banana lane | gemini-2.5-flash-image |
코드가 아직 old tutorial의 -preview string을 쓰고 있다면 먼저 current Google AI for Developers image generation docs와 대조하세요. stale model string은 넓은 장애처럼 보이지만 사실 request contract mismatch일 수 있습니다.
| Error / symptom | 확인할 의미 | 첫 수정 | Stop rule |
|---|---|---|---|
| 401 / 403 | key, project, permission, route access | key, project, API enablement, account, region 확인 | access 수정 전 retry 금지 |
429 RESOURCE_EXHAUSTED | rate, quota, spend, project limit | AI Studio 또는 quota surface에서 project limit owner 확인 | back off; retry loop로 bucket 숨기지 않기 |
503 UNAVAILABLE | temporary overload 또는 downtime | status와 retry policy 확인, pressure 감소 | prompt problem으로 처리하지 않기 |
| text response but no image part | request shape, output modality, parser | image intent 명확화, response parts 검사 | outage로 단정하지 않기 |
| wrapper says model failed | provider 또는 transport layer | same prompt를 direct Gemini app/API에서 실행 | direct-route comparison 후 escalation |
Google troubleshooting docs는 429를 limit branch, 503을 overload/downtime branch로 봅니다. rate-limit docs에서는 limits가 project-owned라고 설명하므로 같은 project 안에서 key를 돌리는 것은 보통 첫 조치가 아닙니다.
더 깊은 API branch는 Gemini image generation error, limit, and watermark reference, Gemini image 429 rate-limit branch, Gemini 3 Pro Image 503 overloaded branch로 넘기는 것이 좋습니다.
Wrapper, SDK, provider tool은 direct route와 비교한다
wrapper failures는 owner가 잘 숨습니다. visible error는 "model failed"라고 쓰지만 실제 원인은 upload mapping, file-size boundary, provider tenant limit, SDK version, webhook timeout, model alias, retry policy일 수 있습니다.
direct-route comparison 순서:
- exact prompt와 input file을 저장합니다.
- consumer-facing failure이면 Gemini app에서, developer-facing failure이면 AI Studio/API에서 같은 request를 시도합니다.
- direct route가 성공하면 wrapper의 model alias, payload fields, upload URL, MIME type, file size, timeout을 확인합니다.
- direct route도 같은 방식으로 실패하면 prompt, API, status branch로 돌아갑니다.
- SDK version이나 retry logic을 바꾸기 전에 provider logs를 저장합니다.
gateway 또는 provider route는 API branch가 증명된 뒤에만 의미가 있습니다. billing, routing, logs, support ownership을 바꾸지만 Gemini app session, blocked prompt, Pro route entitlement를 고치지는 않습니다.
언제 멈추고, 전환하고, escalation할까
가장 비싼 실수는 모든 변수를 한 번에 바꾸는 것입니다. 그러면 signal이 사라지고 support가 재현할 수 없는 failure가 됩니다.

| Signal | 멈출 행동 | 대신 할 일 |
|---|---|---|
| 403 / permission wording | 같은 credential로 retry | account, key, project, permission, route access 수정 |
429 / RESOURCE_EXHAUSTED | blind retry loop | project limits 확인, pressure 감소, 429 branch 진행 |
| policy-shaped refusal | 같은 prompt 반복 | allowed content와 clearer image intent로 재작성 |
| 503 / overload wording | prompt부터 바꾸기 | official status 확인, retry pressure 감소 |
| wrapper-only failure | prompt 먼저 변경 | direct route와 wrapper payload/logs 비교 |
| widespread route failure | forum posts를 증거로 사용 | AI Studio status 또는 failed surface의 official owner 확인 |
escalation에는 evidence가 필요합니다. 최소 패킷은 timestamp와 timezone, failed route, support에 공유 가능한 account/project identifier, minimized prompt, API라면 model ID, error code, message body, request ID, screenshot, server log, one same-surface retest, one direct-route comparison입니다.
깊은 분기는 classification 후에 연다
front-door diagnosis board는 분류용입니다. 모든 deeper owner를 대체하지 않습니다.
- current outage reasoning만 필요하면 Is Nano Banana 2 Down?를 봅니다.
- API 429만 문제라면 Gemini image 429 rate-limit guide를 봅니다.
- persistent 503 overload라면 Fix Gemini 3 Pro Image 503 Overloaded를 봅니다.
- price, free access, Nano Banana 2 vs Pro cost라면 Nano Banana API Pricing을 봅니다.
- Pro workflow context가 필요하면 Nano Banana Pro how to use를 봅니다.
실용 규칙은 간단합니다. branch를 먼저 증명하고, 그 branch owner로 넘깁니다.
자주 묻는 질문
왜 Nano Banana가 Gemini에서 이미지를 생성하지 않나요?
failed route가 아직 정해지지 않았기 때문인 경우가 많습니다. Gemini app session, Pro redo route, prompt policy, API project limit, wrapper payload, status problem은 모두 "이미지 생성 안 됨"처럼 보일 수 있습니다. failed surface를 고르고, 하나의 matching fix를 적용한 뒤 한 번만 다시 확인합니다.
Nano Banana가 오늘 다운된 건가요?
forum thread나 실패한 prompt 하나로 판단하지 않습니다. 사용하는 surface의 official status owner를 확인하고 direct route 하나를 비교하세요. 429, 403, prompt refusal, wrapper failure는 live outage와 다릅니다.
Gemini image generation의 429는 무엇인가요?
429 RESOURCE_EXHAUSTED는 rate, quota, spend, project-limit branch입니다. Nano Banana down의 증거가 아닙니다. project limit owner를 확인하고 retry pressure를 낮춘 뒤 지속되면 429 branch로 이동합니다.
Nano Banana 또는 Gemini image errors의 503은 무엇인가요?
503 UNAVAILABLE은 해당 route가 일시적으로 overloaded 또는 unavailable이라는 신호입니다. prompt나 account settings를 바꾸기 전에 status와 retry policy를 확인합니다. 지속되면 503 overload branch로 넘깁니다.
API는 실패하지만 Gemini app은 왜 동작하나요?
app과 API는 다른 contract입니다. API는 model ID, key/project, billing, quota, payload, region 때문에 실패할 수 있고 consumer app은 정상일 수 있습니다. app cache가 아니라 developer branch를 확인하세요.
Gemini app은 실패하지만 API는 왜 동작하나요?
app route는 session state, account route, Pro redo availability, UI rollout, prompt interpretation 때문에 실패할 수 있고 API는 healthy할 수 있습니다. app-session과 route checks부터 시작하세요.
Nano Banana가 실패하면 provider를 바꿔야 하나요?
branch diagnosis 후에만 고려하세요. provider route는 증명된 API routing, billing, logs, integration ownership 문제에는 도움이 될 수 있습니다. Gemini app session, blocked prompt, Pro entitlement route는 고치지 않습니다.
support에 문의하기 전에 무엇을 저장해야 하나요?
timestamp, route, prompt, model, error code, request ID, screenshot or logs, one same-surface retest result, one direct-route comparison을 저장하세요. 단순한 "안 된다" 보고보다 owner를 훨씬 빨리 찾을 수 있습니다.
