Get started with gflow-cli
From install to your first AI-generated image in about 5 minutes. Or hand the whole thing to your AI assistant.
Before you begin
gflow-cli is
unofficial, alpha, and reverse-engineered. It drives a headed browser on
your own Google Flow session. It requires a Google AI
Ultra or Pro subscription with Flow access, and every generation bills your account. Not affiliated with Google.
Prerequisites
✓ Python 3.11+ (uv installs a managed Python)
✓ Google AI Ultra or Pro subscription
✓ Google Chrome installed
✓ Display for one-time browser login
Install
One command puts gflow on your PATH. Then install the browser engine it needs (~150 MB).
Install the CLI:
$ uv tool install gflow-cli
Install Chromium (one-time, required by the browser transport):
$ uv tool run --from gflow-cli playwright install chromium
Verify the installation:
Output
gflow, version 0.41.0
Authenticate
A one-time login opens a real Chrome window. Sign in with your Google account, close the window when the Flow editor loads — gflow verifies automatically.
The --browser chrome flag is mandatory — Google rejects Playwright's bundled Chromium.
$ gflow auth login --browser chrome
What happens
A Chrome window opens at the Flow sign-in page.
Sign in with your Google account (2FA included).
Keep going until the Flow editor loads.
CLOSE THE BROWSER — gflow verifies automatically.
Session saved.
Profile dir: ~/.local/share/gflow-cli/profile_default
Renamed profile from default to your-name (derived from Google account).
On first run, the profile is created as default then auto-renamed to your email's local-part (e.g. your.name@gmail.com → your-name). Single-account users never have to think about profiles. To use a custom name, pass --profile myname.
Generate
The shortest happy path — one command, real output. Images are free; only Veo video costs credits.
Generate a text-to-image with the --tool creative-director flag, which expands your prompt with Google's 5-component formula before any credits are spent.
$ gflow image t2i "a lighthouse in a storm, moody, cinematic" --tool creative-director
Output
Flow project created: project/abc123
Generating images…
✓ out/images/2026-07-20/8f3a1b2c_1.png
Files are saved to the output directory automatically — by default ./out/images/.
Route outputs to S3, MinIO, or GCS with external storage.
Turn that still into an 8-second Veo clip. This step costs 1 Veo credit.
$ gflow video i2v out/images/2026-07-20/8f3a1b2c_1.png "slow cinematic push-in" --aspect 9:16
Output
Generating video… (~60-90s)
✓ out/videos/2026-07-20/9e4d7f2a.mp4
Video outputs land in ./out/videos/.
Success!
🎬
Your first generation is ready
./out/images/YYYY-MM-DD/<id>_1.png
Files are saved automatically. Image generations are free — only Veo video costs credits.
Troubleshooting
If something goes wrong on this path, here are the most common errors and exactly how to fix them.
AuthBrowserRejectedError (exit 14)
Google rejected Playwright's bundled Chromium as an insecure browser.
No profiles found (exit 2)
You ran a generation command before authenticating.
Fix: Run the one-time login first:
gflow auth login --browser chrome
Authentication expired (exit 3)
Your browser session is no longer valid.
Fix: Re-authenticate:
gflow auth login --browser chrome
Profile locked (exit 11)
Another process holds this profile directory.
Fix: Close any running gflow serve daemon or stray Chrome windows, then retry.
Let your assistant drive it
Everything above, an agent can do for you. Start the MCP server and point Claude, Cursor, or Copilot at it.
Output
serving over stdio:
• gflow_generate_image
• gflow_generate_video
ready — your assistant can drive Flow.
Just ask in plain language — the agent picks the model, aspect, and prompt tooling. See Agent-driven for the full setup.
Where to next