Class: Gemini::Images

Inherits:
Object
  • Object
show all
Defined in:
lib/gemini/images.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Images

Returns a new instance of Images.



3
4
5
# File 'lib/gemini/images.rb', line 3

def initialize(client:)
  @client = client
end

Instance Method Details

#generate(parameters: {}) ⇒ Object

Main method to generate images

Raises:

  • (ArgumentError)


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/gemini/images.rb', line 8

def generate(parameters: {})
  prompt = parameters[:prompt]
  raise ArgumentError, "prompt parameter is required" unless prompt

  model = parameters[:model] || "gemini-2.5-flash-image-preview"
  
  # Image editing mode if input images are provided (supports single/multiple images)
  if has_input_images?(parameters)
    return generate_with_images(prompt, model, parameters)
  end
  
  # Image generation process based on model
  if model.start_with?("imagen")
    # Use Imagen 3
    response = imagen_generate(prompt, parameters)
  else
    # Use Gemini 2.0
    response = gemini_generate(prompt, parameters)
  end
  
  # Wrap and return response
  Gemini::Response.new(response)
end