OpenMontage/tools/graphics
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
code_snippet.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
diagram_gen.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
flux_image.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
google_imagen.py feat(google): support service-account auth for TTS + Imagen, fix false availability 2026-06-22 17:53:10 +05:30
grok_image.py Add Grok media providers and improve selector routing 2026-04-05 15:31:37 -07:00
image_gen.py hyperframes: add HTML/CSS/GSAP as a parallel composition runtime 2026-04-18 18:37:00 -07:00
image_selector.py Add Grok media providers and improve selector routing 2026-04-05 15:31:37 -07:00
local_diffusion.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
math_animate.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
openai_image.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
pexels_image.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
pixabay_image.py Initial release — OpenMontage: the first open-source agentic video production system 2026-03-29 08:25:17 -07:00
recraft_image.py Fix Remotion-first rendering docs and post-render verification gaps 2026-04-06 08:21:48 -07:00