VideoGeneration
Generate video using Google's Veo 3 model.
Generate high-quality videos from text prompts using Google's Veo 3 model via the Gemini API. See Veo 3 documentation for more information.
type: "io.kestra.plugin.gemini.VideoGeneration"Examples
Generate a video of a golden retriever playing in sunflowers.
id: gemini_video_generation
namespace: company.ai
tasks:
  - id: generate_video
    type: io.kestra.plugin.gemini.VideoGeneration
    apiKey: "{{ secret('GEMINI_API_KEY') }}"
    model: "veo-3.0-generate-preview"
    prompt: "a close-up shot of a golden retriever playing in a field of sunflowers"
    negativePrompt: "barking, woofing"
    duration: 5
Generate video using Vertex AI with audio enabled.
id: gemini_vertex_video_with_audio
namespace: company.ai
tasks:
  - id: generate_vertex_video
    type: io.kestra.plugin.gemini.VideoGeneration
    model: "veo-3.0-generate-preview"
    prompt: "a serene mountain landscape with flowing rivers and birds chirping"
    duration: 8
    includeAudio: true
    vertexAI: true
    project: "{{ secret('GCP_PROJECT_ID') }}"
    location: "us-central1"
    outputGcsUri: "gs://my-bucket/videos/"
Properties
apiKey *Requiredstring
Gemini API Key
model *Requiredstring
Model
Specifies which generative model (e.g., 'gemini-1.5-flash', 'gemini-1.0-pro') to use for the completion.
prompt *Requiredstring
Video generation prompt
Text description of the video to generate
downloadFilePath string
File Download Path
Specify the file name or local path where the generated file will be saved. For example: '/Users/workspace/plugin-gemini/video.mp4' If not provided, the file will be saved with a default name in the format 'genai_video_.mp4', " + where {date} will be replaced with the current time in milliseconds format.
durationInSeconds integerstring
10Video duration in seconds
Duration of the generated video in seconds. Default is 10 seconds.
includeAudio booleanstring
falseInclude audio generation
Whether to generate synchronized audio for the video. Default is false.
location string
Location
The Google Cloud location (region) where the service is being requested. For example: 'us-central1'.
negativePrompt string
Negative prompt
Text description of what should NOT appear in the video
numberOfVideos integerstring
1Number of videos to generate
The number of videos to generate in the request. Default is 1.
outputGcsUri string
GCS Output URI
Optional Google Cloud Storage (GCS) URI to store the generated video (e.g., gs://your-bucket/path/). If not provided, the video will be returned as a downloadable link.
project string
Project ID
The Google Cloud project ID associated with this request. Required when using project/location for authentication.
seed integerstring
Seed value
Optional seed to make video generation deterministic. If not provided, a random seed is used.
timeout string
PT5MdurationRequest timeout
Timeout for the video generation request. Default is 5 minutes.
vertexAI booleanstring
falseUse Vertex AI
Flag to determine whether to use Google Vertex AI for video generation. When true, output must be written to a GCS URI.
Outputs
metadata objectnull
Metadata
Optional metadata related to the video generation process (e.g., model version, GCS path, etc.).
mimeType stringnull
MIME type
MIME type of the generated video (e.g., video/mp4).
videoUri stringnull
Video URI
URI of the generated video file.