A modern desktop GUI application for generating videos using Google's Veo 3.1 model via the Gemini API. Built with Python and PySide6.
- GUI Interface: User-friendly desktop interface, no command line required.
- Veo 3.1 Support: Utilizes Google's latest video generation model.
- Customizable Parameters:
- Prompt & Negative Prompt
- Aspect Ratio (16:9, 9:16)
- Person Generation Safety Settings
- Seed Control for reproducible results
- Real-time Logging: Integrated console output within the GUI for monitoring progress and errors.
- Modular Design: Clean code structure separating GUI, logic, and configuration.
- Python 3.10 or higher
- A Google Cloud Project with Vertex AI / Gemini API enabled
- A Google Cloud API Key
uv is a fast Python package installer and resolver. This project is configured to use Tsinghua University mirror for faster downloads in China.
-
Install uv (if not already installed):
# On Windows (PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # On macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh
-
Clone the repository (or download the source code):
git clone https://github.com/sihuangtech/veo-studio.git cd veo-studio -
Create virtual environment and install dependencies:
# uv will automatically create a virtual environment and install dependencies uv sync -
Activate the virtual environment:
# On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate
-
Clone the repository (or download the source code):
git clone https://github.com/sihuangtech/veo-studio.git cd veo-studio -
Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Copy the example configuration file:
cp .env.example .env
-
Open
.envand replaceyour_api_key_herewith your actual Google Cloud API Key.Note: The application will verify this file and alert you if it's missing or configured with placeholders.
-
Network Proxy Settings (Optional): If you are in a region where Google services are restricted (e.g., Chinese Mainland), you can configure a proxy by uncommenting and setting
HTTPS_PROXYin your.envfile:HTTPS_PROXY=http://127.0.0.1:7890
-
Custom API Endpoint (Optional): If you are using an API gateway / reverse proxy to access the Google GenAI API, you can override the SDK base URL in your
.envfile:GOOGLE_GENAI_BASE_URL=https://your-proxy.example.com
Google provides multiple Veo video generation models. You can now switch between them directly in the GUI.
- Locate the Model Selection dropdown in the left panel.
- Select your desired model.
- The selection is automatically saved to
config.json.
| Model Name | Version | Description |
|---|---|---|
veo-3.1-generate-preview |
Veo 3 | Released on Oct 15, 2025. Generates 720p or 1080p video at 24 or 30 fps. |
veo-3.1-fast-generate-preview |
Veo 3 | Released on Oct 15, 2025. Generates 720p or 1080p video at 24 or 30 fps. Optimized for speed and rapid iteration. |
veo-3.0-generate-001 |
Veo 3 | Released in May 2025. Shut down in Nov 2025, replaced by Veo 3.1. |
veo-3.0-fast-generate-001 |
Veo 3 | Released in May 2025. Shut down in Nov 2025, replaced by Veo 3.1. |
veo-2.0-generate-001 |
Veo 2 | Released in Dec 2024. Generates 1080p video at 24 or 30 fps. |
Notes:
- All models generate 8-second videos (API returns integer duration).
- Veo 3 series models support native audio generation and higher realism.
- Ensure your Google Cloud account is allowlisted for the corresponding preview models.
- For more official documentation and model details, please refer to: Google Gemini API Video Docs
Run the graphical user interface:
python3 run_gui.py- Select the desired model from the Model Selection dropdown.
- Enter your video description in the Prompt box.
- (Optional) Enter a Negative Prompt to specify what to avoid.
- Adjust Aspect Ratio and Person Generation settings as needed.
- (Optional) Check Use Seed and set a number for reproducible generation.
- Click Generate Video.
- Wait for the process to complete. The log panel on the right will show status updates.
- Once finished, the video location will be displayed, and a success message will appear.
- Generated videos are saved in the
outputdirectory within the project folder.
run_gui.py: Launch script for the GUI application.main.py: Command-line interface entry point.app/: Source code directory.gui.py: Main GUI window implementation.veo_client.py: Core logic for interacting with the Google GenAI API.config.py: Configuration management.utils.py: Utility functions.
config.json: Stores user preferences (e.g., selected model).config.example.json: Template for configuration..env: Configuration file for API keys.pyproject.toml: Project metadata and dependencies (for uv).uv.toml: UV configuration with Tsinghua mirror settings.
- API Key Errors: Ensure your API key is valid and has access to the Veo model in Google Cloud Console.
- Quota Limits: Video generation models often have strict quota limits. Check your Google Cloud quota if generation fails repeatedly.
- Logs: Check the "Console Output" panel in the application for detailed error messages.
This project is licensed under the MIT License - see the LICENSE file for details.
Maintained by SK Studio.
- Website: www.skstudio.cn
- Email: contact@skstudio.cn
- QQ Group: Join Chat