ailabtools 0.5.4

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.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +8 -0
  3. data/LICENSE +21 -0
  4. data/README.md +121 -0
  5. data/lib/ailabtools/api/background_api.rb +15 -0
  6. data/lib/ailabtools/api/common_api.rb +20 -0
  7. data/lib/ailabtools/api/cutout_api.rb +48 -0
  8. data/lib/ailabtools/api/image_api.rb +140 -0
  9. data/lib/ailabtools/api/portrait_api.rb +228 -0
  10. data/lib/ailabtools/client.rb +37 -0
  11. data/lib/ailabtools/errors.rb +21 -0
  12. data/lib/ailabtools/file_input.rb +27 -0
  13. data/lib/ailabtools/generated/params/common_query_async_task_result_params.rb +24 -0
  14. data/lib/ailabtools/generated/params/common_query_credits_params.rb +19 -0
  15. data/lib/ailabtools/generated/params/cutout_avatar_extraction_params.rb +26 -0
  16. data/lib/ailabtools/generated/params/cutout_clothing_background_removal_params.rb +30 -0
  17. data/lib/ailabtools/generated/params/cutout_food_background_removal_params.rb +26 -0
  18. data/lib/ailabtools/generated/params/cutout_hair_extraction_params.rb +24 -0
  19. data/lib/ailabtools/generated/params/cutout_hd_human_body_background_removal_params.rb +24 -0
  20. data/lib/ailabtools/generated/params/cutout_hd_universal_background_removal_params.rb +24 -0
  21. data/lib/ailabtools/generated/params/cutout_human_background_removal_params.rb +26 -0
  22. data/lib/ailabtools/generated/params/cutout_product_background_removal_params.rb +26 -0
  23. data/lib/ailabtools/generated/params/cutout_universal_background_removal_params.rb +26 -0
  24. data/lib/ailabtools/generated/params/image_ai_cartoon_generator_params.rb +28 -0
  25. data/lib/ailabtools/generated/params/image_ai_emoji_generator_params.rb +32 -0
  26. data/lib/ailabtools/generated/params/image_ai_flower_wallpaper_params.rb +32 -0
  27. data/lib/ailabtools/generated/params/image_ai_image_cropping_params.rb +28 -0
  28. data/lib/ailabtools/generated/params/image_ai_image_extender_params.rb +48 -0
  29. data/lib/ailabtools/generated/params/image_ai_nail_art_params.rb +28 -0
  30. data/lib/ailabtools/generated/params/image_ai_nail_art_pro_params.rb +28 -0
  31. data/lib/ailabtools/generated/params/image_ai_object_replacer_params.rb +34 -0
  32. data/lib/ailabtools/generated/params/image_ai_photography_params.rb +30 -0
  33. data/lib/ailabtools/generated/params/image_clarity_enhancement_params.rb +24 -0
  34. data/lib/ailabtools/generated/params/image_color_enhancement_params.rb +28 -0
  35. data/lib/ailabtools/generated/params/image_coloring_params.rb +24 -0
  36. data/lib/ailabtools/generated/params/image_composition_aesthetics_score_params.rb +24 -0
  37. data/lib/ailabtools/generated/params/image_contrast_enhancement_params.rb +24 -0
  38. data/lib/ailabtools/generated/params/image_dehaze_params.rb +24 -0
  39. data/lib/ailabtools/generated/params/image_distortion_correction_params.rb +24 -0
  40. data/lib/ailabtools/generated/params/image_erasure_params.rb +26 -0
  41. data/lib/ailabtools/generated/params/image_exposure_rating_params.rb +24 -0
  42. data/lib/ailabtools/generated/params/image_intelligent_composition_params.rb +26 -0
  43. data/lib/ailabtools/generated/params/image_invisible_image_watermark_params.rb +34 -0
  44. data/lib/ailabtools/generated/params/image_invisible_text_watermark_params.rb +34 -0
  45. data/lib/ailabtools/generated/params/image_lossless_enlargement_params.rb +32 -0
  46. data/lib/ailabtools/generated/params/image_photo_editing_params.rb +26 -0
  47. data/lib/ailabtools/generated/params/image_photo_to_coloring_page_params.rb +28 -0
  48. data/lib/ailabtools/generated/params/image_querying_async_task_results_params.rb +26 -0
  49. data/lib/ailabtools/generated/params/image_remove_objects_advanced_params.rb +38 -0
  50. data/lib/ailabtools/generated/params/image_remove_objects_params.rb +26 -0
  51. data/lib/ailabtools/generated/params/image_remove_objects_pro_params.rb +26 -0
  52. data/lib/ailabtools/generated/params/image_style_migration_params.rb +26 -0
  53. data/lib/ailabtools/generated/params/image_style_transfer_params.rb +26 -0
  54. data/lib/ailabtools/generated/params/portrait_ai_bald_params.rb +24 -0
  55. data/lib/ailabtools/generated/params/portrait_ai_beard_removal_params.rb +24 -0
  56. data/lib/ailabtools/generated/params/portrait_ai_beard_styling_params.rb +29 -0
  57. data/lib/ailabtools/generated/params/portrait_ai_big_head_effect_params.rb +24 -0
  58. data/lib/ailabtools/generated/params/portrait_ai_breast_expansion_params.rb +26 -0
  59. data/lib/ailabtools/generated/params/portrait_ai_butt_enhancement_params.rb +24 -0
  60. data/lib/ailabtools/generated/params/portrait_ai_colored_contacts_params.rb +28 -0
  61. data/lib/ailabtools/generated/params/portrait_ai_eyebrows_params.rb +28 -0
  62. data/lib/ailabtools/generated/params/portrait_ai_eyelashes_params.rb +28 -0
  63. data/lib/ailabtools/generated/params/portrait_ai_eyeshadow_try_on_params.rb +31 -0
  64. data/lib/ailabtools/generated/params/portrait_ai_face_rating_params.rb +26 -0
  65. data/lib/ailabtools/generated/params/portrait_ai_face_swap_params.rb +26 -0
  66. data/lib/ailabtools/generated/params/portrait_ai_fat_filter_params.rb +24 -0
  67. data/lib/ailabtools/generated/params/portrait_ai_hair_color_params.rb +28 -0
  68. data/lib/ailabtools/generated/params/portrait_ai_hair_loss_simulation_params.rb +26 -0
  69. data/lib/ailabtools/generated/params/portrait_ai_halloween_mask_params.rb +31 -0
  70. data/lib/ailabtools/generated/params/portrait_ai_lip_bite_expressions_params.rb +28 -0
  71. data/lib/ailabtools/generated/params/portrait_ai_lip_enhancement_params.rb +24 -0
  72. data/lib/ailabtools/generated/params/portrait_ai_red_lip_gloss_params.rb +24 -0
  73. data/lib/ailabtools/generated/params/portrait_ai_skin_enhancement_advanced_params.rb +42 -0
  74. data/lib/ailabtools/generated/params/portrait_ai_square_face_filter_params.rb +24 -0
  75. data/lib/ailabtools/generated/params/portrait_ai_waist_slimming_params.rb +24 -0
  76. data/lib/ailabtools/generated/params/portrait_cartoon_yourself_params.rb +26 -0
  77. data/lib/ailabtools/generated/params/portrait_expression_editing_advanced_params.rb +26 -0
  78. data/lib/ailabtools/generated/params/portrait_expression_editing_params.rb +26 -0
  79. data/lib/ailabtools/generated/params/portrait_face_analyzer_advanced_params.rb +24 -0
  80. data/lib/ailabtools/generated/params/portrait_face_analyzer_params.rb +30 -0
  81. data/lib/ailabtools/generated/params/portrait_face_attribute_editing_params.rb +30 -0
  82. data/lib/ailabtools/generated/params/portrait_face_fusion_params.rb +28 -0
  83. data/lib/ailabtools/generated/params/portrait_face_restoration_enhancement_params.rb +24 -0
  84. data/lib/ailabtools/generated/params/portrait_facial_beautification_advanced_params.rb +32 -0
  85. data/lib/ailabtools/generated/params/portrait_facial_beautification_params.rb +30 -0
  86. data/lib/ailabtools/generated/params/portrait_facial_beautification_pro_params.rb +40 -0
  87. data/lib/ailabtools/generated/params/portrait_facial_blurring_params.rb +24 -0
  88. data/lib/ailabtools/generated/params/portrait_facial_filters_params.rb +28 -0
  89. data/lib/ailabtools/generated/params/portrait_facial_landmarks_params.rb +28 -0
  90. data/lib/ailabtools/generated/params/portrait_hairstyle_editing_params.rb +26 -0
  91. data/lib/ailabtools/generated/params/portrait_hairstyle_editing_premium_params.rb +31 -0
  92. data/lib/ailabtools/generated/params/portrait_hairstyle_editing_pro_params.rb +40 -0
  93. data/lib/ailabtools/generated/params/portrait_intelligent_beautification_params.rb +30 -0
  94. data/lib/ailabtools/generated/params/portrait_intelligent_face_slimming_params.rb +26 -0
  95. data/lib/ailabtools/generated/params/portrait_intelligent_skin_retouching_params.rb +28 -0
  96. data/lib/ailabtools/generated/params/portrait_lips_color_changer_params.rb +26 -0
  97. data/lib/ailabtools/generated/params/portrait_live_photos_params.rb +26 -0
  98. data/lib/ailabtools/generated/params/portrait_skin_analysis_advanced_params.rb +30 -0
  99. data/lib/ailabtools/generated/params/portrait_skin_analysis_basic_params.rb +24 -0
  100. data/lib/ailabtools/generated/params/portrait_skin_analysis_professional_params.rb +36 -0
  101. data/lib/ailabtools/generated/params/portrait_skin_disease_detection_params.rb +24 -0
  102. data/lib/ailabtools/generated/params/portrait_try_on_clothes_params.rb +30 -0
  103. data/lib/ailabtools/generated/params/portrait_try_on_clothes_premium_params.rb +34 -0
  104. data/lib/ailabtools/generated/params/portrait_try_on_clothes_pro_params.rb +34 -0
  105. data/lib/ailabtools/generated/params/portrait_try_on_clothes_refiner_params.rb +34 -0
  106. data/lib/ailabtools/generated/responses/common_query_async_task_result_response.rb +35 -0
  107. data/lib/ailabtools/generated/responses/common_query_credits_response.rb +50 -0
  108. data/lib/ailabtools/generated/responses/cutout_avatar_extraction_response.rb +46 -0
  109. data/lib/ailabtools/generated/responses/cutout_clothing_background_removal_response.rb +58 -0
  110. data/lib/ailabtools/generated/responses/cutout_food_background_removal_response.rb +36 -0
  111. data/lib/ailabtools/generated/responses/cutout_hair_extraction_response.rb +46 -0
  112. data/lib/ailabtools/generated/responses/cutout_hd_human_body_background_removal_response.rb +51 -0
  113. data/lib/ailabtools/generated/responses/cutout_hd_universal_background_removal_response.rb +38 -0
  114. data/lib/ailabtools/generated/responses/cutout_human_background_removal_response.rb +36 -0
  115. data/lib/ailabtools/generated/responses/cutout_product_background_removal_response.rb +36 -0
  116. data/lib/ailabtools/generated/responses/cutout_universal_background_removal_response.rb +36 -0
  117. data/lib/ailabtools/generated/responses/image_ai_cartoon_generator_response.rb +36 -0
  118. data/lib/ailabtools/generated/responses/image_ai_emoji_generator_response.rb +42 -0
  119. data/lib/ailabtools/generated/responses/image_ai_flower_wallpaper_response.rb +42 -0
  120. data/lib/ailabtools/generated/responses/image_ai_image_cropping_response.rb +46 -0
  121. data/lib/ailabtools/generated/responses/image_ai_image_extender_response.rb +36 -0
  122. data/lib/ailabtools/generated/responses/image_ai_nail_art_pro_response.rb +42 -0
  123. data/lib/ailabtools/generated/responses/image_ai_nail_art_response.rb +42 -0
  124. data/lib/ailabtools/generated/responses/image_ai_object_replacer_response.rb +36 -0
  125. data/lib/ailabtools/generated/responses/image_ai_photography_response.rb +42 -0
  126. data/lib/ailabtools/generated/responses/image_clarity_enhancement_response.rb +35 -0
  127. data/lib/ailabtools/generated/responses/image_color_enhancement_response.rb +36 -0
  128. data/lib/ailabtools/generated/responses/image_coloring_response.rb +35 -0
  129. data/lib/ailabtools/generated/responses/image_composition_aesthetics_score_response.rb +36 -0
  130. data/lib/ailabtools/generated/responses/image_contrast_enhancement_response.rb +35 -0
  131. data/lib/ailabtools/generated/responses/image_dehaze_response.rb +35 -0
  132. data/lib/ailabtools/generated/responses/image_distortion_correction_response.rb +36 -0
  133. data/lib/ailabtools/generated/responses/image_erasure_response.rb +36 -0
  134. data/lib/ailabtools/generated/responses/image_exposure_rating_response.rb +36 -0
  135. data/lib/ailabtools/generated/responses/image_intelligent_composition_response.rb +46 -0
  136. data/lib/ailabtools/generated/responses/image_invisible_image_watermark_response.rb +38 -0
  137. data/lib/ailabtools/generated/responses/image_invisible_text_watermark_response.rb +38 -0
  138. data/lib/ailabtools/generated/responses/image_lossless_enlargement_response.rb +36 -0
  139. data/lib/ailabtools/generated/responses/image_photo_editing_response.rb +36 -0
  140. data/lib/ailabtools/generated/responses/image_photo_to_coloring_page_response.rb +42 -0
  141. data/lib/ailabtools/generated/responses/image_querying_async_task_results_response.rb +34 -0
  142. data/lib/ailabtools/generated/responses/image_remove_objects_advanced_response.rb +36 -0
  143. data/lib/ailabtools/generated/responses/image_remove_objects_pro_response.rb +36 -0
  144. data/lib/ailabtools/generated/responses/image_remove_objects_response.rb +36 -0
  145. data/lib/ailabtools/generated/responses/image_style_migration_response.rb +38 -0
  146. data/lib/ailabtools/generated/responses/image_style_transfer_response.rb +35 -0
  147. data/lib/ailabtools/generated/responses/portrait_ai_bald_response.rb +38 -0
  148. data/lib/ailabtools/generated/responses/portrait_ai_beard_removal_response.rb +38 -0
  149. data/lib/ailabtools/generated/responses/portrait_ai_beard_styling_response.rb +38 -0
  150. data/lib/ailabtools/generated/responses/portrait_ai_big_head_effect_response.rb +38 -0
  151. data/lib/ailabtools/generated/responses/portrait_ai_breast_expansion_response.rb +41 -0
  152. data/lib/ailabtools/generated/responses/portrait_ai_butt_enhancement_response.rb +38 -0
  153. data/lib/ailabtools/generated/responses/portrait_ai_colored_contacts_response.rb +38 -0
  154. data/lib/ailabtools/generated/responses/portrait_ai_eyebrows_response.rb +38 -0
  155. data/lib/ailabtools/generated/responses/portrait_ai_eyelashes_response.rb +38 -0
  156. data/lib/ailabtools/generated/responses/portrait_ai_eyeshadow_try_on_response.rb +38 -0
  157. data/lib/ailabtools/generated/responses/portrait_ai_face_rating_response.rb +38 -0
  158. data/lib/ailabtools/generated/responses/portrait_ai_face_swap_response.rb +42 -0
  159. data/lib/ailabtools/generated/responses/portrait_ai_fat_filter_response.rb +38 -0
  160. data/lib/ailabtools/generated/responses/portrait_ai_hair_color_response.rb +38 -0
  161. data/lib/ailabtools/generated/responses/portrait_ai_hair_loss_simulation_response.rb +38 -0
  162. data/lib/ailabtools/generated/responses/portrait_ai_halloween_mask_response.rb +38 -0
  163. data/lib/ailabtools/generated/responses/portrait_ai_lip_bite_expressions_response.rb +38 -0
  164. data/lib/ailabtools/generated/responses/portrait_ai_lip_enhancement_response.rb +38 -0
  165. data/lib/ailabtools/generated/responses/portrait_ai_red_lip_gloss_response.rb +38 -0
  166. data/lib/ailabtools/generated/responses/portrait_ai_skin_enhancement_advanced_response.rb +38 -0
  167. data/lib/ailabtools/generated/responses/portrait_ai_square_face_filter_response.rb +38 -0
  168. data/lib/ailabtools/generated/responses/portrait_ai_waist_slimming_response.rb +38 -0
  169. data/lib/ailabtools/generated/responses/portrait_cartoon_yourself_response.rb +36 -0
  170. data/lib/ailabtools/generated/responses/portrait_expression_editing_advanced_response.rb +38 -0
  171. data/lib/ailabtools/generated/responses/portrait_expression_editing_response.rb +35 -0
  172. data/lib/ailabtools/generated/responses/portrait_face_analyzer_advanced_response.rb +80 -0
  173. data/lib/ailabtools/generated/responses/portrait_face_analyzer_response.rb +116 -0
  174. data/lib/ailabtools/generated/responses/portrait_face_attribute_editing_response.rb +37 -0
  175. data/lib/ailabtools/generated/responses/portrait_face_fusion_response.rb +35 -0
  176. data/lib/ailabtools/generated/responses/portrait_face_restoration_enhancement_response.rb +36 -0
  177. data/lib/ailabtools/generated/responses/portrait_facial_beautification_advanced_response.rb +36 -0
  178. data/lib/ailabtools/generated/responses/portrait_facial_beautification_pro_response.rb +37 -0
  179. data/lib/ailabtools/generated/responses/portrait_facial_beautification_response.rb +36 -0
  180. data/lib/ailabtools/generated/responses/portrait_facial_blurring_response.rb +36 -0
  181. data/lib/ailabtools/generated/responses/portrait_facial_filters_response.rb +36 -0
  182. data/lib/ailabtools/generated/responses/portrait_facial_landmarks_response.rb +80 -0
  183. data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_premium_response.rb +38 -0
  184. data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_pro_response.rb +36 -0
  185. data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_response.rb +35 -0
  186. data/lib/ailabtools/generated/responses/portrait_intelligent_beautification_response.rb +36 -0
  187. data/lib/ailabtools/generated/responses/portrait_intelligent_face_slimming_response.rb +36 -0
  188. data/lib/ailabtools/generated/responses/portrait_intelligent_skin_retouching_response.rb +36 -0
  189. data/lib/ailabtools/generated/responses/portrait_lips_color_changer_response.rb +36 -0
  190. data/lib/ailabtools/generated/responses/portrait_live_photos_response.rb +36 -0
  191. data/lib/ailabtools/generated/responses/portrait_skin_analysis_advanced_response.rb +130 -0
  192. data/lib/ailabtools/generated/responses/portrait_skin_analysis_basic_response.rb +98 -0
  193. data/lib/ailabtools/generated/responses/portrait_skin_analysis_professional_response.rb +42 -0
  194. data/lib/ailabtools/generated/responses/portrait_skin_disease_detection_response.rb +140 -0
  195. data/lib/ailabtools/generated/responses/portrait_try_on_clothes_premium_response.rb +42 -0
  196. data/lib/ailabtools/generated/responses/portrait_try_on_clothes_pro_response.rb +36 -0
  197. data/lib/ailabtools/generated/responses/portrait_try_on_clothes_refiner_response.rb +36 -0
  198. data/lib/ailabtools/generated/responses/portrait_try_on_clothes_response.rb +36 -0
  199. data/lib/ailabtools/params.rb +21 -0
  200. data/lib/ailabtools/requester.rb +108 -0
  201. data/lib/ailabtools/response_model.rb +49 -0
  202. data/lib/ailabtools/version.rb +5 -0
  203. data/lib/ailabtools.rb +18 -0
  204. metadata +250 -0
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIColoredContactsParams < AILabTools::Params
7
+ attr_reader :image, :name, :desc
8
+ def initialize(image:, name: nil, desc: nil)
9
+ @image = image
10
+ @name = name
11
+ @desc = desc
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image" => @image,
21
+ "name" => @name,
22
+ "desc" => @desc,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIEyebrowsParams < AILabTools::Params
7
+ attr_reader :image, :reference_image, :resolution
8
+ def initialize(image:, reference_image:, resolution: nil)
9
+ @image = image
10
+ @reference_image = reference_image
11
+ @resolution = resolution
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image" => @image,
21
+ "reference_image" => @reference_image,
22
+ "resolution" => @resolution,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIEyelashesParams < AILabTools::Params
7
+ attr_reader :image, :name, :desc
8
+ def initialize(image:, name: nil, desc: nil)
9
+ @image = image
10
+ @name = name
11
+ @desc = desc
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image" => @image,
21
+ "name" => @name,
22
+ "desc" => @desc,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIEyeshadowTryOnParams < AILabTools::Params
7
+ attr_reader :image, :eyeshadow_style, :image_template, :aspect_ratio
8
+ def initialize(image:, eyeshadow_style: nil, image_template: nil, aspect_ratio: nil)
9
+ @image = image
10
+ @eyeshadow_style = eyeshadow_style
11
+ @image_template = image_template
12
+ @aspect_ratio = aspect_ratio
13
+ raise ArgumentError, "At least one of eyeshadow_style, image_template is required" if @eyeshadow_style.nil? && @image_template.nil?
14
+ end
15
+
16
+ def query_fields
17
+ {}
18
+ end
19
+
20
+ def body_fields
21
+ compact_hash({
22
+ "image" => @image,
23
+ "eyeshadow_style" => @eyeshadow_style,
24
+ "image_template" => @image_template,
25
+ "aspect_ratio" => @aspect_ratio,
26
+ })
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIFaceRatingParams < AILabTools::Params
7
+ attr_reader :image, :aspect_ratio
8
+ def initialize(image:, aspect_ratio: nil)
9
+ @image = image
10
+ @aspect_ratio = aspect_ratio
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image" => @image,
20
+ "aspect_ratio" => @aspect_ratio,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIFaceSwapParams < AILabTools::Params
7
+ attr_reader :image_target, :image_template
8
+ def initialize(image_target:, image_template:)
9
+ @image_target = image_target
10
+ @image_template = image_template
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image_target" => @image_target,
20
+ "image_template" => @image_template,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIFatFilterParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIHairColorParams < AILabTools::Params
7
+ attr_reader :image, :name, :desc
8
+ def initialize(image:, name: nil, desc: nil)
9
+ @image = image
10
+ @name = name
11
+ @desc = desc
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image" => @image,
21
+ "name" => @name,
22
+ "desc" => @desc,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIHairLossSimulationParams < AILabTools::Params
7
+ attr_reader :image, :level
8
+ def initialize(image:, level:)
9
+ @image = image
10
+ @level = level
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image" => @image,
20
+ "level" => @level,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIHalloweenMaskParams < AILabTools::Params
7
+ attr_reader :image, :mask_style, :image_template, :aspect_ratio
8
+ def initialize(image:, mask_style: nil, image_template: nil, aspect_ratio: nil)
9
+ @image = image
10
+ @mask_style = mask_style
11
+ @image_template = image_template
12
+ @aspect_ratio = aspect_ratio
13
+ raise ArgumentError, "At least one of mask_style, image_template is required" if @mask_style.nil? && @image_template.nil?
14
+ end
15
+
16
+ def query_fields
17
+ {}
18
+ end
19
+
20
+ def body_fields
21
+ compact_hash({
22
+ "image" => @image,
23
+ "mask_style" => @mask_style,
24
+ "image_template" => @image_template,
25
+ "aspect_ratio" => @aspect_ratio,
26
+ })
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAILipBiteExpressionsParams < AILabTools::Params
7
+ attr_reader :image, :grid_count, :aspect_ratio
8
+ def initialize(image:, grid_count: nil, aspect_ratio: nil)
9
+ @image = image
10
+ @grid_count = grid_count
11
+ @aspect_ratio = aspect_ratio
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image" => @image,
21
+ "grid_count" => @grid_count,
22
+ "aspect_ratio" => @aspect_ratio,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAILipEnhancementParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIRedLipGlossParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAISkinEnhancementAdvancedParams < AILabTools::Params
7
+ attr_reader :image, :smart_skin, :acne_removal, :spot_correction, :skin_brightening, :skin_smoothing, :pore_control, :wrinkle_reduction, :under_eye_correction, :scar_reduction
8
+ def initialize(image:, smart_skin: nil, acne_removal: nil, spot_correction: nil, skin_brightening: nil, skin_smoothing: nil, pore_control: nil, wrinkle_reduction: nil, under_eye_correction: nil, scar_reduction: nil)
9
+ @image = image
10
+ @smart_skin = smart_skin
11
+ @acne_removal = acne_removal
12
+ @spot_correction = spot_correction
13
+ @skin_brightening = skin_brightening
14
+ @skin_smoothing = skin_smoothing
15
+ @pore_control = pore_control
16
+ @wrinkle_reduction = wrinkle_reduction
17
+ @under_eye_correction = under_eye_correction
18
+ @scar_reduction = scar_reduction
19
+ end
20
+
21
+ def query_fields
22
+ {}
23
+ end
24
+
25
+ def body_fields
26
+ compact_hash({
27
+ "image" => @image,
28
+ "smart_skin" => @smart_skin,
29
+ "acne_removal" => @acne_removal,
30
+ "spot_correction" => @spot_correction,
31
+ "skin_brightening" => @skin_brightening,
32
+ "skin_smoothing" => @skin_smoothing,
33
+ "pore_control" => @pore_control,
34
+ "wrinkle_reduction" => @wrinkle_reduction,
35
+ "under_eye_correction" => @under_eye_correction,
36
+ "scar_reduction" => @scar_reduction,
37
+ })
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAISquareFaceFilterParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitAIWaistSlimmingParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitCartoonYourselfParams < AILabTools::Params
7
+ attr_reader :image, :type
8
+ def initialize(image:, type:)
9
+ @image = image
10
+ @type = type
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image" => @image,
20
+ "type" => @type,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitExpressionEditingAdvancedParams < AILabTools::Params
7
+ attr_reader :image, :expression
8
+ def initialize(image:, expression:)
9
+ @image = image
10
+ @expression = expression
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image" => @image,
20
+ "expression" => @expression,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitExpressionEditingParams < AILabTools::Params
7
+ attr_reader :image_target, :service_choice
8
+ def initialize(image_target:, service_choice:)
9
+ @image_target = image_target
10
+ @service_choice = service_choice
11
+ end
12
+
13
+ def query_fields
14
+ {}
15
+ end
16
+
17
+ def body_fields
18
+ compact_hash({
19
+ "image_target" => @image_target,
20
+ "service_choice" => @service_choice,
21
+ })
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitFaceAnalyzerAdvancedParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitFaceAnalyzerParams < AILabTools::Params
7
+ attr_reader :image, :max_face_num, :face_attributes_type, :need_rotate_detection
8
+ def initialize(image:, max_face_num: nil, face_attributes_type: nil, need_rotate_detection: nil)
9
+ @image = image
10
+ @max_face_num = max_face_num
11
+ @face_attributes_type = face_attributes_type
12
+ @need_rotate_detection = need_rotate_detection
13
+ end
14
+
15
+ def query_fields
16
+ {}
17
+ end
18
+
19
+ def body_fields
20
+ compact_hash({
21
+ "image" => @image,
22
+ "max_face_num" => @max_face_num,
23
+ "face_attributes_type" => @face_attributes_type,
24
+ "need_rotate_detection" => @need_rotate_detection,
25
+ })
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitFaceAttributeEditingParams < AILabTools::Params
7
+ attr_reader :image, :action_type, :quality_control, :face_location
8
+ def initialize(image:, action_type:, quality_control: nil, face_location: nil)
9
+ @image = image
10
+ @action_type = action_type
11
+ @quality_control = quality_control
12
+ @face_location = face_location
13
+ end
14
+
15
+ def query_fields
16
+ {}
17
+ end
18
+
19
+ def body_fields
20
+ compact_hash({
21
+ "image" => @image,
22
+ "action_type" => @action_type,
23
+ "quality_control" => @quality_control,
24
+ "face_location" => @face_location,
25
+ })
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitFaceFusionParams < AILabTools::Params
7
+ attr_reader :image_target, :image_template, :source_similarity
8
+ def initialize(image_target:, image_template:, source_similarity: nil)
9
+ @image_target = image_target
10
+ @image_template = image_template
11
+ @source_similarity = source_similarity
12
+ end
13
+
14
+ def query_fields
15
+ {}
16
+ end
17
+
18
+ def body_fields
19
+ compact_hash({
20
+ "image_target" => @image_target,
21
+ "image_template" => @image_template,
22
+ "source_similarity" => @source_similarity,
23
+ })
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AILabTools
4
+ module Generated
5
+ module Params
6
+ class PortraitFaceRestorationEnhancementParams < AILabTools::Params
7
+ attr_reader :image
8
+ def initialize(image:)
9
+ @image = image
10
+ end
11
+
12
+ def query_fields
13
+ {}
14
+ end
15
+
16
+ def body_fields
17
+ compact_hash({
18
+ "image" => @image,
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end