Skip to content

feat(cli): use gemini-3.5-transcribe as default model for transcribe command - #1375

Open
copybara-service[bot] wants to merge 1 commit into
mainfrom
copybara_1009314715
Open

copybara-service[bot] wants to merge 1 commit into
mainfrom
copybara_1009314715

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

feat(cli): use gemini-3.5-transcribe as default model for transcribe command

  • Switch the transcribe default model to gemini-3.5-transcribe and add gemini-3.5-transcribe to the Model enum (catalog group Speech).
  • For dedicated *-transcribe models, send only the audio block with generation_config.transcription_config (verbatim mode with diarization_mode: "speaker" and timestamp_granularities: ["word"] per --no-speakers/--no-timestamps), and render md, text, json, and srt from the returned word_info annotations. Segment text is cut from the response text by the annotations' byte indices, so the model's punctuation and spacing are kept (including languages written without spaces); speakers are numbered Speaker 1, Speaker 2, ... by first appearance (the API's raw labels, e.g. spk:0, are opaque); SRT cues are capped at 7 s / 84 bytes including the speaker prefix, without stranding a sentence's last word. md/text warn when the response has no word-level annotations.
  • gemini-3.5-transcribe accepts audio only: video inputs fall back to gemini-3.8-flash when --model is not set, and an explicit --model gemini-3.5-transcribe with a video input is a usage error; for audio-only WebM (.webm maps to video/webm), both point at --mime-type audio/webm. A request rejected while speaker labels or timestamps are on suggests --no-speakers --no-timestamps or --model gemini-3.8-flash (those features cap audio at 30 minutes). Each JSON result now reports the model that served it.
  • General multimodal models (for example -m gemini-3.8-flash) keep the prompt plus response_format JSON schema path.
  • transcribe --help documents the audio-only restriction and the 30-minute limit that applies with speaker labels or timestamps, and links to https://ai.google.dev/gemini-api/docs/transcribe.

Fixes google-gemini/gemini-api-cli#144

FUTURE_COPYBARA_INTEGRATE_REVIEW=#1371 from googleapis:release-please--branches--main dea37a4

@copybara-service
copybara-service Bot force-pushed the copybara_1009314715 branch 2 times, most recently from 1b408d6 to 2c6ce09 Compare October 29, 2026 20:23
…command

- Switch the `transcribe` default model to `gemini-3.5-transcribe` and add `gemini-3.5-transcribe` to the `Model` enum (catalog group `Speech`).
- For dedicated `*-transcribe` models, send only the audio block with `generation_config.transcription_config` (verbatim mode with `diarization_mode: "speaker"` and `timestamp_granularities: ["word"]` per `--no-speakers`/`--no-timestamps`), and render `md`, `text`, `json`, and `srt` from the returned `word_info` annotations. Segment text is cut from the response text by the annotations' byte indices, so the model's punctuation and spacing are kept (including languages written without spaces); speakers are numbered `Speaker 1`, `Speaker 2`, ... by first appearance (the API's raw labels, e.g. `spk:0`, are opaque); SRT cues are capped at 7 s / 84 bytes including the speaker prefix, without stranding a sentence's last word. md/text warn when the response has no word-level annotations.
- `gemini-3.5-transcribe` accepts audio only: video inputs fall back to `gemini-3.8-flash` when `--model` is not set, and an explicit `--model gemini-3.5-transcribe` with a video input is a usage error; for audio-only WebM (`.webm` maps to `video/webm`), both point at `--mime-type audio/webm`. A request rejected while speaker labels or timestamps are on suggests `--no-speakers --no-timestamps` or `--model gemini-3.8-flash` (those features cap audio at 30 minutes). Each JSON result now reports the model that served it.
- General multimodal models (for example `-m gemini-3.8-flash`) keep the prompt plus `response_format` JSON schema path.
- `transcribe --help` documents the audio-only restriction and the 30-minute limit that applies with speaker labels or timestamps, and links to https://ai.google.dev/gemini-api/docs/transcribe.

Fixes google-gemini/gemini-api-cli#144

FUTURE_COPYBARA_INTEGRATE_REVIEW=#1371 from googleapis:release-please--branches--main dea37a4
PiperOrigin-RevId: 1009314715

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Transcribe command should use gemini-3.5-transcribe as default model.

1 participant