Sha256: de142af9d9bf69d16e4bf28df3194caf75b51ce77c273e30b865435303c01d65
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
module OpenAI class Images include HTTParty base_uri "https://api.openai.com" def initialize(access_token: nil, organization_id: nil) @access_token = access_token || ENV.fetch("OPENAI_ACCESS_TOKEN") @organization_id = organization_id || ENV.fetch("OPENAI_ORGANIZATION_ID", nil) end def generate(version: default_version, parameters: {}) self.class.post( "/#{version}/images/generations", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}", "OpenAI-Organization" => @organization_id }, body: parameters.to_json ) end def edit(version: default_version, parameters: {}) parameters = open_files(parameters) self.class.post( "/#{version}/images/edits", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}", "OpenAI-Organization" => @organization_id }, body: parameters ) end def variations(version: default_version, parameters: {}) parameters = open_files(parameters) self.class.post( "/#{version}/images/variations", headers: { "Content-Type" => "application/json", "Authorization" => "Bearer #{@access_token}", "OpenAI-Organization" => @organization_id }, body: parameters ) end private def default_version "v1".freeze end def open_files(parameters) parameters = parameters.merge(image: File.open(parameters[:image])) parameters = parameters.merge(mask: File.open(parameters[:mask])) if parameters[:mask] parameters end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-openai-2.3.0 | lib/ruby/openai/images.rb |