← Back to directory
G

gflow-cli MCP Server

Community
Drive Google Flow's Veo video and Imagen image generation from the CLI or an AI agent.
GitHub source repository ↗
★ 203 Stars Category · Other Very popular
36FMRS · D

gflow-cli gives users who already have Google Flow access a scripted, batched, agent-ready entry point to Flow generation, and ships an MCP server so coding agents can drive it. It is explicitly alpha, reverse-engineered, and unaffiliated with Google, relies on a headed Chromium with a real account session, and spends the user's own credits on video generation. It suits advanced users who accept these limits and risks, and is not intended for those wanting official support or purely headless server-side deployment.

Reliability
6/20
Security and permissions
8/20
Maintenance
7/20
Documentation
10/20
Setup experience
5/20
Read the FMRS scoring method →

gflow-cli is a Python CLI and MCP server for Google Flow. Through its MCP server, coding agents such as Claude Code can drive Flow for programmatic control over Veo video generation (text-to-video, image-to-video, reference-to-video, extend, chain) and Imagen image generation (text-to-image, image-to-image, upload, upscale, batch). It is alpha, reverse-engineered, and not affiliated with Google; its MIT license covers only its own code and grants no rights to any Google service. It drives a headed Playwright Chromium against your own Google Flow session and bills against your own account, where only Veo video generation spends credits while images and composition operations are free.

Setup

  1. Have a Google account with Flow access; 2. Install with uv: uv tool install gflow-cli (or pip install gflow-cli); 3. One-time browser install: uv tool run --from gflow-cli playwright install chromium (~150 MB); 4. One-time login: gflow auth login --browser chrome (opens a real Chrome window); 5. Check balance with gflow credits user; 6. Register the MCP server with uvx gflow-cli mcp run, adding --no-spend to never register credit-spending tools; 7. Optionally set GFLOW_CLI_HOME for the Chrome profile, config and database location, and GFLOW_CLI_OUTPUT_DIR for outputs.
claude_desktop_config.json
{"mcpServers":{"gflow-cli":{"command":"uvx","args":["gflow-cli","mcp","run"],"env":{"GFLOW_CLI_HOME":""}}}}

Fit and risk

Best for

  • Heavy users who need scripted, batched, or pipeline-ready Flow generation
  • Automation and AI-video projects that want to expose Flow generation to agents
  • Developers with Google Flow access and Veo credits outside restricted regions

Not for

  • Users expecting official Google support or an official API
  • Users unwilling to accept account-automation risk or spend their own Flow credits
  • Users needing headless pure-HTTP or serverless browserless deployment
  • Users wanting to redistribute or resell the tool beyond Google's services

Required permissions

  • Requires the user's own logged-in Google Flow session and account credentials
  • Persists a local Playwright Chromium profile (default per-user directory, configurable via GFLOW_CLI_HOME)
  • Writes generated outputs to a local output directory (or via GFLOW_CLI_STORAGE_URI to S3, MinIO, or Google Cloud Storage)
  • Reaches Google's private Flow interfaces (aisandbox-pa.googleapis.com or the migrated batchexecute endpoint)
  • Video generation spends Flow credits on that account

Risks and side effects

  • The tool is alpha and reverse-engineered with no Google affiliation, and can break when Google's endpoints or UI change without notice
  • Automation is subject to Google's ToS and carries account-flagging risk; the project deliberately uses no proxies, no fingerprint spoofing, and does not pretend it isn't automation
  • Video generation spends real credits; when the UI drifts the CLI fails fast and loudly (e.g. selector drift = exit 23) rather than resubmitting
  • The MIT license covers only its code and grants no rights to Flow, Veo output, or any Google service
  • Installing from a local checkout without pinning Playwright can pull an untested browser driver that silently wedges generation

Troubleshooting

  1. Confirm you ran gflow auth login --browser chrome and prefer --browser chrome, which marks the profile as a real-Chrome profile
  2. The first call takes 30 to 90 seconds while Chromium warms up; later calls reuse the warm session, so don't judge failure from the first run
  3. Check balance with gflow credits user to confirm credits are available for video generation
  4. If installing from a local checkout, pin Playwright explicitly: uv tool install --force --with playwright==1.59.0 .
  5. If selector drift causes exit 23, consult KNOWN_ISSUES and docs; batch items are recorded before submission so a broken run does not silently burn credits
  6. For multi-account or output/storage routing issues, see docs/CONFIGURATION.md and docs/EXTERNAL_STORAGE.md

Use cases

Batch-generate Veo videos and Imagen images in automation pipelines
Let coding agents (e.g. Claude Code) call Flow generation through MCP
Mint reusable Characters with gflow character for consistent subjects across generations
Rewrite prompts before generation with prompt tooling such as --tool creative-director
Extend an existing clip past Flow's 8s ceiling with gflow video extend

Supported clients

Claude CodePartial support