FESTIVY is a next-generation, frictionless agentic web application built using the google-genai SDK and Vertex AI Gemini 3.1 Pro (gemini-3.1-pro-preview). It multimodally parses music festival poster images to extract artist lineups, streams real-time processing logs directly to the web frontend, and programmatically generates a beautiful, interactive cards grid. Clicking on any card launches an unauthenticated YouTube embedded video search player playing that artist's signature track immediately.
With zero configuration overhead, no complex OAuth logins, and unauthenticated YouTube embeds, FESTIVY is fully optimized for high-availability workshop environments.
To run the Jukebox, you need to configure Google Cloud Platform (GCP) to allow the GenAI client to communicate with the Vertex AI Prediction service.
-
Select Your GCP Project:
- Open the Google Cloud Console.
- Select or create your active project.
-
Enable the Vertex AI API:
- In the top search bar, type Vertex AI API and select it.
- Click Enable to activate the
aiplatform.googleapis.comprediction service for your project.
Since enterprise and corporate organization policies often block the use of API keys with Vertex AI services, we recommend authenticating using Application Default Credentials (ADC).
- Run the ADC login command in your terminal:
gcloud auth application-default login
- Authenticate: A browser window will open asking you to sign in with your Google account. Once approved, a secure credentials JSON file will be saved locally on your machine (e.g.,
~/.config/gcloud/application_default_credentials.json). - The
google-genaiSDK will automatically pick up this local credentials file to authorize requests securely!
Open the local app/.env file and define your parameters:
# Disable API keys to enforce secure Application Default Credentials (ADC) authentication
# GEMINI_API_KEY=
# GCP project and regional endpoint configurations
GCP_PROJECT=lee-experimental
GCP_LOCATION=global
# Server address settings
HOST=127.0.0.1
PORT=8080
CACHE_FILE_PATH=data/festival_cache.jsonEnsure you have uv installed on your system, then run:
# Initialize virtual environment & install dependencies
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
# Start the application server
python run.pyOnce running, open your browser and navigate to http://127.0.0.1:8080.
When running or testing the agent, you can download or use this high-fidelity music festival poster to verify multimodal parsing:
- Download Festival Poster URL:
https://cdn.shopify.com/s/files/1/0689/6061/6685/files/20251104_Download26_1.jpg?v=1762242348