Skip to content

feat(video): add experimental Google Flow bridge#125

Open
Tsopic wants to merge 1 commit into
calesthio:mainfrom
Tsopic:codex/google-flow-bridge
Open

feat(video): add experimental Google Flow bridge#125
Tsopic wants to merge 1 commit into
calesthio:mainfrom
Tsopic:codex/google-flow-bridge

Conversation

@Tsopic

@Tsopic Tsopic commented Jun 21, 2026

Copy link
Copy Markdown

Summary

  • Add google_flow_video, an experimental video-generation provider that drives the visible Google Flow web UI through a local Playwright browser session.
  • Add google_flow_browser_bridge for login checks, prompt submission, download polling, redaction, safe shutdown, and URL safety checks.
  • Keep Flow explicitly opt-in: it requires GOOGLE_FLOW_ENABLED=true, OPENMONTAGE_EXPERIMENTAL_GOOGLE_FLOW=1, preferred_provider="google_flow", and confirm_browser_automation=true; video_selector skips explicit-only providers in auto and rank modes.
  • Document optional browser setup in requirements-browser.txt, .env.example, README, and docs/PROVIDERS.md.

Experimental / Local-Only Warning

This is not an official Google Flow API integration. It automates only the visible Flow browser UI, uses the local logged-in browser session, and must not bypass CAPTCHA, rate limits, account protections, or private endpoints. Browser session state is stored only in the dedicated local Chrome profile by default; OpenMontage does not write cookies, tokens, storage snapshots, HARs, DOM dumps, or screenshots into repo/project artifacts. CDP mode is limited to localhost debugging endpoints.

Testing

  • pytest tests/tools/test_google_flow_video.py -> 21 passed, 1 skipped (GOOGLE_FLOW_E2E live smoke skipped)
  • pytest tests/contracts/test_phase3_contracts.py tests/tools/test_hyperframes_compose.py -> 105 passed
  • python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu_summary(), indent=2))" -> passed; google_flow appears as unavailable by default under video_generation
  • git diff --check && python -m py_compile tools/video/google_flow_browser_bridge.py tools/video/google_flow_video.py tools/video/video_selector.py tests/tools/test_google_flow_video.py -> passed
  • Subagent focused review -> no blocker findings after fixes

Live Flow E2E

Live Flow generation/check-auth tests remain opt-in and were not run. To run them locally, provide a logged-in browser profile and use:

GOOGLE_FLOW_E2E=1 GOOGLE_FLOW_ENABLED=true OPENMONTAGE_EXPERIMENTAL_GOOGLE_FLOW=1 pytest tests/tools/test_google_flow_video.py -k live

@Tsopic Tsopic requested a review from calesthio as a code owner June 21, 2026 18:59

@rajpratham1 rajpratham1 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a well-thought-out feature addition that introduces an experimental Google Flow browser bridge while keeping it explicitly opt-in. I like that the implementation includes multiple safeguards—explicit provider selection, browser automation confirmation, dedicated browser profiles, and exclusion from automatic provider routing. The accompanying documentation, environment configuration, provider registration, and test coverage make the feature feel complete rather than just adding a new tool.

@Anil-matcha

Copy link
Copy Markdown

Hey @Tsopic! Great contribution. Also worth noting — Text-To-Video-AI is a more actively maintained alternative to OpenMontage if you're looking for a project to contribute to long-term!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants