This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program. This project is intended for demonstration purposes only. It is not intended for use in a production environment.
- GenMedia Creative Studio | Vertex AI
- Table of Contents
- GenMedia Creative Studio
- Documentation Hub
- Experiments & MCP Tools
- Contributing changes
- Licensing
- Disclaimer
Browser Compatibility: For the best experience, we recommend using Google Chrome. Some features may not work as expected on other browsers, such as Safari or Firefox.
GenMedia Creative Studio is a web application showcasing Google Cloud's generative media - Gemini Omni, Veo, Lyria, Gemini Image Generation (Nano Banana), Chirp 3 HD, and Gemini TTS along with custom workflows and techniques for creative exploration and inspiration. We're looking forward to see what you create!
Current featureset:
- Image: Gemini 3.1 Flash-Lite Image (Nano Banana 2 Lite), Gemini Flash Image Generation (Nano Banana 2), Gemini 3 Pro Image (Nano Banana Pro), Virtual Try-On
- Video: Gemini Omni Flash, Veo 3.1, Veo 3
- Music: Lyria 3 & 2
- Speech: Chirp 3 HD, Gemini Text to Speech
- Workflows: Character Consistency, Shop the Look, Starter Pack Moodboard, Interior Designer
- Asset Library
This is built using Mesop, an open source Python framework used at Google for rapid AI app development, and the scaffold for Studio style apps.
For comprehensive guides, deployment instructions, architecture details, and developer workflows, please visit our Documentation Hub.
Important
Git History Reset Notice: The repository history on main was scrubbed in August 2026 to remove legacy compiled binaries, reducing clone size by ~60%. If you have an existing clone, please see the Git History Reset Instructions on our Changelog for steps to synchronize your local checkout.
Stay up-to-date with upcoming breaking changes and releases on our Changelog & Notices page.
The app is a Python (Mesop on FastAPI) application that requires Python 3.14+ and uses uv for dependency management. You also need a Google Cloud project with Vertex AI access β the UI calls Vertex (Gemini, Veo, Imagen, Lyria) regardless of where the web server runs.
# 1. Install uv (macOS/Linux) if you don't have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Authenticate to Google Cloud (provides Application Default Credentials):
gcloud auth application-default login
export PROJECT_ID=$(gcloud config get-value project)
# 3. Sync dependencies (uv installs Python 3.14 automatically) and run:
uv sync
uv run main.pyThen open http://localhost:8080/ β / redirects to /home. See Local Setup & Development on the Documentation Hub for .env configuration and available environment variables.
Prefer a fully hosted environment? Use Cloud Shell and follow the tutorial:
scripts/smoke_test.sh is a quick, automated boot check for the core app: it runs uv sync, boots the app under gunicorn/uvicorn in APP_ENV=local mode, and verifies the UI serves (GET / β /home β 200, GET /__login β 200). An optional, env-gated leg (-l) makes one live Vertex gemini-2.5-flash generation call when a PROJECT_ID and Application Default Credentials are present.
./scripts/smoke_test.sh # boot + UI check
./scripts/smoke_test.sh -l # also run the live Vertex generation legRun it before merging any PR that touches core-app runtime code (pages/, models/, state/, config/, main.py) to catch boot-health regressions early. It is a fast pre-merge sanity check, not a substitute for the test suite and not a deploy/IAP/Load-Balancer validation (that's the Terraform deployment path). To click around the running app yourself, use the local run above; the script is for a quick, hands-off "does it still boot and serve?" answer.
The application is designed to be deployed using Terraform and Cloud Run. You have the flexibility to deploy using a custom domain (with Identity Aware Proxy and a Load Balancer) or using the autogenerated Cloud Run domain.
For detailed, step-by-step instructions on setting up your environment, configuring custom domains, and managing Identity Aware Proxy (IAP), please see the Deployment Guide on our Documentation Hub.
The experiments/ folder contains a variety of stand-alone applications, new workflows, and Model Context Protocol (MCP) servers that showcase cutting-edge capabilities with generative AI. This includes combined workflows for video generation, advanced prompting techniques, image recontextualization, and audio exploration.
To explore the available experiments, view architecture diagrams, and find installation instructions for our MCP tools, head over to the Experiments Section of our Documentation Hub.
Interested in contributing? Please open an issue describing the intended change. Additionally, bug fixes are welcome, either as pull requests or as GitHub issues.
See CONTRIBUTING.md for details on how to contribute.
Maintainers: see docs/repo-management/ for the repository-management system (recurring jobs, review discipline, and branch-hygiene policy).
Code in this repository is licensed under the Apache 2.0. See LICENSE.
Caution
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.

