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 +4 -4
- data/lib/generate_image/version.rb +1 -1
- data/lib/generate_image.rb +15 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00f69d4b0c88b6e09af4a1cdd8b766041c0d014a4777368b791fb9acc6af82ec
|
4
|
+
data.tar.gz: d78c09e191db7a1be962f4b698c4682f10cc24108cb1309770fbdf5d96918df8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 662d9656c7d83a67633dbea6995502729ff238f393d0924dccecebdd6f89abab3f6f2fadc810327a804c663792f431b7b98839135941b420049936604f1cbcae
|
7
|
+
data.tar.gz: f9b12463cd29f9ca602ef7e0d742aa93ca5a74431ad8e8a4ec7a5d877d7b0f998bca2d0096874aafc144861efa283555d4eef63aa42032b9d6f6ad60e990d782
|
data/lib/generate_image.rb
CHANGED
@@ -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
|
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
|
-
|
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 #{
|
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] || '
|
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] ||
|
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.
|
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-
|
11
|
+
date: 2023-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-http
|