Google announced the Gemini API CLI beta on October 27. Published in google-gemini/gemini-api-cli, the gemini-api executable sits between a shell-capable coding agent and Google’s hosted services. An agent can ask it for an image, a document analysis or a research job, then use the returned file or result in its own work.
This is a separate program from Gemini CLI, Google’s interactive coding agent. The new client does not replace the surrounding agent’s model or project session. It packages API calls so the agent can discover commands, check a request and handle the answer without writing its own integration.
A different answer to “which agent?”
Our October 16 report examined Google’s recommendation that Gemini 4 users choose Antigravity. The October 28 Gemini CLI README now distinguishes three jobs: Antigravity for interactive coding, Gemini CLI for its remaining enterprise and legacy-key routes, and Gemini API CLI for calls made from other agents, scripts or automated jobs.
That is not a reversal of the consumer migration. Paid API access already existed, and a coding agent could already use HTTP or an SDK to reach it. The added value is a maintained command interface built around the needs of a calling program. Someone who wants Google’s image service need not make the same choice as someone choosing an entire coding workspace.
The result has somewhere to go
The released image command accepts a prompt and output destination. Its output machinery writes media to a local file and returns a path; structured output can instead carry metadata such as the path and file type. The agent gets a reference it can use in the project, rather than a screenful of encoded image bytes.
For example, an agent building a website could request an image, receive its filename and insert it into the page it is already editing. The surrounding agent would still choose the placement and check the page. Google would supply one service used along the way.
Longer jobs have a different return object. A background managed-agent request can yield an interaction ID that the caller uses to check status. The caller still has to interpret that status: the released contract tests include a request needing further action that exits successfully without producing a finished artifact. A successful command is not always finished work.
These tests use a simulated server. They establish intended client behavior, not the quality of generated media or research. The open client also cannot reveal the internals of Google’s hosted models.
A request can be checked before it is sent
The v0.4.4 binary was published on October 23, before the beta announcement. We downloaded its Linux release, checked its digest and ran it without credentials. Schema lookup, an image-request preview and a background-agent request preview completed without network calls in our trace. Deliberately specifying the input twice produced a structured validation error and exit code 2, with no result on standard output.
No image or research result was generated in those checks. They verify useful preparation behavior: a calling agent can inspect a request before spending a model call. We did not test an authenticated workflow inside another coding agent, run the upstream suite or measure cost, speed or task quality. The client is beta; a pinned release matters when automating it.
“Stateless” describes only part of the arrangement
The caller supplies an explicit interaction ID to continue earlier work. That does not mean nothing is stored. Local configuration and credentials, generated files and remote request storage are separate concerns.
The distinction is visible in v0.4.4. Our request previews and the analysis implementation show analyze explicitly sends store:false; image omits that field unless overridden. The Interactions API stores requests by default. “Stateless client” therefore cannot stand in for a command’s storage policy.
The useful next test is a pinned, authenticated task in an existing agent: request a real asset, put it into a working project, and follow a background job through its actual status and result. Today’s concrete gain is the interface that makes such composition easier to attempt. Choosing an agent to run the project and choosing a service for one job are separate decisions.