AI 클라이언트 또는 터미널을 통해 Google Flow의 Veo 비디오 및 Imagen 이미지 생성 모델을 제어합니다.
다른 이름 ffroliva/gflow-cli
- 스타
- 393
- Tools
- —
- 다운로드, 30일
- 9,856
- 최신 버전
- 0.100.0
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- MIT
gflow-cli MCP란?
gflow-cli은(는) MCP server입니다. AI 클라이언트 또는 터미널을 통해 Google Flow의 Veo 비디오 및 Imagen 이미지 생성 모델을 제어합니다.
프로젝트 README에서 생성된 요약
gflow-cli MCP server 정보
gflow-cli는 Google Flow의 생성형 모델을 제어할 수 있는 터미널 기반 인터페이스와 MCP server를 제공합니다. 사용자는 명령줄이나 AI 클라이언트를 통해 비디오 생성을 위한 Veo와 이미지 생성을 위한 Imagen을 구동할 수 있습니다. 이 도구는 지속적인 Playwright 프로필을 사용하여 헤드형 Chromium 브라우저를 구동하며, 이를 통해 Google 인증 및 reCAPTCHA 요구 사항을 관리합니다.
이 도구는 스크립트 기반 파이프라인이나 배치 처리를 통해 미디어 제작을 자동화하려는 개발자와 크리에이터를 위해 설계되었습니다. 모든 생성 작업은 사용자의 계정 크레딧을 사용하므로, 사용자는 Flow 접근 권한이 있는 Google 계정을 보유해야 합니다. 이미지 및 구성 작업은 무료이지만, Veo 비디오 생성에는 크레딧이 소모됩니다. 서버는 CLI를 통해 로컬에서 실행하거나 Claude Code 또는 Cursor와 같은 AI agent와 통합하기 위한 MCP server로 실행할 수 있습니다.
활용 사례
- 1배치 이미지 생성개발자가 프롬프트가 담긴 텍스트 파일을 루프 돌려 여러 이미지를 자동으로 생성할 수 있습니다.
- 2캐릭터 일관성 유지특정 캐릭터 레퍼런스를 생성하여 서로 다른 생성 작업에서도 동일한 인물이 나타나도록 할 수 있습니다.
- 3비디오 클립 연장이 도구를 사용하여 기존 비디오 클립을 표준 8초 제한 이상으로 연장할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
gflow-cli MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 gflow-cli MCP 설치
$ claude mcp add gflow-cli -- uvx gflow-cliCursor에 gflow-cli MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"gflow-cli": {
"command": "uvx",
"args": [
"gflow-cli"
]
}
}
}VS Code에 gflow-cli MCP 설치
.vscode/mcp.json
{
"servers": {
"gflow-cli": {
"type": "stdio",
"command": "uvx",
"args": [
"gflow-cli"
]
}
}
}VS Code CLI에 gflow-cli MCP 설치
$ code --add-mcp '{"name":"gflow-cli","type":"stdio","command":"uvx","args":["gflow-cli"]}'Claude Desktop에 gflow-cli MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"gflow-cli": {
"command": "uvx",
"args": [
"gflow-cli"
]
}
}
}Codex에 gflow-cli MCP 설치
$ codex mcp add gflow-cli -- uvx gflow-cliCodex config.toml에 gflow-cli MCP 설치
~/.codex/config.toml
[mcp_servers.gflow-cli] command = "uvx" args = ["gflow-cli"]
Gemini CLI에 gflow-cli MCP 설치
$ gemini mcp add -s user gflow-cli uvx -- gflow-cliGemini settings.json에 gflow-cli MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"gflow-cli": {
"command": "uvx",
"args": [
"gflow-cli"
]
}
}
}구성
GFLOW_CLI_HOMEWhere gflow keeps its Chrome profile, config and database. Defaults to a per-user directory.
| 이름 | 설명 | 유형 |
|---|---|---|
| GFLOW_CLI_HOME | Where gflow keeps its Chrome profile, config and database. Defaults to a per-user directory. |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기gflow-cli
Python CLI and MCP server for Google Flow. Drive Veo (image-to-video, text-to-video) and Imagen (text-to-image) from your terminal: scripted, batched, pipeline-ready.
⚠️ Read this before you install. gflow-cli is alpha and reverse-engineered — not affiliated with Google. It drives a headed browser on your own Google Flow session, so treat it as your own account risk: automation is subject to Google's ToS, and endpoints or UI can change without notice. It works with any Google account that has Flow access, and every generation bills against your account's Flow credit allowance. Read the full DISCLAIMER.
🛡️ "Will this get my account flagged?" The honest, specific answer — what the tool does to stay unremarkable (headed real Chrome, randomised interaction timing, paced submissions), what it deliberately does not do (no proxies, no fingerprint spoofing, no pretending it isn't automation), what you can tune, and what we cannot promise — is in docs/ACCOUNT_SAFETY.md.
💳 What failure costs you. Credits are only spent on Veo video generation — images and composition ops are free, so most breakage costs nothing. When Flow's UI drifts mid-run, the CLI fails fast and loudly with distinct exit codes (e.g. selector drift = exit 23) instead of resubmitting, and batch items are recorded locally before submission so a broken run never silently burns credits on a stale state. See KNOWN_ISSUES for the current risk list.
🌐 Headed browser today. gflow drives Flow through a persistent Playwright Chromium profile, because Google's auth and reCAPTCHA gates require it. The Architecture section shows where you can help.
Why gflow-cli?
You have a Google account with Flow access, you have Veo credits, and you run real batch work. gflow-cli gives you:
- Batch generation. Loop prompts straight from the shell:
for p in $(cat prompts.txt); do gflow image t2i "$p"; done. Image batching plusgflow video t2v/i2v/r2vall ship today, andgflow video extendcontinues an existing clip past Flow's 8s ceiling. - Consistent subjects.
gflow character createmints a Flow Character (face and body reference) so the same person appears from one generation to the next. - Prompt tools.
--tool creative-directorrewrites a terse prompt into a vivid one (Google's 5-component formula) before generating — on any command. Bring your own with My Tools. - Pipelines. Wire Veo into your content automation, AI-video stack, or batch experiments.
- Terminal-native. After one
gflow auth login, you stay in the shell. No clicking through dialogs. A stale session renews headlessly withgflow auth renew.
Same Veo and Imagen models, same quality, same billing against your own Google account, now programmatic.
60-second quick start
# 1 · Install (uv recommended; also: pip install gflow-cli)
uv tool install gflow-cli
uv tool run --from gflow-cli playwright install chromium # one-time, ~150 MB
# later: `gflow update` upgrades in place (every command shows a banner when a newer release is out)
# 2 · Authenticate (one-time, opens a real Chrome window)
# Behind a proxy (e.g. Clash)? Set GFLOW_CLI_BROWSER_PROXY=http://127.0.0.1:7897 first (docs/CONFIGURATION.md)
gflow auth login --browser chrome
# Check the session (spends nothing)
gflow auth status
gflow credits user # Veo credit balance (no browser when the direct read is on and the saved session is accepted; spends nothing)
gflow capabilities # what gflow can drive here: yes/no/partial per capability (no call to Flow)
# 3 · Generate
gflow image t2i "a hot air balloon over Tokyo at sunrise"
# or:
gflow video t2v "Slow cinematic push-in on a sunlit forest clearing" --aspect 16:9
# or mint a reusable Character (face + body reference):
gflow character create --project <id> --name "Aria" --face-prompt "..." --body-prompt "..."
Outputs land under $GFLOW_CLI_OUTPUT_DIR, or you can route them to S3, MinIO, or Google Cloud Storage with GFLOW_CLI_STORAGE_URI. The first call takes 30 to 90 seconds while Chromium warms up; later calls reuse the warm session.
Why
--browser chrome? It is the only strategy that marks the profile as a real-Chrome profile, which is what later generation runs open it with. The defaultautopicks it whenever Chrome is installed — see docs/AUTHENTICATION.md.
Installing from a local checkout?
uv tool install <path>ignoresuv.lockand resolves dependencies from thepyproject.tomlranges, so it can hand you a Playwright build this project has never tested. Playwright ships the browser driver, and an untested minor can wedge a generation silently. Carry the locked version explicitly:uv tool install --force --with playwright==1.59.0 .Installing from PyPI (
uv tool install gflow-cli) is unaffected — the published range is upper-bounded. Check what you actually have withuv tool run --from gflow-cli python -c "import importlib.metadata as m; print(m.version('playwright'))".
For the full 10-minute walkthrough with troubleshooting and multi-account setup, see USER_GUIDE: Journey 1.
Examples
One command in, real Flow output back. Left: gflow image t2i generating a photorealistic scene in your library. Right: a frame-to-frame transform.

Demo

A single gflow image t2i "..." --aspect 9:16 --model nano2 call against a logged-in Flow profile. The terminal streams the run's structlog JSON, then lists the written PNG. Chromium drives the Flow editor silently in the background.
Reproduce the recording with scripts/record_demo.ps1 (Windows, OBS, ffmpeg, gifski). More formats, including the side-by-side split-screen: docs/DEMOS.md.
Documentation
docs/INDEX.md is the master routing layer. Quick links:
Usage data: gflow stores local usage counters and, after an interactive notice (and explicit consent in the EU/EEA), uploads weekly totals without an identifier. See the privacy notice and how to turn it off.
| Topic | Read |
|---|---|
| 🎯 Getting started | User Guide · Usage · Configuration |
| Storage & catalog | External Storage · Data Layer |
| 🎭 Characters | Characters, reusable subjects (gflow character) |
| 🤖 Agentic & automation | Instructions (gflow instructions, persistent brief cards) · Movie (gflow movie, multi-scene manifests) · Tools (--tool, prompt rewriting) · MCP server (gflow mcp run / gflow serve) |
| 🔐 Auth & sessions | Authentication · Known issues |
| 📣 Where to install from | Marketplaces (every channel and what each actually delivers) · Container (why the image introspects but cannot generate) |
| 🏗️ Internals | Architecture · Security · Usage data notice · Debugging |
| 📦 Releases | Changelog · Roadmap · Release protocol · Project status |
| 🤝 Contributing | Contributing · Development · GitHub workflow |
For AI agents & LLMs
gflow-cli ships four agent entry points. Pick the one your tool reads first.
| File | Audience | Tools |
|---|---|---|
| AGENTS.md | Universal coding-agent spec | Cursor · Codex · Aider · Antigravity · Jules · Devin · Windsurf · Zed · Warp · opencode · Copilot |
| CLAUDE.md | Claude Code's auto-loaded memory | Claude Code |
| llms.txt | LLM-readable summary (llmstxt.org format) | Paste into ChatGPT, Claude, or Gemini to onboard the model |
skills/gflow-cli/SKILL.md |
Claude Code Skill | Symlink into ~/.claude/skills/ |
Install the plugin (Claude Code)
One step, and you get the gflow-cli and video-production skills plus the MCP server:
/plugin marketplace add ffroliva/gflow-cli
/plugin install gflow@gflow-cli
The plugin ships disabled. Claude Code starts a plugin's MCP servers automatically once a
plugin is enabled, with no prompt of its own — and this server drives your own Google account,
where Veo video generation bills your credits. So installing it starts nothing, and enabling it
is a deliberate act. Images and composition are free; only video spends. For a hard guarantee,
register the server yourself with gflow mcp run --no-spend, which never registers the
credit-spending tools at all. See docs/MCP.md for the details, including which
revision /plugin marketplace add gives you.
Codex users: codex plugin marketplace add . then codex plugin add gflow@gflow-cli.
Onboard any agent in one line. Paste this into your agent of choice:
"Read AGENTS.md and docs/INDEX.md, then help me with my Flow batch."
Architecture & current limitations
gflow CLI → Provider (interchangeable) → Flow (ui_automation) / Mock (tests) / [planned: Official Veo]
↓
Playwright Chromium (headed — login AND generation, by default)
↓
aisandbox-pa.googleapis.com (Google's private Flow API)
Current transport: ui_automation drives Flow through a persistent Playwright Chromium profile. It is production-stable and verified end-to-end every release (see the per-release LIVE_VERIFICATION_* evidence files).
Two Flow frontends: Google is moving accounts from labs.google onto flow.google.com (#639) — same product, different widget toolkit and wire protocol (batchexecute instead of aisandbox-pa). The migrated driver covers text-to-video, image-to-video from a local start frame, reference-to-video from local files, text-to-image, image-to-image from local files, and a single-segment video extend. Image generation supports Nano Banana 2.1 (nano2, #958) / 2 Lite / Pro, the five aspect ratios measured on that host (16:9, 4:3, 1:1, 3:4, 9:16), and counts 1–4; an existing project is required at the transport boundary. Images can tag a character by @Name, and reference-to-video takes a named character with --reference-entity + --reference-entity-name (#723). An account served the agent-only composer (#799) gets text-to-image and text-to-video only. An image --ref <uuid> is referenced in place when the catalog records it in the same --project (#995). Other UUID media references, an entity id without a name, instructions, Imagen 4, and the rest of the matrix keep the labs driver until ported (GFLOW_CLI_FLOW_HOST, see CONFIGURATION).
What's blocked: a pure HTTP transport for video generation. The video upload endpoint returns HTTP 401 under non-Chrome browsers plus a reCAPTCHA mint we cannot reproduce headlessly. Three earlier HTTP strategies (evaluate_fetch, bearer, sapisidhash) live under src/gflow_cli/api/transports/experimental/ for research, off the production path.
How you can help: if you have driven aisandbox-pa.googleapis.com from outside a real Chrome session, or you understand Google's anti-bot stack here, please open an issue. A working REST transport would unlock serverless deployments, true horizontal concurrency, and roughly 10x the project's reach. Details: docs/ARCHITECTURE.md § Headed-browser dependency.
Project status
Alpha. Image (t2i, i2i, upload, upscale, batch) and video (t2v, i2v, r2v, chain, extend, upscale) run end-to-end on ui_automation, with a 5-model Veo picker plus --duration and --count. Beyond single generations: gflow movie renders multi-scene manifests, gflow instructions manages persistent Agent-Mode brief cards (credits-free), gflow character handles reusable subjects, gflow scene does credit-free server-side stitching, --tool applies prompt-rewriting tools, and an MCP server (gflow mcp run stdio / gflow serve Streamable HTTP) exposes the core surface to AI agents with a CI-enforced CLI↔MCP parity contract.
Full milestone history lives in CHANGELOG.md. Where the project is heading: ROADMAP.md.
Support gflow-cli
gflow-cli is built and maintained by one person. Every release is verified against real Google Flow, which spends real AI credits, and breakages get fixed fast because people run it in their pipelines. Sponsorship pays for both.
Relying on gflow-cli at work? The monthly company tiers put your logo here, and Silver and above also get priority issues. All tiers and what each one gets: docs/SPONSORS.md.
Patched gflow-cli in your fork? Please open an issue or a pull request — a fix that lands upstream helps everyone.
Hall of fame
No sponsors yet. Be the first — every public sponsor is listed here.
License & legal
MIT License © 2026 Flavio Oliva (ffroliva). The MIT license covers gflow-cli's code only. It grants no rights to Flow, Veo model output, or any Google service. Google's own terms (Labs Additional Terms and any plan-specific subscription terms) govern your generations. See the DISCLAIMER.
Acknowledgements
edge-tts, design inspiration for community SDKs over private cloud APIs.googleapis/python-genai, the official Veo SDK that a future provider release may alias.- Keysight, Google Labs – Flow AI with Veo3: A Network Traffic Analysis, an independent capture that helped validate the route patterns.
Stats
Star history
If gflow-cli saves you time, please ⭐ the repo. It is the cheapest way to support the project.
gflow-cli MCP 질문
gflow-cli MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add gflow-cli -- uvx gflow-cli를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
gflow-cli MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
인증은 어떻게 처리하나요?
Playwright Chromium 프로필을 지속적으로 사용하여 Google 인증 및 reCAPTCHA 단계를 처리합니다.