Project: Analisis Videos COD (gen-lang-client-01744099..)
Billing account: Tier 2, Prepay, credit balance available, auto-reload on, nowhere near the account tier cap. Valid payment method on file.
Problem: Starting Aug 13, 2026 (worked fine before that), every call to models.generateContent that
references a file uploaded via files.upload() returns:
403 PERMISSION_DENIED. {"error": {"code": 403, "message": "The caller does not have permission",
"status": "PERMISSION_DENIED"}}
Key details:
- files.upload() and files.get() work fine — the file reaches ACTIVE state without issue.
- generateContent with text ONLY (no file) works fine (occasionally a normal 503 "high demand").
- generateContent WITH a file attached (referencing an already-ACTIVE upload) fails EVERY time with
the 403 above — reproduced with 2 different keys from the same project (both fail identically), from
multiple sessions/machines, and with different video files (short 25s clips and one 230s video).
- No warning banner visible on the AI Studio Projects page, Billing page, or the Cloud Console
dashboard/notifications for this project.
- Cloud Audit Logs for this project only show admin-plane activity (key creation, IAM, service
enablement) — no entries for the actual generateContent calls, so no extra clues there.
- This started right around when a "Google Cloud access blocked — 2-step verification required"
notice appeared for this account. We've since enabled 2SV, which appears to have fixed generateContent
calls with text only, but calls with a file attached are still failing identically.
- Important: this is NOT a structural limitation of "account bound" API keys — this SAME key (bound to
a service account since its creation on Jul 23, 2026) successfully processed dozens of file uploads +
generateContent calls earlier on Aug 13, in the same session, hours before it started failing. So
whatever changed, changed mid-session, not something inherent to the key type.
Model: gemini-flash-latest
Library: google-genai (Python), running locally (not from a cloud host)
Question: is there a separate permission/quota/flag for Files API access within generateContent that
propagates on a different timeline than plain text generateContent during the 2SV enforcement rollout?
Or is something else going on? Any way to check/clear this from our side, or an ETA, would help a lot —
this is currently blocking an entire video-localization pipeline that depends on Gemini analyzing
uploaded videos.
Hello @Mi_Digital ,
We recently rolled out a fix that should have resolved this issue. Request you to retry and let us know if you still face the issue.