Class: RunApi::GeminiOmni::Client

Inherits:
Core::Client
  • Object
show all
Defined in:
lib/runapi/gemini_omni/client.rb

Overview

Gemini Omni multimodal generation client for voice presets, character creation, and text-to-video with optional characters, audio voices, and reference media.

Examples:

client = RunApi::GeminiOmni::Client.new(api_key: "sk-...")

audio = client.create_audio.run(audio_id: "zephyr", name: "Narrator")
video = client.text_to_video.run(
  prompt: "A narrator walks through a futuristic city",
  duration_seconds: 6,
  audio_ids: [audio.audio.id]
)
puts video.videos.first.url

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key: nil, **options) ⇒ Client

Returns a new instance of Client.



26
27
28
29
30
31
# File 'lib/runapi/gemini_omni/client.rb', line 26

def initialize(api_key: nil, **options)
  super
  @create_audio = Resources::CreateAudio.new(http)
  @create_character = Resources::CreateCharacter.new(http)
  @text_to_video = Resources::TextToVideo.new(http)
end

Instance Attribute Details

#create_audioResources::CreateAudio (readonly)

Returns Registers reusable voice presets (synchronous).

Returns:



20
21
22
# File 'lib/runapi/gemini_omni/client.rb', line 20

def create_audio
  @create_audio
end

#create_characterResources::CreateCharacter (readonly)

Returns Builds reusable characters from reference images (synchronous).

Returns:



22
23
24
# File 'lib/runapi/gemini_omni/client.rb', line 22

def create_character
  @create_character
end

#text_to_videoResources::TextToVideo (readonly)

Returns Generates video from prompts with optional characters and voices (async).

Returns:



24
25
26
# File 'lib/runapi/gemini_omni/client.rb', line 24

def text_to_video
  @text_to_video
end