Class: LLM::Gemini::Images
- Inherits:
-
Object
- Object
- LLM::Gemini::Images
- Defined in:
- lib/llm/providers/gemini/images.rb
Overview
The LLM::Gemini::Images class provides an images object for interacting with Google's Imagen text-to-image models via the Imagen API: https://ai.google.dev/gemini-api/docs/imagen
Instance Method Summary collapse
-
#create(prompt:, n: 1, image_size: nil, aspect_ratio: nil, person_generation: nil, model: "imagen-4.0-generate-001", **params) ⇒ LLM::Response
Create an image.
- #create_variation ⇒ Object
-
#edit(image:, prompt:, model: "gemini-2.5-flash-image", **params) ⇒ LLM::Response
Edit an image.
-
#initialize(provider) ⇒ LLM::Gemini::Responses
constructor
Returns a new Images object.
Constructor Details
#initialize(provider) ⇒ LLM::Gemini::Responses
Returns a new Images object
22 23 24 |
# File 'lib/llm/providers/gemini/images.rb', line 22 def initialize(provider) @provider = provider end |
Instance Method Details
#create(prompt:, n: 1, image_size: nil, aspect_ratio: nil, person_generation: nil, model: "imagen-4.0-generate-001", **params) ⇒ LLM::Response
Create an image
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/llm/providers/gemini/images.rb', line 42 def create(prompt:, n: 1, image_size: nil, aspect_ratio: nil, person_generation: nil, model: "imagen-4.0-generate-001", **params) req = Net::HTTP::Post.new("/v1beta/models/#{model}:predict?key=#{key}", headers) body = LLM.json.dump({ parameters: { sampleCount: n, imageSize: image_size, aspectRatio: aspect_ratio, personGeneration: person_generation }.compact.merge!(params), instances: [{prompt:}] }) req.body = body res = execute(request: req) ResponseAdapter.adapt(res, type: :image) end |
#create_variation ⇒ Object
78 79 80 |
# File 'lib/llm/providers/gemini/images.rb', line 78 def create_variation raise NotImplementedError end |
#edit(image:, prompt:, model: "gemini-2.5-flash-image", **params) ⇒ LLM::Response
Edit an image
71 72 73 |
# File 'lib/llm/providers/gemini/images.rb', line 71 def edit(image:, prompt:, model: "gemini-2.5-flash-image", **params) raise NotImplementedError, "image editing is not yet supported by Gemini" end |