A Temporal Workflow that generates video clips based on user prompt, powered by Google Gemini and Veo 2.
underwater-circus.mp4
This video is generated with the prompt
Mermaids, dolphins, and octopuses performing for a circus performance.
-
With this repository cloned, run the following at the root of the repository directory to install Python dependencies:
uv sync
-
Authenticate Google Cloud CLI.
gcloud auth application-default login
Your Google Cloud credentials should be cached to your local file system. Hence, you should not have to authenticate every time you are running this solution.
-
If this is your first time using the Google Cloud CLI, you may have to configure your Google Cloud CLI to use your Google Cloud project.
gcloud auth application-default set-quota-project <your-gcp-project> gcloud config set project <your-gcp-project>
-
Copy
.envrc.example
and populate values:cp .envrc.example .envrc
You will need a Google Cloud Storage bucket to store the generated videos. To create a bucket, see https://cloud.google.com/storage/docs/creating-buckets
-
Start Temporal locally.
temporal server start-dev
-
In a new terminal, run the Worker.
uv run poe run_worker
-
In a new terminal, run the Workflow.
uv run poe run_workflow