OpenMontage/tools/audio
Shubham 806f7ee1ac feat(google): support service-account auth for TTS + Imagen, fix false availability
Google's TTS and Imagen tools advertised service-account auth
(GOOGLE_APPLICATION_CREDENTIALS) but only ever authenticated with an API
key string, so users with a service-account JSON could not use either tool.
google_tts.get_status() also over-reported availability when the JSON was
set, then failed at execute() — a silent-availability bug.

Separately, both hand-rolled _load_dotenv parsers kept inline comments as
values, so after `cp .env.example .env` every keyed tool falsely reported
"available" with no real credentials.

Changes:
- Add tools/google_credentials.py: lazy google-auth Bearer-token helper.
- google_tts: authenticate via Cloud TTS Bearer token when only a service
  account is configured; make get_status() honest.
- google_imagen: route service-account auth to Vertex AI
  ({location}-aiplatform.googleapis.com) with project/location resolution,
  alongside the existing AI Studio API-key path.
- Fix both _load_dotenv parsers to strip inline comments (quote-aware).
- Add google-auth to requirements; document the new env vars in .env.example.
- .gitignore: never commit GCP service-account key files.

Verified locally with a real service account: TTS produced a valid MP3 and
Imagen produced a valid 1408x768 PNG via Vertex AI. Existing test suite
passes (2 unrelated pre-existing failures only).

Closes #131

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 17:53:10 +05:30
..
__init__.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
audio_enhance.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
audio_mixer.py Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes 2026-04-03 09:35:09 -07:00
doubao_tts.py feat(tts): add Doubao Speech provider 2026-05-04 21:40:17 +08:00
elevenlabs_tts.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
freesound_music.py One-key formula: AI images, TTS narration, auto music, subtitles, and self-review pipeline 2026-03-30 16:54:13 -07:00
google_tts.py feat(google): support service-account auth for TTS + Imagen, fix false availability 2026-06-22 17:53:10 +05:30
music_gen.py Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes 2026-04-03 09:35:09 -07:00
openai_tts.py Fix OpenAI TTS passing null instructions to API 2026-04-04 13:10:29 -07:00
piper_tts.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
pixabay_music.py One-key formula: AI images, TTS narration, auto music, subtitles, and self-review pipeline 2026-03-30 16:54:13 -07:00
suno_music.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
tts_selector.py Add Grok media providers and improve selector routing 2026-04-05 15:31:37 -07:00