Configuration for video generation requests.
Fields
number_of_videos- Number of videos to generate (1-4, default: 1)duration_seconds- Video duration in seconds (4-8, default: 8)aspect_ratio- Video aspect ratio (default: "16:9")fps- Frames per second (24, 25, or 30, default: 24)compression_format- Video compression format (default: :h264)safety_filter_level- Content safety filtering (default: :block_some)negative_prompt- Text describing what to avoid in the videoseed- Random seed for reproducibilityguidance_scale- How closely to follow the prompt (1.0-20.0)person_generation- Person generation policy (default: :allow_none; legacy :dont_allow supported)image- Optional image input for image-to-videolast_frame- Optional last frame for interpolation (Veo 3.1)reference_images- Optional list of reference images (Veo 3.1)video- Optional input video for extension (Veo 3.1)resolution- Output resolution ("720p" or "1080p")
Summary
Types
@type t() :: %Gemini.Types.Generation.Video.VideoGenerationConfig{ aspect_ratio: String.t(), compression_format: :h264 | :h265, duration_seconds: pos_integer(), fps: pos_integer(), guidance_scale: float() | nil, image: (Gemini.Types.Blob.t() | map()) | nil, last_frame: (Gemini.Types.Blob.t() | map()) | nil, negative_prompt: String.t() | nil, number_of_videos: pos_integer(), person_generation: atom(), reference_images: [Gemini.Types.Generation.Video.VideoGenerationReferenceImage.t()] | nil, resolution: String.t() | nil, safety_filter_level: atom(), seed: integer() | nil, video: (Gemini.Types.Blob.t() | map()) | nil }