Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,6 @@

# Time Series Forecasting
/java/agents/time-series-forecasting/ @kweinmeister

# Short movie agents
/python/agents/short-movie-agents @rsamborski
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ To learn more, check out the [ADK Documentation](https://google.github.io/adk-do
│ │ ├── RAG
│ │ ├── realtime-conversational-agent
│ │ ├── safety-plugins
│ │ ├── README.md
│ │ ├── short-movie-agents
│ │ ├── software-bug-assistant
│ │ └── travel-concierge
│ │ ├── travel-concierge
│ │ └── README.md
│ └── README.md
└── README.md
```
Expand Down
1 change: 1 addition & 0 deletions python/agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Check out the agent samples below, organized by category:
| [Personalized Shopping](personalized-shopping) | Product Recommendations | E-commerce, Personalized agent, Shopping assistant, Single-agent, Product recommendation, Product discovery, Chatbot | Conversational | Easy | Single Agent | E-commerce |
| [Vertex AI Retrieval Agent](RAG) | RAG Powered Agent / Answering questions related to documents uploaded to Vertex AI RAG Engine, providing informative responses with citations to source materials. | RAG engine | Workflow | Intermediate | Single Agent | Horizontal |
| [Safety Guardrail Plugins](safety-plugins) | Safety filter plugins: Gemini as a judge, Model Armor as a filter | Plugin, Security, Guardrail, Jailbreak, Multiagent | Conversational/Workflow | Intermediate | Plugin | Safety &Security |
| [Short Movie Agents](short-movie-agents) | Constructs end to end videos based on the user's intent. | Multi-agent, Custom tool | Workflow | Intermediate | Multi Agent | Media
| [Software Bug Assistant](software-bug-assistant) | Assists in software bug resolution by querying internal ticketing systems and external knowledge sources (GitHub, StackOverflow, Google Search) to find similar issues and diagnostics. | RAG, MCP, Bug Tracking, Google Search, IT Support, Database Integration, API | Workflow/Conversational | Intermediate | Single Agent | Horizontal / IT Support |
| [Travel Concierge](travel-concierge) | Travel Concierge, Digital Tasks Assistant | Function tool (Python), Custom tool, Agent tool, Input and output schema, Updatable context, Dynamic instructions | Conversational | Advanced | Multi Agent | Travel |
| [Auto Insurance Agent](auto-insurance-agent) | Auto Insurance Agent to manage members, claims, rewards and roadside assistance. | [Apigee](https://cloud.google.com/apigee/docs/api-platform/get-started/what-apigee), [Apigee API hub](https://cloud.google.com/apigee/docs/apihub/what-is-api-hub), Agent Tool | Conversational | Easy | Multi Agent | Financial Services
Expand Down
11 changes: 11 additions & 0 deletions python/agents/short-movie-agents/.env-template
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# General
# GOOGLE_CLOUD_BUCKET_NAME=YOUR_GS_BUCKET_NAME

# # AI Studio
# GOOGLE_GENAI_USE_VERTEXAI=FALSE
# GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE

# # VertexAI
# GOOGLE_GENAI_USE_VERTEXAI=TRUE
# GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
# GOOGLE_CLOUD_LOCATION=LOCATION
178 changes: 178 additions & 0 deletions python/agents/short-movie-agents/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.env.local
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# VS Code
.vscode/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc
21 changes: 21 additions & 0 deletions python/agents/short-movie-agents/Changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Changelog

## v0.3.1 - Refactor deployment and model updates

- Upgraded image generation model to `imagen-4.0-ultra-generate-001`.
- Set the location for video generation model to `us-central1`.
- Added `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` to the backend deployment in `Makefile`.
- Removed Terraform-based deployment, updated `README.md` and `Makefile` to reflect this change.

## v0.3.0 - Code updates based on agent-starter-pack 0.15.4

- Updated the codebase to align with the changes in `agent-starter-pack` version 0.15.4.

## v0.2.0 - Moved to a director workflow architecture

- Refactored the agent workflow from a sequential process to a director-based architecture for improved orchestration and flexibility.

## v0.1.0 - Initial version

- Initial release of the short movie generation agents.
- Implemented a sequential workflow for story generation, screenplay creation, storyboarding, and video production.
29 changes: 29 additions & 0 deletions python/agents/short-movie-agents/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM python:3.13-slim

RUN pip install --no-cache-dir uv==0.6.12

WORKDIR /code

COPY ./pyproject.toml ./README.md ./uv.lock* ./

COPY ./app ./app

RUN uv sync --frozen

EXPOSE 8080

CMD ["uv", "run", "uvicorn", "app.server:app", "--host", "0.0.0.0", "--port", "8080"]
Loading