Gemini.Types.Generation.Video.VideoGenerationConfig (GeminiEx v0.9.0)

Copy Markdown View Source

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 video
  • seed - Random seed for reproducibility
  • guidance_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-video
  • last_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

t()

@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
}