Skip to content

feat: add Gemini transcription provider#35

Closed
xhh678876 wants to merge 1 commit into
nibzard:mainfrom
xhh678876:feat/gemini-transcription-provider
Closed

feat: add Gemini transcription provider#35
xhh678876 wants to merge 1 commit into
nibzard:mainfrom
xhh678876:feat/gemini-transcription-provider

Conversation

@xhh678876
Copy link
Copy Markdown

Summary

  • Adds a Google Gemini Developer API transcription backend available through --api gemini.
  • Sends converted audio as inline base64 to Gemini generateContent with GEMINI_API_KEY, optional GEMINI_MODEL, and no new runtime dependencies.
  • Documents Gemini environment variables and usage in the README.
  • Adds mocked unittest coverage for request construction, response parsing, validation, CLI routing, and error paths.

Why

This supports daytonaio/content#13 by adding a new non-overlapping Sapat provider for a companion Daytona guide.

Validation

  • python -m venv .venv && .venv/bin/python -m pip install -q -e .
  • .venv/bin/python -m unittest discover -s tests -v (12 tests)
  • .venv/bin/python -m compileall src tests
  • git diff --check

AI-assisted with Codex and reviewed with Claude Code; I inspected and validated the final diff locally.

@xhh678876
Copy link
Copy Markdown
Author

Note on external Continuous AI checks

The three Continuous AI status contexts currently report Agent encountered an error and their target URLs return unavailable/404 pages from outside GitHub. I could not retrieve actionable failure logs from those links.

Local validation for this PR passed:

  • .venv/bin/python -m unittest discover -s tests -v (12 tests)
  • .venv/bin/python -m compileall src tests
  • git diff --check

I am happy to address any concrete maintainer or bot feedback if logs become available.

@nibzard
Copy link
Copy Markdown
Owner

nibzard commented May 28, 2026

Thank you for this contribution! Your implementation was reviewed as part of a batch review of all incoming provider PRs.

We've decided to take a different approach: instead of merging individual provider PRs (which all targeted a different code architecture than what exists on main), we've refactored the entire codebase into a proper provider plugin architecture with auto-discovery and shared mixins. Your provider's API integration patterns were used as reference when building the Gemini provider in the new architecture.

The refactor is on branch feat/provider-plugin-architecture and includes 29 providers, 176 tests, and a clean plugin system. We appreciate your contribution — it helped shape the final design. Closing this in favor of the unified approach.

@nibzard nibzard closed this May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants