Skip to content

Releases: google-gemini/gemini-api-cli

v0.4.5

Choose a tag to compare

@github-actions github-actions released this 30 Oct 22:14

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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 16:51

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

Choose a tag to compare

@github-actions github-actions released this 19 Oct 18:57

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 upload size and align it with files 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 --all to environments files list
  • 7aecb8e feat(sdks): enable fixes.openSingleValueEnumsOct2026 across 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 TestOpenStdinPipeDoesNotStall when 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

Choose a tag to compare

@github-actions github-actions released this 12 Oct 16:44
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_token to the Interactions interaction.status_update event.
  • 3c48396 No public description
  • cf6ec92 fix(cli): improve help text for agent list, agent create, and webhooks ping
  • ea41bdb fix(cli): remove unimplemented tokens and docs planned command placeholders
  • 36a15ac fix(genai): deduplicate Flash and Omni descriptions in ModelOption
  • 1c71c23 - Add gemini-api environments files upload and gemini-api environments files download commands to upload local files/archives into an environment via the resumable upload protocol and download individual environment files with alt=media. - Add -i/--input and --mime-type to generate, image, video, and agent run, and automatically normalize files/<id> and full Files API URIs in request bodies (--body, -b/--body-param, or stdin) by expanding short files/<id> references to https://generativelanguage.googleapis.com/v1beta/files/<id> and populating missing mime_type/type metadata via files.get. - Sanitize interaction error responses to fix malformed Unsupported file URI type punctuation and redact internal blobstore:/// URIs.
  • cf8d6f5 Merge pull request #70 from google-gemini/tests/994586726
  • d8cd468 test(contract): drop planned tokens and docs placeholder assertions

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 21:15
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 for network.allowlist so terminal egress can be blocked from inside the network object. 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-speaker request 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 for CreateAgent, CreateEnvironment, and CreateInteraction now 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, and gemini-omni-flash-preview to Interactions Model enum
  • 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

Choose a tag to compare

@github-actions github-actions released this 30 Sep 18:42

⚠️ 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, null elements and unknown event names (--subscribed-events) are rejected with exit 2.
  • --help examples and --usage ((JSON array)) show the new syntax. --body is unchanged.
  • Hand-written repeatable flags keep their syntax: analyze -i / transcribe -i and the global -H/--header can 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 / -v prints the CLI version (same output as gemini-api version, including -o json).

Fixes

  • environments files list: --path ignores a leading / (previously sent …/files//var/mail), and --environment accepts environments/<id> as well as a bare ID. The --help example now runs as written.
  • --usage lists every short flag that --help shows (e.g. -i --id).
  • files get, files delete, models get: positional help and error messages match the other commands.
  • Runnable --help examples for agent create, agent get, agent delete, agent status and environments get / delete (no <id> placeholders).
  • Version metadata: the version reported by source builds (go install) and sent in the User-Agent now follows the release (0.4.0; it was 0.6.0 in 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_agent and id in agent create example
  • 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 environment and path on GetEnvironmentFiles and pin environment ID in environments get/delete examples
  • 7c61703 fix: use CreateAgentInteraction for Trigger.interaction and TriggerCreateParams.interaction
  • 0953f29 fix(cli): pin IDs in agent get, agent delete, and agent status examples
  • b34676a fix(cli): update agent-interaction example to use deep-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 list example 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 --usage schema
  • 1fa466c fix(cli): deduplicate positional help and unify error wording on files get, files delete, and models get
  • ef974e8 Merge pull request #42 from google-gemini/fix-test
  • 7e73af6 Fix the test

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:24

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 generation
  • image: image generation and editing
  • tts: text to speech, including multi-speaker
  • analyze: questions about images, audio, video, documents or YouTube URLs
  • New: music, video, transcribe, tokens

Interaction lifecycle.

  • agent run --background returns an interaction ID immediately.
  • agent status, agent cancel and agent delete-interaction manage it afterwards.

New API coverage.

  • files: Files API upload, list, get, delete, and registering Cloud Storage objects
  • models: curated catalog plus live list/get
  • environments, triggers, webhooks, credentials
  • docs: Gemini API docume
    Setup and auth.
  • configure, auth and whoami store credentials in ~/.config/gemini-api/config.yaml or the OS keyring.
  • GEMINI_API_KEY still 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 / --schema for full request control, and --usage for a machine-readable CLI schema
  • --agent-mode for 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-api in .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, --id on triggers run and triggers 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

Choose a tag to compare

@philschmid philschmid released this 05 Jun 15:59
5a354f0

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

Choose a tag to compare

@philschmid philschmid released this 05 Jun 13:20
14f635e

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

Choose a tag to compare

@philschmid philschmid released this 19 May 20:14
de0dffe
v0.1.0

Merge pull request #8 from google-gemini/feat/network-streaming-filte…