Class: OxAiWorkers::Models::OpenaiGptImage
- Inherits:
-
ImagesBase
- Object
- ImagesBase
- OxAiWorkers::Models::OpenaiGptImage
- Defined in:
- lib/oxaiworkers/models/openai_gpt_image.rb
Instance Attribute Summary
Attributes inherited from ImagesBase
#client, #options, #qualities, #result, #sizes
Instance Method Summary collapse
- #generate(prompt:, size: nil, quality: nil) ⇒ Object
-
#initialize(api_key: nil, options: {}) ⇒ OpenaiGptImage
constructor
A new instance of OpenaiGptImage.
Constructor Details
#initialize(api_key: nil, options: {}) ⇒ OpenaiGptImage
Returns a new instance of OpenaiGptImage.
4 5 6 7 8 9 10 11 |
# File 'lib/oxaiworkers/models/openai_gpt_image.rb', line 4 def initialize(api_key: nil, options: {}) @sizes = %w[auto 1024x1024 1536x1024 1024x1536] @qualities = %w[auto low medium high] api_key ||= OxAiWorkers.configuration.access_token_openai @client = OpenAI::Client.new(access_token: api_key) super(options:) end |
Instance Method Details
#generate(prompt:, size: nil, quality: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/oxaiworkers/models/openai_gpt_image.rb', line 13 def generate(prompt:, size: nil, quality: nil) puts "OpenaiGptImage: #{prompt}" size ||= @sizes.first quality ||= @qualities.first = { prompt:, model: 'gpt-image-1', size:, quality: } .merge!(@options) response = @client.images.generate( parameters: ) b64_json = response.dig('data', 0, 'b64_json') Base64.decode64(b64_json) end |