userapi-ai 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2974c481166912bcce0d7a9a618c078aca85d5bfd8743cc56459772a5f66f96c
4
- data.tar.gz: 4d89389ee688e9127058bd34b7866f0daf72a09684679148114a12c7fe62c061
3
+ metadata.gz: 9b9f1e430a00b0c38594bfdcaf2e9a73fc0e1b84335880cbf41b4c37ed2f3962
4
+ data.tar.gz: 35674d40a7625af53ee130443d89b52b212e2f03540e26e1a8dd69b52e5cceba
5
5
  SHA512:
6
- metadata.gz: c01ab655dc9b0982d2a8dad34a2b4627bfe22a16233a1e76045fcdb27020f5645fcead5e95f5cd66d14295c4e725d8e13cd478f23e82829a1a6e2ee30eb97603
7
- data.tar.gz: 57294ef669f33f3bcccf5b13787c070f13d7ca3780a15da7433b1b362829bfca813025feee3b357ca3006034cd2b05c3b66e380b09ab3bca141fc495bc206a00
6
+ metadata.gz: 5f2e96c827d8e79235b72b43f431649558b99c42da4ad203cf31368e00d9505ccfe8da0ae9749454675ceda58149af6052c5b2af7861fb3639b7b3f147674168
7
+ data.tar.gz: abe25672348422d4d4fbb64868f3dfecf757fc504ab068303c1ab7f0f37ecda6c72e2fcaa19b8366b6be948188497b9dae58346b81db769efa0ad893058fd318
data/README.md CHANGED
@@ -103,7 +103,31 @@ You can use it to generate images of people, animals, objects, and anything else
103
103
  webhook_url:  "https://example.com/upscale/webhook-url",
104
104
  webhook_type: "result")
105
105
  ```
106
- See more [here](https://butternut-saffron-e5e.notion.site/Midjourney-userapi-ai-doc-en-119680339b0a47e2ba6ae467eca58142#9abe719bb58948039acb5f0a6aee8947)
106
+ See more [here](https://butternut-saffron-e5e.notion.site/Midjourney-userapi-ai-doc-en-119680339b0a47e2ba6ae467eca58142#9abe719bb58948039acb5f0a6aee8947).
107
+
108
+ #### Tools
109
+
110
+ You can split the quad-layout output from Midjourney into 4 separate images. Don't forget to add the `gem 'mini_magick'`.
111
+
112
+ ```ruby
113
+ response = client.status result
114
+ if response["status"] == "done"
115
+ local_paths = UserapiAi::Tool.crop result: response["result"]
116
+ # or UserapiAi::Tool.crop url: "https://example.com/img.png"
117
+ local_paths.each do |path|
118
+ f = File.open(path)
119
+ ...
120
+ end
121
+ end
122
+ ```
123
+
124
+ ```bash
125
+ => local_paths
126
+ ["/var/folders/yb/bjdvl6mn3cx2l7nd08726k500000gn/T/mini_magick20240324-73984-31zmkb-0.png",
127
+ "/var/folders/yb/bjdvl6mn3cx2l7nd08726k500000gn/T/mini_magick20240324-73984-31zmkb-1.png",
128
+ "/var/folders/yb/bjdvl6mn3cx2l7nd08726k500000gn/T/mini_magick20240324-73984-31zmkb-2.png",
129
+ "/var/folders/yb/bjdvl6mn3cx2l7nd08726k500000gn/T/mini_magick20240324-73984-31zmkb-3.png"]
130
+ ```
107
131
 
108
132
  ## Development
109
133
 
@@ -0,0 +1,13 @@
1
+ module UserapiAi
2
+ class Tool
3
+ def self.crop url: nil, result: nil
4
+ url = result["url"] if url.nil?
5
+ image = MiniMagick::Image.open url
6
+ image.crop "50%x50%"
7
+ arr = image.path.split(".")
8
+ (0..3).map{ |i|
9
+ arr.dup.insert(-2, "-#{i}.").join("")
10
+ }
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UserapiAi
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
6
6
 
data/lib/userapi-ai.rb CHANGED
@@ -5,6 +5,7 @@ require "faraday/multipart"
5
5
 
6
6
  require_relative "userapi/http"
7
7
  require_relative "userapi/client"
8
+ require_relative "userapi/tools"
8
9
  require_relative "userapi/version"
9
10
 
10
11
  module UserapiAi
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: userapi-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Smolev Denis
@@ -57,6 +57,7 @@ files:
57
57
  - lib/userapi/client.rb
58
58
  - lib/userapi/compatibility.rb
59
59
  - lib/userapi/http.rb
60
+ - lib/userapi/tools.rb
60
61
  - lib/userapi/version.rb
61
62
  - sig/userapi/ai.rbs
62
63
  homepage: https://userapi.ai.
@@ -72,9 +73,9 @@ require_paths:
72
73
  - lib
73
74
  required_ruby_version: !ruby/object:Gem::Requirement
74
75
  requirements:
75
- - - ">="
76
+ - - '='
76
77
  - !ruby/object:Gem::Version
77
- version: 2.6.0
78
+ version: 3.0.0
78
79
  required_rubygems_version: !ruby/object:Gem::Requirement
79
80
  requirements:
80
81
  - - ">="