Context
AvaYar's live Gemini TTS diagnostics were rerun from a VPN route in Istanbul, Turkey.
Observed results
- Public route:
TR / Istanbul
GEMINI_API_KEY loaded successfully for the test
- Gemini models metadata request:
HTTP 403
gemini-3.1-flash-tts-preview:generateContent: HTTP 403
- Live Persian speech probe exits with code
1
- Google response: client does not have permission to access the TTS generateContent URL
Important operational note
Some user/network locations may require a supported-country VPN/network route before using AvaYar Gemini speech. This should be documented for users and operators.
However, VPN must not be documented as a complete fix yet: the current test still receives 403 even through Turkey. The remaining blocker is likely API key / Google project / API access / account policy / model entitlement and must be isolated next.
Documentation requirement
Add a troubleshooting section to AvaYar docs that explains:
- Gemini speech requires
GEMINI_API_KEY.
- In unsupported/restricted network regions, use a supported network/VPN route.
- Verify the public egress country before testing.
- A persistent
403 after switching routes means the user must check Gemini API key/project/access rather than modify AvaYar code.
- Never commit API keys to the repository.
Acceptance criteria
Current status
Blocked on isolating Google Gemini API key/project access. Production remains unchanged.
Context
AvaYar's live Gemini TTS diagnostics were rerun from a VPN route in Istanbul, Turkey.
Observed results
TR / IstanbulGEMINI_API_KEYloaded successfully for the testHTTP 403gemini-3.1-flash-tts-preview:generateContent:HTTP 4031Important operational note
Some user/network locations may require a supported-country VPN/network route before using AvaYar Gemini speech. This should be documented for users and operators.
However, VPN must not be documented as a complete fix yet: the current test still receives
403even through Turkey. The remaining blocker is likely API key / Google project / API access / account policy / model entitlement and must be isolated next.Documentation requirement
Add a troubleshooting section to AvaYar docs that explains:
GEMINI_API_KEY.403after switching routes means the user must check Gemini API key/project/access rather than modify AvaYar code.Acceptance criteria
scripts/diagnose-gemini-ci-route.mjsandscripts/live-gemini-speech-probe.mjs).403classification points to key/project/access investigation.Current status
Blocked on isolating Google Gemini API key/project access. Production remains unchanged.