generate_image 1.0.2 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b68744b05be00b7b8981dbd9e1dd485d8dec78bbeaadedb6f6135f29f60e4b67
4
- data.tar.gz: f7433aaedf3b64fc54cd32ce2b42de89022317068b35cf81249e302b1ffc50f7
3
+ metadata.gz: 00f69d4b0c88b6e09af4a1cdd8b766041c0d014a4777368b791fb9acc6af82ec
4
+ data.tar.gz: d78c09e191db7a1be962f4b698c4682f10cc24108cb1309770fbdf5d96918df8
5
5
  SHA512:
6
- metadata.gz: 0dc0fdabbfdb06f22fc794b7df09aa71c099268e5e8fd572f92dda99e5cd9c2d806d9106b977ae8983057c6984132e00fdbdc486fa4fc2dc6c2212750880c1b7
7
- data.tar.gz: b6f11b9f69a873bcd3d749d5b893c521d9f0993d0bcf7110cec661311b19afeb2be35205eab0172072536f7a4ae8db990c117479562af048a2c11b2c92feb208
6
+ metadata.gz: 662d9656c7d83a67633dbea6995502729ff238f393d0924dccecebdd6f89abab3f6f2fadc810327a804c663792f431b7b98839135941b420049936604f1cbcae
7
+ data.tar.gz: f9b12463cd29f9ca602ef7e0d742aa93ca5a74431ad8e8a4ec7a5d877d7b0f998bca2d0096874aafc144861efa283555d4eef63aa42032b9d6f6ad60e990d782
@@ -1,3 +1,3 @@
1
1
  module GenerateImage
2
- VERSION = "1.0.2"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -1,33 +1,36 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
1
4
  module GenerateImage
2
5
  class RequestFailed < StandardError; end
3
6
 
4
- class << self
7
+ class Client
5
8
  API_ENDPOINT = 'https://api.openai.com/v1/images/generations'
6
9
  IMAGE_MODEL_NAME = 'image-alpha-001'
7
10
  TEXT_MODEL_NAME = 'text-davinci-002'
8
- API_KEY = ENV['DALL_E_API_KEY']
11
+
12
+ attr_accessor :api_key
13
+
14
+ def initialize(api_key = nil)
15
+ @api_key = api_key || ENV['DALL_E_API_KEY']
16
+ raise StandardError, "API Key not set" unless @api_key
17
+ end
9
18
 
10
19
  def generate_image(text, options = {})
11
- unless API_KEY
12
- raise StandardError, "API Key not set"
13
- end
14
20
  uri = URI(API_ENDPOINT)
15
21
  request = Net::HTTP::Post.new(uri)
16
22
  request['Content-Type'] = 'application/json'
17
- request['Authorization'] = "Bearer #{API_KEY}"
23
+ request['Authorization'] = "Bearer #{@api_key}"
18
24
  request.body = {
19
25
  model: options[:model] || IMAGE_MODEL_NAME,
20
26
  prompt: text,
21
27
  num_images: options[:num_images] || 1,
22
- size: options[:size] || '1024x1024',
28
+ size: options[:size] || '512x512',
23
29
  response_format: options[:response_format] || 'url',
24
30
  style: options[:style] || nil,
25
31
  scale: options[:scale] || 1,
26
32
  seed: options[:seed] || nil,
27
- quality: options[:quality] || 100,
28
- text_model: options[:text_model] || 'text-davinci-002',
29
- text_prompt: options[:text_prompt] || nil,
30
- text_length: options[:text_length] || nil
33
+ quality: options[:quality] || 80
31
34
  }.to_json
32
35
 
33
36
  response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
@@ -46,5 +49,6 @@ module GenerateImage
46
49
  raise RequestFailed, "Failed to generate image. Response code: #{response.code}. Response body: #{response.body}"
47
50
  end
48
51
  end
52
+
49
53
  end
50
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: generate_image
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - AMQOR Merouane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-23 00:00:00.000000000 Z
11
+ date: 2023-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http