Repository navigation
Releases: google-gemini/gemini-api-cli
Release list
v0.4.5
Changelog
- b0eee02 Bump Gemini API CLI version to 0.4.5
- 35ba68c chore: update Speakeasy OpenAPI generator to v2.956.0
- 3aeecca No public description
- b8b6082 feat(cli): use gemini-3.5-transcribe as default model for transcribe command
- 601ded1 No public description
- 397a64d No public description
- 9037956 No public description
- 4a00ef4 No public description
- 9ba96a9 No public description
- d59ab99 feat: add video upscale task parameter
- 68ce6f1 fix(cli): imply stream: false when background: true on agent run
- 0441db2 Regenerate the Gemini API CLI from the current discovery doc.
- 7727464 feat(interactions): declare continuation_ids on Interaction
- 092da37 chore(cli): update Speakeasy OpenAPI generator to v2.952.4
- f05eae8 No public description
- 0c10bb0 feat: Add support for continuation_token and requires_continuation status
- 0707bcf feat(cli): Implement sandbox runtime primitives
v0.4.4
Changelog
- 5b5cec8 chore: update Speakeasy OpenAPI generator to v2.950.11 and bump CLI to v0.4.4
- 3928327 feat: include AudioContent, DocumentContent, and VideoContent in FunctionResultSubContent
- b47b75d chore(cli): update Speakeasy OpenAPI generator to v2.950.8
- 8b31227 docs: Update unenforced JSON Schema keywords on Interactions schema fields.
- 34dce00 feat(cli): point keyless users to the API key docs and tell agents to ask the user
- 238a835 chore: make bash the valid return type
- 5a73659 chore(cli): update Speakeasy OpenAPI generator to v2.950.5
v0.4.3
Changelog
- 72f9764 chore(cli): bump CLI version to v0.4.3
- 3718293 fix(cli): flag missing credentials on raw-HTTP commands so 403s steer to setup
- b3eb6fe test(cli): add contract test coverage for --all pagination across all list commands
- c31b06e fix(cli): validate --model on intents; add --stdin, -f/--file, and --system
- 90992c2 fix(cli): verify
environments files uploadsize and align it withfiles upload - 607dfd0 fix(cli): pass through "Unsupported file URI type" errors, preserve blobstore separator, and canonicalize expanded Files API URIs
- b0a8e19 fix(interactions): sync InteractionSseEventInteractionStatus enum with InteractionStatus
- de1daf7 fix(cli): list auth and whoami under Manage in root help
- 962ca41 fix(cli): add
--alltoenvironments files list - 7aecb8e feat(sdks): enable
fixes.openSingleValueEnumsOct2026across all SDKs - 8fa5a0c chore(cli): update Speakeasy OpenAPI generator to v2.948.9
- d4b49ca chore: Update license section in README.md
- 976ae75 chore: internal change
- 500e5f8 test(cli): fail
TestOpenStdinPipeDoesNotStallwhen the command exits non-zero - e03271d feat(cli): add --previous-interaction-id, --aspect-ratio and --resolution to
video - 0282682 feat(interactions): add gemini-4-argon to Model enum
- c335166 test(cli): add contract test for conversational image editing and output format flags
- 0205bda chore: internal change
- cb8db6e fix: Update EnvironmentConfig.env schema to map keys to EnvVar or string.
- 48f7c21 chore: remove continuation_required and continuation_token
- 334111e chore: remove billable_usage from public SDKs
v0.4.2
Changelog
- a6a91ac feat(cli): update Speakeasy generator to v2.948.0, bump CLI to v0.4.2, and apply CLI overlay fixes
- db8c304 feat: add billable token counts fields
- b234ca4 feat: Add a CONTINUATION_REQUIRED Interaction status
- 853a2d8 chore: Add gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-lite and gemini-robotics-er-1.6-preview models.
- 6387833 docs: rewrite README with agent-first quick start, command overview, and workflows
- 860b1b7 feat: Add usage in InteractionStatusUpdate events
- 6980dec feat: Add
continuation_tokento the Interactionsinteraction.status_updateevent. - 3c48396 No public description
- cf6ec92 fix(cli): improve help text for
agent list,agent create, andwebhooks ping - ea41bdb fix(cli): remove unimplemented
tokensanddocsplanned command placeholders - 36a15ac fix(genai): deduplicate Flash and Omni descriptions in ModelOption
- 1c71c23 - Add
gemini-api environments files uploadandgemini-api environments files downloadcommands to upload local files/archives into an environment via the resumable upload protocol and download individual environment files withalt=media. - Add-i/--inputand--mime-typetogenerate,image,video, andagent run, and automatically normalizefiles/<id>and full Files API URIs in request bodies (--body,-b/--body-param, or stdin) by expanding shortfiles/<id>references tohttps://generativelanguage.googleapis.com/v1beta/files/<id>and populating missingmime_type/typemetadata viafiles.get. - Sanitize interaction error responses to fix malformedUnsupported file URI typepunctuation and redact internalblobstore:///URIs. - cf8d6f5 Merge pull request #70 from google-gemini/tests/994586726
- d8cd468 test(contract): drop planned tokens and docs placeholder assertions
v0.4.1
Changelog
- 0a67cb2 fix(cli): tidy CLI help, pagination and command list through overlays
- d307d2d chore: update Speakeasy OpenAPI generator to v2.945.4 and bump CLI to 0.4.1
- cff3cb3 Merge pull request #81 from google-gemini/fix-test
- 53bfed5 Update the exampe to use gemini-flash-latest
- a14968d Fix tests for image gen default
- ca16bc4 fix(gemini-api-cli): remove unsupported 2.5 and 1.6 models from Interactions model options and CLI examples
- 77019c9 fix(cli): model free-form tool results as arbitrary objects
- a805b49 Merge pull request #80 from google-gemini/fix-image-model
- 8831565 Merge pull request #60 from google-gemini/tests/auth
- 0ddd182 Fix image model defaults
- 969b1c2 chore: Add gemini-nano-banana-2.1 and gemini-3.1-flash-lite-image to supported models.
- 9a9b788 chore(cli): move SPEAKEASY_VERSION from release.yaml to ci.yaml
- 8165db8 feat: Support
"allowlist": "disabled"in environment network config. Adds a short form fornetwork.allowlistso terminal egress can be blocked from inside thenetworkobject.network: "disabled"keeps working unchanged. - d63744d Merge pull request #72 from google-gemini/test/bb1
- 3633e3c fix(cli): keep punctuation-only speaker turns in
tts --multi-speaker - b08607d test(cli): pin the
tts --multi-speakerrequest shape - 1f78c8a fix(cli): annotate speaker turns in
tts --multi-speaker - 2e6abfb Restore request/response examples in CLI help and body schemas Re-adds example payloads to the API spec that were lost during a spec refactor, and regenerates the CLI from it: -
agent cancel: help text now includes a usage example (gemini-api agent cancel --id <id>). - Embedded JSON body schemas forCreateAgent,CreateEnvironment, andCreateInteractionnow include example values for content types, steps, response formats, and environment config (e.g. network allowlists, inline sources). No functional or behavioral changes; documentation/help output only. - 7fe4bae test(openapi): speakeasy generator version.
- ad7e240 feat: support continuation_token in Interactions
- d086925 feat: add
lyria-3.5,gemini-omni-1.1-flash, andgemini-omni-flash-previewto InteractionsModelenum - 024db30 test(contract): pin the request-contract hook instead of generated auth
- ca40ad1 chore(tests): cover auth login and logout against a fake keychain
v0.4.0
⚠️ Breaking change: array flags take a JSON array
Flags whose value is a list now take one JSON array instead of being repeated:
| Command | Flag |
|---|---|
files register |
--uris / -u |
webhooks create |
--subscribed-events / -s |
webhooks update |
--subscribed-events / -s |
# v0.3.0
gemini-api files register --uris gs://bucket/a --uris gs://bucket/b
gemini-api webhooks create --uri https://my-api.com/gemini-callback \
--subscribed-events batch.succeeded --subscribed-events batch.failed
# v0.4.0
gemini-api files register --uris '["gs://bucket/a","gs://bucket/b"]'
gemini-api webhooks create --uri https://my-api.com/gemini-callback \
--subscribed-events '["batch.succeeded","batch.failed"]'- The old repeated form now fails before any request is sent (exit 2):
invalid value for --uris: expected a JSON array, e.g. --uris '["value"]'. - Values are validated locally: malformed JSON,
nullelements and unknown event names (--subscribed-events) are rejected with exit 2. --helpexamples and--usage((JSON array)) show the new syntax.--bodyis unchanged.- Hand-written repeatable flags keep their syntax:
analyze -i/transcribe -iand the global-H/--headercan still be passed several times.
Default models updated
| Command | v0.3.0 | v0.4.0 |
|---|---|---|
generate, analyze, transcribe |
gemini-3.6-flash |
gemini-3.8-flash |
tts |
gemini-3.1-flash-tts-preview |
gemini-3.8-flash-tts |
music |
lyria-3-pro-preview |
lyria-3.5 |
video |
gemini-omni-flash-preview |
gemini-omni-1.1-flash |
image |
gemini-3.1-flash-image |
unchanged |
Pass --model to keep a previous model. Root --help now also shows the default model for analyze and transcribe.
New
gemini-api --version/-vprints the CLI version (same output asgemini-api version, including-o json).
Fixes
environments files list:--pathignores a leading/(previously sent…/files//var/mail), and--environmentacceptsenvironments/<id>as well as a bare ID. The--helpexample now runs as written.--usagelists every short flag that--helpshows (e.g.-i --id).files get,files delete,models get: positional help and error messages match the other commands.- Runnable
--helpexamples foragent create,agent get,agent delete,agent statusandenvironments get/delete(no<id>placeholders). - Version metadata: the version reported by source builds (
go install) and sent in theUser-Agentnow follows the release (0.4.0; it was0.6.0in v0.3.0).
Changelog
- 99f6a5f build(cli): pin CLI version to 0.4.0 and verify release tag matches
version.go - 653df09 fix(cli): pin
base_agentandidinagent createexample - 2854781 Merge pull request #55 from google-gemini/tests/990640099
- 93fb7a0 test(contract): read the captured --uris body with a type assertion
- 640e0ff test(contract): pass --uris as a JSON array
- 4003db8 fix(cli): take string-array flags as JSON arrays
- 3d73dda feat(cli): add root --version/-v flag
- fff4089 chore(cli): regenerate CLI with Speakeasy v2.943.0
- 2850bc9 docs(overlays): describe
environmentandpathon GetEnvironmentFiles and pin environment ID inenvironmentsget/delete examples - 7c61703 fix: use
CreateAgentInteractionforTrigger.interactionandTriggerCreateParams.interaction - 0953f29 fix(cli): pin IDs in
agent get,agent delete, andagent statusexamples - b34676a fix(cli): update
agent-interactionexample to usedeep-research-preview-04-2026 - 58525f7 Merge pull request #48 from google-gemini/fix/tests/default-models
- 8e7972c chore(cli): update default models and model suggestions across CLI commands
- f5db37c test(evals): expect gemini-3.8-flash as the default model
- 2a59df1 test(contract): expect updated default models
- 8f99453 chore(cli): update default models and model suggestions across CLI commands
- 03a86eb chore(cli): remove redundant guardRequiredFlags
- 1ef67b1 chore: set up the CI
- 665cc87 fix(cli): make
environments files listexample runnable and normalize--path - 562e4f5 Merge pull request #43 from google-gemini/fix/tests/models-double-identifier-wording
- f69beda test(contract): expect generated double-identifier wording on
models get - 5ff99b5 fix(cli): include auto-assigned flag shorthands in
--usageschema - 1fa466c fix(cli): deduplicate positional help and unify error wording on
files get,files delete, andmodels get - ef974e8 Merge pull request #42 from google-gemini/fix-test
- 7e73af6 Fix the test
v0.3.0
gemini-api has been rewritten in Go. This release replaces the TypeScript CLI shipped in v0.1.0–v0.2.1 and is not backward compatible: commands, flags and output formats have changed.
Install
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh | bash
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.ps1 | iex
Go:
go install github.com/google-gemini/gemini-api-cli/cmd/gemini-api@latest
Or download an archive below (Linux, macOS, Windows · x86_64, arm64) and verify it against checksums.txt.
What's new
Dedicated commands per task. Capabilities that were flags on run are now their own commands:
generate: text and multimodal generationimage: image generation and editingtts: text to speech, including multi-speakeranalyze: questions about images, audio, video, documents or YouTube URLs- New:
music,video,transcribe,tokens
Interaction lifecycle.
agent run --backgroundreturns an interaction ID immediately.agent status,agent cancelandagent delete-interactionmanage it afterwards.
New API coverage.
files: Files API upload, list, get, delete, and registering Cloud Storage objectsmodels: curated catalog plus live list/getenvironments,triggers,webhooks,credentialsdocs: Gemini API docume
Setup and auth.configure,authandwhoamistore credentials in~/.config/gemini-api/config.yamlor the OS keyring.GEMINI_API_KEYstill works.- OAuth via
--access-token/GEMINI_ACCESS_TOKEN, and quota projects via--user-project.
Scripting and agents.
-o pretty|json|yaml|table|toon,--jq,--dry-run--body/--schemafor full request control, and--usagefor a machine-readable CLI schema--agent-modefor structured errors- Documented exit codes: 0 ok · 1 runtime · 2 usage · 3 auth
Interactive. explore browses and runs commands, and completion supports bash, zsh, fish and PowerShell.
Changelog
- 23c8d31 fix(cli): set
project_name: gemini-apiin.goreleaser.yaml - 552828c Merge pull request #38 from google-gemini/import-test-new
- 77848e2 Update the test
- 2eae3b1 First import of the test/* and evals/*
- 895be4d fix(cli): remove unconfigured voices service from CLI surface
- e855807 feat(cli): bind
-i, --idontriggers runandtriggers list-executions - 148e3b7 chore: Add licensing and disclaimer section to README files.
- c31a119 chore(cli): add model suggestions for image, video, and music commands in CLI overlay
- 7a2e8ce chore(cli): regenerate CLI with Speakeasy v2.941.1
- 20aaa63 chore(cli): override environments and environments files list help text in CLI overlay
- f5168fd Merge pull request #23 from google-gemini/copybara/987626002
- 896a7b5 fix(cli): align stale path keys in CLI overlays with GAOS OpenAPI spec
- d9b392e chore(cli): improve webhook examples in CLI overlay
- af53a80 chore: Add licensing and disclaimer section to README files.
- d3c649a No public description
- cb63496 Merge pull request #14 from google-gemini/feat/add-yaml-secrets-var
- ed136c6 feat(config): resolve env placeholders in agent yaml
- b2c15ec test(config): add env placeholder fixture
v0.2.1
What's Changed
- fix(timeout, streaming): bump version to 0.2.1, increase server timeout to 30000, and fix streaming format for unknown steps by @philschmid in #12
Full Changelog: v0.2.0...v0.2.1
0.2.0
What's Changed
- feat: optimize stream output formatting for agents and human readability by @philschmid in #10
- chore: bump version to v0.2.0 for release by @philschmid in #11
Full Changelog: v0.1.0...v0.2.0
0.1.0
v0.1.0 Merge pull request #8 from google-gemini/feat/network-streaming-filte…