generate_image 0.1.2 → 0.1.3
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 +11 -11
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a729f8fda3aa05792e49f221a8d94d471185f0fba92dbb6d76fc5ea92767a6b5
|
4
|
+
data.tar.gz: c9df8fe206dd5e467085640f253b6bae608e89ec20c5c6ccfdbda2ff60d44684
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92969cfef020fc0c2c3c3c50b9c62489d12206dfaf6f68fd1d565388580866cf9f732751b74b93c0eacb6453e6e35ee1c82b79ca4a3847fc05b28482d079f699
|
7
|
+
data.tar.gz: c0d3971e217207be1043dd081a979b2cd669813e1b217bd83214dc8a1dcec29be8bda115562b05005bc3db915a2622fa7e5c26c3811c9a44859585980e334195
|
data/lib/generate_image.rb
CHANGED
@@ -2,22 +2,24 @@ require 'net/http'
|
|
2
2
|
require 'json'
|
3
3
|
|
4
4
|
module GenerateImage
|
5
|
+
class RequestFailed < StandardError; end
|
6
|
+
|
5
7
|
class << self
|
6
|
-
|
7
|
-
|
8
|
+
IMAGE_API_ENDPOINT = 'https://api.openai.com/v1/images/generations'
|
9
|
+
IMAGE_MODEL_NAME = 'image-alpha-001'
|
10
|
+
REWRITE_MODEL_NAME = 'text-davinci-002'
|
11
|
+
API_KEY = ENV['DALL_E_API_KEY']
|
8
12
|
|
9
13
|
def generate_image(text)
|
10
|
-
|
11
|
-
unless api_key
|
14
|
+
unless API_KEY
|
12
15
|
raise StandardError, "API Key not set"
|
13
16
|
end
|
14
|
-
|
15
|
-
uri = URI(API_ENDPOINT)
|
17
|
+
uri = URI(IMAGE_API_ENDPOINT)
|
16
18
|
request = Net::HTTP::Post.new(uri)
|
17
19
|
request['Content-Type'] = 'application/json'
|
18
|
-
request['Authorization'] = "Bearer #{
|
20
|
+
request['Authorization'] = "Bearer #{API_KEY}"
|
19
21
|
request.body = {
|
20
|
-
model:
|
22
|
+
model: IMAGE_MODEL_NAME,
|
21
23
|
prompt: text,
|
22
24
|
num_images: 1
|
23
25
|
}.to_json
|
@@ -30,9 +32,7 @@ module GenerateImage
|
|
30
32
|
image_url = JSON.parse(response.body)['data'][0]['url']
|
31
33
|
return { image_url: image_url }
|
32
34
|
else
|
33
|
-
|
34
|
-
Rails.logger.error(message) if defined?(Rails)
|
35
|
-
return { error: message }, 500
|
35
|
+
raise RequestFailed, "Failed to generate image. Response code: #{response.code}. Response body: #{response.body}"
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|