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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +8 -0
- data/LICENSE +21 -0
- data/README.md +121 -0
- data/lib/ailabtools/api/background_api.rb +15 -0
- data/lib/ailabtools/api/common_api.rb +20 -0
- data/lib/ailabtools/api/cutout_api.rb +48 -0
- data/lib/ailabtools/api/image_api.rb +140 -0
- data/lib/ailabtools/api/portrait_api.rb +228 -0
- data/lib/ailabtools/client.rb +37 -0
- data/lib/ailabtools/errors.rb +21 -0
- data/lib/ailabtools/file_input.rb +27 -0
- data/lib/ailabtools/generated/params/common_query_async_task_result_params.rb +24 -0
- data/lib/ailabtools/generated/params/common_query_credits_params.rb +19 -0
- data/lib/ailabtools/generated/params/cutout_avatar_extraction_params.rb +26 -0
- data/lib/ailabtools/generated/params/cutout_clothing_background_removal_params.rb +30 -0
- data/lib/ailabtools/generated/params/cutout_food_background_removal_params.rb +26 -0
- data/lib/ailabtools/generated/params/cutout_hair_extraction_params.rb +24 -0
- data/lib/ailabtools/generated/params/cutout_hd_human_body_background_removal_params.rb +24 -0
- data/lib/ailabtools/generated/params/cutout_hd_universal_background_removal_params.rb +24 -0
- data/lib/ailabtools/generated/params/cutout_human_background_removal_params.rb +26 -0
- data/lib/ailabtools/generated/params/cutout_product_background_removal_params.rb +26 -0
- data/lib/ailabtools/generated/params/cutout_universal_background_removal_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_ai_cartoon_generator_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_ai_emoji_generator_params.rb +32 -0
- data/lib/ailabtools/generated/params/image_ai_flower_wallpaper_params.rb +32 -0
- data/lib/ailabtools/generated/params/image_ai_image_cropping_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_ai_image_extender_params.rb +48 -0
- data/lib/ailabtools/generated/params/image_ai_nail_art_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_ai_nail_art_pro_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_ai_object_replacer_params.rb +34 -0
- data/lib/ailabtools/generated/params/image_ai_photography_params.rb +30 -0
- data/lib/ailabtools/generated/params/image_clarity_enhancement_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_color_enhancement_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_coloring_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_composition_aesthetics_score_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_contrast_enhancement_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_dehaze_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_distortion_correction_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_erasure_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_exposure_rating_params.rb +24 -0
- data/lib/ailabtools/generated/params/image_intelligent_composition_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_invisible_image_watermark_params.rb +34 -0
- data/lib/ailabtools/generated/params/image_invisible_text_watermark_params.rb +34 -0
- data/lib/ailabtools/generated/params/image_lossless_enlargement_params.rb +32 -0
- data/lib/ailabtools/generated/params/image_photo_editing_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_photo_to_coloring_page_params.rb +28 -0
- data/lib/ailabtools/generated/params/image_querying_async_task_results_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_remove_objects_advanced_params.rb +38 -0
- data/lib/ailabtools/generated/params/image_remove_objects_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_remove_objects_pro_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_style_migration_params.rb +26 -0
- data/lib/ailabtools/generated/params/image_style_transfer_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_ai_bald_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_beard_removal_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_beard_styling_params.rb +29 -0
- data/lib/ailabtools/generated/params/portrait_ai_big_head_effect_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_breast_expansion_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_ai_butt_enhancement_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_colored_contacts_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_ai_eyebrows_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_ai_eyelashes_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_ai_eyeshadow_try_on_params.rb +31 -0
- data/lib/ailabtools/generated/params/portrait_ai_face_rating_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_ai_face_swap_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_ai_fat_filter_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_hair_color_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_ai_hair_loss_simulation_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_ai_halloween_mask_params.rb +31 -0
- data/lib/ailabtools/generated/params/portrait_ai_lip_bite_expressions_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_ai_lip_enhancement_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_red_lip_gloss_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_skin_enhancement_advanced_params.rb +42 -0
- data/lib/ailabtools/generated/params/portrait_ai_square_face_filter_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_ai_waist_slimming_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_cartoon_yourself_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_expression_editing_advanced_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_expression_editing_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_face_analyzer_advanced_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_face_analyzer_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_face_attribute_editing_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_face_fusion_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_face_restoration_enhancement_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_facial_beautification_advanced_params.rb +32 -0
- data/lib/ailabtools/generated/params/portrait_facial_beautification_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_facial_beautification_pro_params.rb +40 -0
- data/lib/ailabtools/generated/params/portrait_facial_blurring_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_facial_filters_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_facial_landmarks_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_hairstyle_editing_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_hairstyle_editing_premium_params.rb +31 -0
- data/lib/ailabtools/generated/params/portrait_hairstyle_editing_pro_params.rb +40 -0
- data/lib/ailabtools/generated/params/portrait_intelligent_beautification_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_intelligent_face_slimming_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_intelligent_skin_retouching_params.rb +28 -0
- data/lib/ailabtools/generated/params/portrait_lips_color_changer_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_live_photos_params.rb +26 -0
- data/lib/ailabtools/generated/params/portrait_skin_analysis_advanced_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_skin_analysis_basic_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_skin_analysis_professional_params.rb +36 -0
- data/lib/ailabtools/generated/params/portrait_skin_disease_detection_params.rb +24 -0
- data/lib/ailabtools/generated/params/portrait_try_on_clothes_params.rb +30 -0
- data/lib/ailabtools/generated/params/portrait_try_on_clothes_premium_params.rb +34 -0
- data/lib/ailabtools/generated/params/portrait_try_on_clothes_pro_params.rb +34 -0
- data/lib/ailabtools/generated/params/portrait_try_on_clothes_refiner_params.rb +34 -0
- data/lib/ailabtools/generated/responses/common_query_async_task_result_response.rb +35 -0
- data/lib/ailabtools/generated/responses/common_query_credits_response.rb +50 -0
- data/lib/ailabtools/generated/responses/cutout_avatar_extraction_response.rb +46 -0
- data/lib/ailabtools/generated/responses/cutout_clothing_background_removal_response.rb +58 -0
- data/lib/ailabtools/generated/responses/cutout_food_background_removal_response.rb +36 -0
- data/lib/ailabtools/generated/responses/cutout_hair_extraction_response.rb +46 -0
- data/lib/ailabtools/generated/responses/cutout_hd_human_body_background_removal_response.rb +51 -0
- data/lib/ailabtools/generated/responses/cutout_hd_universal_background_removal_response.rb +38 -0
- data/lib/ailabtools/generated/responses/cutout_human_background_removal_response.rb +36 -0
- data/lib/ailabtools/generated/responses/cutout_product_background_removal_response.rb +36 -0
- data/lib/ailabtools/generated/responses/cutout_universal_background_removal_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_ai_cartoon_generator_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_ai_emoji_generator_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_ai_flower_wallpaper_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_ai_image_cropping_response.rb +46 -0
- data/lib/ailabtools/generated/responses/image_ai_image_extender_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_ai_nail_art_pro_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_ai_nail_art_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_ai_object_replacer_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_ai_photography_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_clarity_enhancement_response.rb +35 -0
- data/lib/ailabtools/generated/responses/image_color_enhancement_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_coloring_response.rb +35 -0
- data/lib/ailabtools/generated/responses/image_composition_aesthetics_score_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_contrast_enhancement_response.rb +35 -0
- data/lib/ailabtools/generated/responses/image_dehaze_response.rb +35 -0
- data/lib/ailabtools/generated/responses/image_distortion_correction_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_erasure_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_exposure_rating_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_intelligent_composition_response.rb +46 -0
- data/lib/ailabtools/generated/responses/image_invisible_image_watermark_response.rb +38 -0
- data/lib/ailabtools/generated/responses/image_invisible_text_watermark_response.rb +38 -0
- data/lib/ailabtools/generated/responses/image_lossless_enlargement_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_photo_editing_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_photo_to_coloring_page_response.rb +42 -0
- data/lib/ailabtools/generated/responses/image_querying_async_task_results_response.rb +34 -0
- data/lib/ailabtools/generated/responses/image_remove_objects_advanced_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_remove_objects_pro_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_remove_objects_response.rb +36 -0
- data/lib/ailabtools/generated/responses/image_style_migration_response.rb +38 -0
- data/lib/ailabtools/generated/responses/image_style_transfer_response.rb +35 -0
- data/lib/ailabtools/generated/responses/portrait_ai_bald_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_beard_removal_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_beard_styling_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_big_head_effect_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_breast_expansion_response.rb +41 -0
- data/lib/ailabtools/generated/responses/portrait_ai_butt_enhancement_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_colored_contacts_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_eyebrows_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_eyelashes_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_eyeshadow_try_on_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_face_rating_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_face_swap_response.rb +42 -0
- data/lib/ailabtools/generated/responses/portrait_ai_fat_filter_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_hair_color_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_hair_loss_simulation_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_halloween_mask_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_lip_bite_expressions_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_lip_enhancement_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_red_lip_gloss_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_skin_enhancement_advanced_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_square_face_filter_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_ai_waist_slimming_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_cartoon_yourself_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_expression_editing_advanced_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_expression_editing_response.rb +35 -0
- data/lib/ailabtools/generated/responses/portrait_face_analyzer_advanced_response.rb +80 -0
- data/lib/ailabtools/generated/responses/portrait_face_analyzer_response.rb +116 -0
- data/lib/ailabtools/generated/responses/portrait_face_attribute_editing_response.rb +37 -0
- data/lib/ailabtools/generated/responses/portrait_face_fusion_response.rb +35 -0
- data/lib/ailabtools/generated/responses/portrait_face_restoration_enhancement_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_facial_beautification_advanced_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_facial_beautification_pro_response.rb +37 -0
- data/lib/ailabtools/generated/responses/portrait_facial_beautification_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_facial_blurring_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_facial_filters_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_facial_landmarks_response.rb +80 -0
- data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_premium_response.rb +38 -0
- data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_pro_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_hairstyle_editing_response.rb +35 -0
- data/lib/ailabtools/generated/responses/portrait_intelligent_beautification_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_intelligent_face_slimming_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_intelligent_skin_retouching_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_lips_color_changer_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_live_photos_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_skin_analysis_advanced_response.rb +130 -0
- data/lib/ailabtools/generated/responses/portrait_skin_analysis_basic_response.rb +98 -0
- data/lib/ailabtools/generated/responses/portrait_skin_analysis_professional_response.rb +42 -0
- data/lib/ailabtools/generated/responses/portrait_skin_disease_detection_response.rb +140 -0
- data/lib/ailabtools/generated/responses/portrait_try_on_clothes_premium_response.rb +42 -0
- data/lib/ailabtools/generated/responses/portrait_try_on_clothes_pro_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_try_on_clothes_refiner_response.rb +36 -0
- data/lib/ailabtools/generated/responses/portrait_try_on_clothes_response.rb +36 -0
- data/lib/ailabtools/params.rb +21 -0
- data/lib/ailabtools/requester.rb +108 -0
- data/lib/ailabtools/response_model.rb +49 -0
- data/lib/ailabtools/version.rb +5 -0
- data/lib/ailabtools.rb +18 -0
- metadata +250 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module AILabTools
|
|
4
|
+
module Generated
|
|
5
|
+
module Responses
|
|
6
|
+
class PortraitTryOnClothesRefinerResponseData
|
|
7
|
+
include AILabTools::ResponseModel
|
|
8
|
+
fields({
|
|
9
|
+
:task_type => "task_type",
|
|
10
|
+
:task_id => "task_id",
|
|
11
|
+
}, {
|
|
12
|
+
})
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class PortraitTryOnClothesRefinerResponse
|
|
16
|
+
include AILabTools::ResponseModel
|
|
17
|
+
fields({
|
|
18
|
+
:request_id => "request_id",
|
|
19
|
+
:log_id => "log_id",
|
|
20
|
+
:error_code => "error_code",
|
|
21
|
+
:error_code_str => "error_code_str",
|
|
22
|
+
:error_msg => "error_msg",
|
|
23
|
+
:error_detail => "error_detail",
|
|
24
|
+
:data => "data",
|
|
25
|
+
:image => "image",
|
|
26
|
+
:ratio => "ratio",
|
|
27
|
+
:task_type => "task_type",
|
|
28
|
+
:task_id => "task_id",
|
|
29
|
+
:task_status => "task_status",
|
|
30
|
+
}, {
|
|
31
|
+
:data => PortraitTryOnClothesRefinerResponseData,
|
|
32
|
+
})
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module AILabTools
|
|
4
|
+
module Generated
|
|
5
|
+
module Responses
|
|
6
|
+
class PortraitTryOnClothesResponseData
|
|
7
|
+
include AILabTools::ResponseModel
|
|
8
|
+
fields({
|
|
9
|
+
:task_type => "task_type",
|
|
10
|
+
:task_id => "task_id",
|
|
11
|
+
}, {
|
|
12
|
+
})
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class PortraitTryOnClothesResponse
|
|
16
|
+
include AILabTools::ResponseModel
|
|
17
|
+
fields({
|
|
18
|
+
:request_id => "request_id",
|
|
19
|
+
:log_id => "log_id",
|
|
20
|
+
:error_code => "error_code",
|
|
21
|
+
:error_code_str => "error_code_str",
|
|
22
|
+
:error_msg => "error_msg",
|
|
23
|
+
:error_detail => "error_detail",
|
|
24
|
+
:data => "data",
|
|
25
|
+
:image => "image",
|
|
26
|
+
:ratio => "ratio",
|
|
27
|
+
:task_type => "task_type",
|
|
28
|
+
:task_id => "task_id",
|
|
29
|
+
:task_status => "task_status",
|
|
30
|
+
}, {
|
|
31
|
+
:data => PortraitTryOnClothesResponseData,
|
|
32
|
+
})
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module AILabTools
|
|
4
|
+
class Params
|
|
5
|
+
def query_fields
|
|
6
|
+
{}
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def body_fields
|
|
10
|
+
{}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def compact_hash(hash)
|
|
16
|
+
hash.each_with_object({}) do |(key, value), result|
|
|
17
|
+
result[key] = value unless value.nil?
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require "net/http"
|
|
5
|
+
require "securerandom"
|
|
6
|
+
require "uri"
|
|
7
|
+
|
|
8
|
+
module AILabTools
|
|
9
|
+
class Requester
|
|
10
|
+
def initialize(api_key:, base_url: "https://www.ailabapi.com", timeout: 120)
|
|
11
|
+
raise ArgumentError, "AILabTools API key must not be empty" if api_key.nil? || api_key.empty?
|
|
12
|
+
|
|
13
|
+
@api_key = api_key
|
|
14
|
+
@base_url = base_url.sub(%r{/+\z}, "")
|
|
15
|
+
@timeout = timeout
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def request(method, path, params, response_class)
|
|
19
|
+
uri = URI(@base_url + "/" + path.sub(%r{\A/+}, ""))
|
|
20
|
+
query = params.query_fields
|
|
21
|
+
uri.query = URI.encode_www_form(stringify_hash(query)) unless query.empty?
|
|
22
|
+
|
|
23
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
24
|
+
http.use_ssl = uri.scheme == "https"
|
|
25
|
+
http.open_timeout = @timeout
|
|
26
|
+
http.read_timeout = @timeout
|
|
27
|
+
http.write_timeout = @timeout if http.respond_to?(:write_timeout=)
|
|
28
|
+
|
|
29
|
+
request = build_request(method, uri, params.body_fields)
|
|
30
|
+
request["ailabapi-api-key"] = @api_key
|
|
31
|
+
response = http.request(request)
|
|
32
|
+
parse_response(response, response_class)
|
|
33
|
+
rescue APIError
|
|
34
|
+
raise
|
|
35
|
+
rescue StandardError => e
|
|
36
|
+
raise SDKError, "AILabTools request failed: #{e.message}"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
private
|
|
40
|
+
|
|
41
|
+
def build_request(method, uri, body_fields)
|
|
42
|
+
if method.upcase == "GET"
|
|
43
|
+
Net::HTTP::Get.new(uri)
|
|
44
|
+
else
|
|
45
|
+
request = Net::HTTP.const_get(method.capitalize).new(uri)
|
|
46
|
+
request["Content-Type"] = "multipart/form-data; boundary=#{boundary}"
|
|
47
|
+
request.body = multipart_body(body_fields)
|
|
48
|
+
request
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def boundary
|
|
53
|
+
@boundary ||= "----AILabTools-#{SecureRandom.hex(16)}"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def multipart_body(fields)
|
|
57
|
+
parts = []
|
|
58
|
+
fields.each do |name, value|
|
|
59
|
+
parts << "--#{boundary}\r\n"
|
|
60
|
+
if value.is_a?(FileInput)
|
|
61
|
+
parts << "Content-Disposition: form-data; name=\"#{escape(name)}\"; filename=\"#{escape(value.filename)}\"\r\n"
|
|
62
|
+
parts << "Content-Type: #{value.content_type}\r\n\r\n"
|
|
63
|
+
parts << value.bytes
|
|
64
|
+
parts << "\r\n"
|
|
65
|
+
else
|
|
66
|
+
parts << "Content-Disposition: form-data; name=\"#{escape(name)}\"\r\n\r\n"
|
|
67
|
+
parts << stringify(value)
|
|
68
|
+
parts << "\r\n"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
parts << "--#{boundary}--\r\n"
|
|
72
|
+
parts.join.b
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def parse_response(response, response_class)
|
|
76
|
+
payload = JSON.parse(response.body || "{}")
|
|
77
|
+
error_code = payload.fetch("error_code", 0)
|
|
78
|
+
if response.code.to_i != 200 || error_code != 0
|
|
79
|
+
detail = payload["error_detail"].is_a?(Hash) ? payload["error_detail"] : nil
|
|
80
|
+
message = detail && detail["message"] || payload["error_msg"] || "AILabTools API Error"
|
|
81
|
+
raise APIError.new(
|
|
82
|
+
message,
|
|
83
|
+
status_code: response.code.to_i,
|
|
84
|
+
request_id: payload["request_id"],
|
|
85
|
+
log_id: payload["log_id"],
|
|
86
|
+
error_code: error_code,
|
|
87
|
+
error_detail: detail,
|
|
88
|
+
raw: payload
|
|
89
|
+
)
|
|
90
|
+
end
|
|
91
|
+
response_class.from_hash(payload)
|
|
92
|
+
rescue JSON::ParserError
|
|
93
|
+
raise APIError.new("Invalid JSON response", status_code: response.code.to_i, raw: response.body)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def stringify_hash(hash)
|
|
97
|
+
hash.each_with_object({}) { |(key, value), out| out[key] = stringify(value) }
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def stringify(value)
|
|
101
|
+
value.is_a?(Array) ? value.join(",") : value.to_s
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def escape(value)
|
|
105
|
+
value.to_s.gsub("\\", "\\\\").gsub('"', '\\"')
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module AILabTools
|
|
4
|
+
module ResponseModel
|
|
5
|
+
def self.included(base)
|
|
6
|
+
base.extend(ClassMethods)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
module ClassMethods
|
|
10
|
+
attr_reader :field_map, :field_types
|
|
11
|
+
|
|
12
|
+
def fields(map, types = {})
|
|
13
|
+
@field_map = map
|
|
14
|
+
@field_types = types
|
|
15
|
+
attr_reader(*map.keys)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def from_hash(hash)
|
|
19
|
+
object = new
|
|
20
|
+
object.instance_variable_set(:@raw, hash)
|
|
21
|
+
(@field_map || {}).each do |attr, wire|
|
|
22
|
+
value = hash[wire]
|
|
23
|
+
value = convert_value(value, (@field_types || {})[attr])
|
|
24
|
+
object.instance_variable_set("@#{attr}", value)
|
|
25
|
+
end
|
|
26
|
+
object
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def convert_value(value, type)
|
|
32
|
+
return value if value.nil? || type.nil?
|
|
33
|
+
|
|
34
|
+
if type.is_a?(Array)
|
|
35
|
+
klass = type.first
|
|
36
|
+
return value unless value.is_a?(Array)
|
|
37
|
+
|
|
38
|
+
value.map { |item| item.is_a?(Hash) ? klass.from_hash(item) : item }
|
|
39
|
+
elsif value.is_a?(Hash) && type.respond_to?(:from_hash)
|
|
40
|
+
type.from_hash(value)
|
|
41
|
+
else
|
|
42
|
+
value
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
attr_reader :raw
|
|
48
|
+
end
|
|
49
|
+
end
|
data/lib/ailabtools.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "ailabtools/version"
|
|
4
|
+
require_relative "ailabtools/errors"
|
|
5
|
+
require_relative "ailabtools/file_input"
|
|
6
|
+
require_relative "ailabtools/params"
|
|
7
|
+
require_relative "ailabtools/response_model"
|
|
8
|
+
require_relative "ailabtools/requester"
|
|
9
|
+
|
|
10
|
+
Dir[File.join(__dir__, "ailabtools", "generated", "params", "*.rb")].sort.each { |file| require file }
|
|
11
|
+
Dir[File.join(__dir__, "ailabtools", "generated", "responses", "*.rb")].sort.each { |file| require file }
|
|
12
|
+
Dir[File.join(__dir__, "ailabtools", "api", "*.rb")].sort.each { |file| require file }
|
|
13
|
+
|
|
14
|
+
require_relative "ailabtools/client"
|
|
15
|
+
|
|
16
|
+
module AILabTools
|
|
17
|
+
AILabClient = Client
|
|
18
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ailabtools
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.5.4
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- AILabTools
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-07-01 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: Ruby SDK for AILabTools background removal, image enhancement, portrait
|
|
14
|
+
editing, virtual try-on, and related AI image APIs.
|
|
15
|
+
email:
|
|
16
|
+
- support@ailabtools.com
|
|
17
|
+
executables: []
|
|
18
|
+
extensions: []
|
|
19
|
+
extra_rdoc_files: []
|
|
20
|
+
files:
|
|
21
|
+
- CHANGELOG.md
|
|
22
|
+
- LICENSE
|
|
23
|
+
- README.md
|
|
24
|
+
- lib/ailabtools.rb
|
|
25
|
+
- lib/ailabtools/api/background_api.rb
|
|
26
|
+
- lib/ailabtools/api/common_api.rb
|
|
27
|
+
- lib/ailabtools/api/cutout_api.rb
|
|
28
|
+
- lib/ailabtools/api/image_api.rb
|
|
29
|
+
- lib/ailabtools/api/portrait_api.rb
|
|
30
|
+
- lib/ailabtools/client.rb
|
|
31
|
+
- lib/ailabtools/errors.rb
|
|
32
|
+
- lib/ailabtools/file_input.rb
|
|
33
|
+
- lib/ailabtools/generated/params/common_query_async_task_result_params.rb
|
|
34
|
+
- lib/ailabtools/generated/params/common_query_credits_params.rb
|
|
35
|
+
- lib/ailabtools/generated/params/cutout_avatar_extraction_params.rb
|
|
36
|
+
- lib/ailabtools/generated/params/cutout_clothing_background_removal_params.rb
|
|
37
|
+
- lib/ailabtools/generated/params/cutout_food_background_removal_params.rb
|
|
38
|
+
- lib/ailabtools/generated/params/cutout_hair_extraction_params.rb
|
|
39
|
+
- lib/ailabtools/generated/params/cutout_hd_human_body_background_removal_params.rb
|
|
40
|
+
- lib/ailabtools/generated/params/cutout_hd_universal_background_removal_params.rb
|
|
41
|
+
- lib/ailabtools/generated/params/cutout_human_background_removal_params.rb
|
|
42
|
+
- lib/ailabtools/generated/params/cutout_product_background_removal_params.rb
|
|
43
|
+
- lib/ailabtools/generated/params/cutout_universal_background_removal_params.rb
|
|
44
|
+
- lib/ailabtools/generated/params/image_ai_cartoon_generator_params.rb
|
|
45
|
+
- lib/ailabtools/generated/params/image_ai_emoji_generator_params.rb
|
|
46
|
+
- lib/ailabtools/generated/params/image_ai_flower_wallpaper_params.rb
|
|
47
|
+
- lib/ailabtools/generated/params/image_ai_image_cropping_params.rb
|
|
48
|
+
- lib/ailabtools/generated/params/image_ai_image_extender_params.rb
|
|
49
|
+
- lib/ailabtools/generated/params/image_ai_nail_art_params.rb
|
|
50
|
+
- lib/ailabtools/generated/params/image_ai_nail_art_pro_params.rb
|
|
51
|
+
- lib/ailabtools/generated/params/image_ai_object_replacer_params.rb
|
|
52
|
+
- lib/ailabtools/generated/params/image_ai_photography_params.rb
|
|
53
|
+
- lib/ailabtools/generated/params/image_clarity_enhancement_params.rb
|
|
54
|
+
- lib/ailabtools/generated/params/image_color_enhancement_params.rb
|
|
55
|
+
- lib/ailabtools/generated/params/image_coloring_params.rb
|
|
56
|
+
- lib/ailabtools/generated/params/image_composition_aesthetics_score_params.rb
|
|
57
|
+
- lib/ailabtools/generated/params/image_contrast_enhancement_params.rb
|
|
58
|
+
- lib/ailabtools/generated/params/image_dehaze_params.rb
|
|
59
|
+
- lib/ailabtools/generated/params/image_distortion_correction_params.rb
|
|
60
|
+
- lib/ailabtools/generated/params/image_erasure_params.rb
|
|
61
|
+
- lib/ailabtools/generated/params/image_exposure_rating_params.rb
|
|
62
|
+
- lib/ailabtools/generated/params/image_intelligent_composition_params.rb
|
|
63
|
+
- lib/ailabtools/generated/params/image_invisible_image_watermark_params.rb
|
|
64
|
+
- lib/ailabtools/generated/params/image_invisible_text_watermark_params.rb
|
|
65
|
+
- lib/ailabtools/generated/params/image_lossless_enlargement_params.rb
|
|
66
|
+
- lib/ailabtools/generated/params/image_photo_editing_params.rb
|
|
67
|
+
- lib/ailabtools/generated/params/image_photo_to_coloring_page_params.rb
|
|
68
|
+
- lib/ailabtools/generated/params/image_querying_async_task_results_params.rb
|
|
69
|
+
- lib/ailabtools/generated/params/image_remove_objects_advanced_params.rb
|
|
70
|
+
- lib/ailabtools/generated/params/image_remove_objects_params.rb
|
|
71
|
+
- lib/ailabtools/generated/params/image_remove_objects_pro_params.rb
|
|
72
|
+
- lib/ailabtools/generated/params/image_style_migration_params.rb
|
|
73
|
+
- lib/ailabtools/generated/params/image_style_transfer_params.rb
|
|
74
|
+
- lib/ailabtools/generated/params/portrait_ai_bald_params.rb
|
|
75
|
+
- lib/ailabtools/generated/params/portrait_ai_beard_removal_params.rb
|
|
76
|
+
- lib/ailabtools/generated/params/portrait_ai_beard_styling_params.rb
|
|
77
|
+
- lib/ailabtools/generated/params/portrait_ai_big_head_effect_params.rb
|
|
78
|
+
- lib/ailabtools/generated/params/portrait_ai_breast_expansion_params.rb
|
|
79
|
+
- lib/ailabtools/generated/params/portrait_ai_butt_enhancement_params.rb
|
|
80
|
+
- lib/ailabtools/generated/params/portrait_ai_colored_contacts_params.rb
|
|
81
|
+
- lib/ailabtools/generated/params/portrait_ai_eyebrows_params.rb
|
|
82
|
+
- lib/ailabtools/generated/params/portrait_ai_eyelashes_params.rb
|
|
83
|
+
- lib/ailabtools/generated/params/portrait_ai_eyeshadow_try_on_params.rb
|
|
84
|
+
- lib/ailabtools/generated/params/portrait_ai_face_rating_params.rb
|
|
85
|
+
- lib/ailabtools/generated/params/portrait_ai_face_swap_params.rb
|
|
86
|
+
- lib/ailabtools/generated/params/portrait_ai_fat_filter_params.rb
|
|
87
|
+
- lib/ailabtools/generated/params/portrait_ai_hair_color_params.rb
|
|
88
|
+
- lib/ailabtools/generated/params/portrait_ai_hair_loss_simulation_params.rb
|
|
89
|
+
- lib/ailabtools/generated/params/portrait_ai_halloween_mask_params.rb
|
|
90
|
+
- lib/ailabtools/generated/params/portrait_ai_lip_bite_expressions_params.rb
|
|
91
|
+
- lib/ailabtools/generated/params/portrait_ai_lip_enhancement_params.rb
|
|
92
|
+
- lib/ailabtools/generated/params/portrait_ai_red_lip_gloss_params.rb
|
|
93
|
+
- lib/ailabtools/generated/params/portrait_ai_skin_enhancement_advanced_params.rb
|
|
94
|
+
- lib/ailabtools/generated/params/portrait_ai_square_face_filter_params.rb
|
|
95
|
+
- lib/ailabtools/generated/params/portrait_ai_waist_slimming_params.rb
|
|
96
|
+
- lib/ailabtools/generated/params/portrait_cartoon_yourself_params.rb
|
|
97
|
+
- lib/ailabtools/generated/params/portrait_expression_editing_advanced_params.rb
|
|
98
|
+
- lib/ailabtools/generated/params/portrait_expression_editing_params.rb
|
|
99
|
+
- lib/ailabtools/generated/params/portrait_face_analyzer_advanced_params.rb
|
|
100
|
+
- lib/ailabtools/generated/params/portrait_face_analyzer_params.rb
|
|
101
|
+
- lib/ailabtools/generated/params/portrait_face_attribute_editing_params.rb
|
|
102
|
+
- lib/ailabtools/generated/params/portrait_face_fusion_params.rb
|
|
103
|
+
- lib/ailabtools/generated/params/portrait_face_restoration_enhancement_params.rb
|
|
104
|
+
- lib/ailabtools/generated/params/portrait_facial_beautification_advanced_params.rb
|
|
105
|
+
- lib/ailabtools/generated/params/portrait_facial_beautification_params.rb
|
|
106
|
+
- lib/ailabtools/generated/params/portrait_facial_beautification_pro_params.rb
|
|
107
|
+
- lib/ailabtools/generated/params/portrait_facial_blurring_params.rb
|
|
108
|
+
- lib/ailabtools/generated/params/portrait_facial_filters_params.rb
|
|
109
|
+
- lib/ailabtools/generated/params/portrait_facial_landmarks_params.rb
|
|
110
|
+
- lib/ailabtools/generated/params/portrait_hairstyle_editing_params.rb
|
|
111
|
+
- lib/ailabtools/generated/params/portrait_hairstyle_editing_premium_params.rb
|
|
112
|
+
- lib/ailabtools/generated/params/portrait_hairstyle_editing_pro_params.rb
|
|
113
|
+
- lib/ailabtools/generated/params/portrait_intelligent_beautification_params.rb
|
|
114
|
+
- lib/ailabtools/generated/params/portrait_intelligent_face_slimming_params.rb
|
|
115
|
+
- lib/ailabtools/generated/params/portrait_intelligent_skin_retouching_params.rb
|
|
116
|
+
- lib/ailabtools/generated/params/portrait_lips_color_changer_params.rb
|
|
117
|
+
- lib/ailabtools/generated/params/portrait_live_photos_params.rb
|
|
118
|
+
- lib/ailabtools/generated/params/portrait_skin_analysis_advanced_params.rb
|
|
119
|
+
- lib/ailabtools/generated/params/portrait_skin_analysis_basic_params.rb
|
|
120
|
+
- lib/ailabtools/generated/params/portrait_skin_analysis_professional_params.rb
|
|
121
|
+
- lib/ailabtools/generated/params/portrait_skin_disease_detection_params.rb
|
|
122
|
+
- lib/ailabtools/generated/params/portrait_try_on_clothes_params.rb
|
|
123
|
+
- lib/ailabtools/generated/params/portrait_try_on_clothes_premium_params.rb
|
|
124
|
+
- lib/ailabtools/generated/params/portrait_try_on_clothes_pro_params.rb
|
|
125
|
+
- lib/ailabtools/generated/params/portrait_try_on_clothes_refiner_params.rb
|
|
126
|
+
- lib/ailabtools/generated/responses/common_query_async_task_result_response.rb
|
|
127
|
+
- lib/ailabtools/generated/responses/common_query_credits_response.rb
|
|
128
|
+
- lib/ailabtools/generated/responses/cutout_avatar_extraction_response.rb
|
|
129
|
+
- lib/ailabtools/generated/responses/cutout_clothing_background_removal_response.rb
|
|
130
|
+
- lib/ailabtools/generated/responses/cutout_food_background_removal_response.rb
|
|
131
|
+
- lib/ailabtools/generated/responses/cutout_hair_extraction_response.rb
|
|
132
|
+
- lib/ailabtools/generated/responses/cutout_hd_human_body_background_removal_response.rb
|
|
133
|
+
- lib/ailabtools/generated/responses/cutout_hd_universal_background_removal_response.rb
|
|
134
|
+
- lib/ailabtools/generated/responses/cutout_human_background_removal_response.rb
|
|
135
|
+
- lib/ailabtools/generated/responses/cutout_product_background_removal_response.rb
|
|
136
|
+
- lib/ailabtools/generated/responses/cutout_universal_background_removal_response.rb
|
|
137
|
+
- lib/ailabtools/generated/responses/image_ai_cartoon_generator_response.rb
|
|
138
|
+
- lib/ailabtools/generated/responses/image_ai_emoji_generator_response.rb
|
|
139
|
+
- lib/ailabtools/generated/responses/image_ai_flower_wallpaper_response.rb
|
|
140
|
+
- lib/ailabtools/generated/responses/image_ai_image_cropping_response.rb
|
|
141
|
+
- lib/ailabtools/generated/responses/image_ai_image_extender_response.rb
|
|
142
|
+
- lib/ailabtools/generated/responses/image_ai_nail_art_pro_response.rb
|
|
143
|
+
- lib/ailabtools/generated/responses/image_ai_nail_art_response.rb
|
|
144
|
+
- lib/ailabtools/generated/responses/image_ai_object_replacer_response.rb
|
|
145
|
+
- lib/ailabtools/generated/responses/image_ai_photography_response.rb
|
|
146
|
+
- lib/ailabtools/generated/responses/image_clarity_enhancement_response.rb
|
|
147
|
+
- lib/ailabtools/generated/responses/image_color_enhancement_response.rb
|
|
148
|
+
- lib/ailabtools/generated/responses/image_coloring_response.rb
|
|
149
|
+
- lib/ailabtools/generated/responses/image_composition_aesthetics_score_response.rb
|
|
150
|
+
- lib/ailabtools/generated/responses/image_contrast_enhancement_response.rb
|
|
151
|
+
- lib/ailabtools/generated/responses/image_dehaze_response.rb
|
|
152
|
+
- lib/ailabtools/generated/responses/image_distortion_correction_response.rb
|
|
153
|
+
- lib/ailabtools/generated/responses/image_erasure_response.rb
|
|
154
|
+
- lib/ailabtools/generated/responses/image_exposure_rating_response.rb
|
|
155
|
+
- lib/ailabtools/generated/responses/image_intelligent_composition_response.rb
|
|
156
|
+
- lib/ailabtools/generated/responses/image_invisible_image_watermark_response.rb
|
|
157
|
+
- lib/ailabtools/generated/responses/image_invisible_text_watermark_response.rb
|
|
158
|
+
- lib/ailabtools/generated/responses/image_lossless_enlargement_response.rb
|
|
159
|
+
- lib/ailabtools/generated/responses/image_photo_editing_response.rb
|
|
160
|
+
- lib/ailabtools/generated/responses/image_photo_to_coloring_page_response.rb
|
|
161
|
+
- lib/ailabtools/generated/responses/image_querying_async_task_results_response.rb
|
|
162
|
+
- lib/ailabtools/generated/responses/image_remove_objects_advanced_response.rb
|
|
163
|
+
- lib/ailabtools/generated/responses/image_remove_objects_pro_response.rb
|
|
164
|
+
- lib/ailabtools/generated/responses/image_remove_objects_response.rb
|
|
165
|
+
- lib/ailabtools/generated/responses/image_style_migration_response.rb
|
|
166
|
+
- lib/ailabtools/generated/responses/image_style_transfer_response.rb
|
|
167
|
+
- lib/ailabtools/generated/responses/portrait_ai_bald_response.rb
|
|
168
|
+
- lib/ailabtools/generated/responses/portrait_ai_beard_removal_response.rb
|
|
169
|
+
- lib/ailabtools/generated/responses/portrait_ai_beard_styling_response.rb
|
|
170
|
+
- lib/ailabtools/generated/responses/portrait_ai_big_head_effect_response.rb
|
|
171
|
+
- lib/ailabtools/generated/responses/portrait_ai_breast_expansion_response.rb
|
|
172
|
+
- lib/ailabtools/generated/responses/portrait_ai_butt_enhancement_response.rb
|
|
173
|
+
- lib/ailabtools/generated/responses/portrait_ai_colored_contacts_response.rb
|
|
174
|
+
- lib/ailabtools/generated/responses/portrait_ai_eyebrows_response.rb
|
|
175
|
+
- lib/ailabtools/generated/responses/portrait_ai_eyelashes_response.rb
|
|
176
|
+
- lib/ailabtools/generated/responses/portrait_ai_eyeshadow_try_on_response.rb
|
|
177
|
+
- lib/ailabtools/generated/responses/portrait_ai_face_rating_response.rb
|
|
178
|
+
- lib/ailabtools/generated/responses/portrait_ai_face_swap_response.rb
|
|
179
|
+
- lib/ailabtools/generated/responses/portrait_ai_fat_filter_response.rb
|
|
180
|
+
- lib/ailabtools/generated/responses/portrait_ai_hair_color_response.rb
|
|
181
|
+
- lib/ailabtools/generated/responses/portrait_ai_hair_loss_simulation_response.rb
|
|
182
|
+
- lib/ailabtools/generated/responses/portrait_ai_halloween_mask_response.rb
|
|
183
|
+
- lib/ailabtools/generated/responses/portrait_ai_lip_bite_expressions_response.rb
|
|
184
|
+
- lib/ailabtools/generated/responses/portrait_ai_lip_enhancement_response.rb
|
|
185
|
+
- lib/ailabtools/generated/responses/portrait_ai_red_lip_gloss_response.rb
|
|
186
|
+
- lib/ailabtools/generated/responses/portrait_ai_skin_enhancement_advanced_response.rb
|
|
187
|
+
- lib/ailabtools/generated/responses/portrait_ai_square_face_filter_response.rb
|
|
188
|
+
- lib/ailabtools/generated/responses/portrait_ai_waist_slimming_response.rb
|
|
189
|
+
- lib/ailabtools/generated/responses/portrait_cartoon_yourself_response.rb
|
|
190
|
+
- lib/ailabtools/generated/responses/portrait_expression_editing_advanced_response.rb
|
|
191
|
+
- lib/ailabtools/generated/responses/portrait_expression_editing_response.rb
|
|
192
|
+
- lib/ailabtools/generated/responses/portrait_face_analyzer_advanced_response.rb
|
|
193
|
+
- lib/ailabtools/generated/responses/portrait_face_analyzer_response.rb
|
|
194
|
+
- lib/ailabtools/generated/responses/portrait_face_attribute_editing_response.rb
|
|
195
|
+
- lib/ailabtools/generated/responses/portrait_face_fusion_response.rb
|
|
196
|
+
- lib/ailabtools/generated/responses/portrait_face_restoration_enhancement_response.rb
|
|
197
|
+
- lib/ailabtools/generated/responses/portrait_facial_beautification_advanced_response.rb
|
|
198
|
+
- lib/ailabtools/generated/responses/portrait_facial_beautification_pro_response.rb
|
|
199
|
+
- lib/ailabtools/generated/responses/portrait_facial_beautification_response.rb
|
|
200
|
+
- lib/ailabtools/generated/responses/portrait_facial_blurring_response.rb
|
|
201
|
+
- lib/ailabtools/generated/responses/portrait_facial_filters_response.rb
|
|
202
|
+
- lib/ailabtools/generated/responses/portrait_facial_landmarks_response.rb
|
|
203
|
+
- lib/ailabtools/generated/responses/portrait_hairstyle_editing_premium_response.rb
|
|
204
|
+
- lib/ailabtools/generated/responses/portrait_hairstyle_editing_pro_response.rb
|
|
205
|
+
- lib/ailabtools/generated/responses/portrait_hairstyle_editing_response.rb
|
|
206
|
+
- lib/ailabtools/generated/responses/portrait_intelligent_beautification_response.rb
|
|
207
|
+
- lib/ailabtools/generated/responses/portrait_intelligent_face_slimming_response.rb
|
|
208
|
+
- lib/ailabtools/generated/responses/portrait_intelligent_skin_retouching_response.rb
|
|
209
|
+
- lib/ailabtools/generated/responses/portrait_lips_color_changer_response.rb
|
|
210
|
+
- lib/ailabtools/generated/responses/portrait_live_photos_response.rb
|
|
211
|
+
- lib/ailabtools/generated/responses/portrait_skin_analysis_advanced_response.rb
|
|
212
|
+
- lib/ailabtools/generated/responses/portrait_skin_analysis_basic_response.rb
|
|
213
|
+
- lib/ailabtools/generated/responses/portrait_skin_analysis_professional_response.rb
|
|
214
|
+
- lib/ailabtools/generated/responses/portrait_skin_disease_detection_response.rb
|
|
215
|
+
- lib/ailabtools/generated/responses/portrait_try_on_clothes_premium_response.rb
|
|
216
|
+
- lib/ailabtools/generated/responses/portrait_try_on_clothes_pro_response.rb
|
|
217
|
+
- lib/ailabtools/generated/responses/portrait_try_on_clothes_refiner_response.rb
|
|
218
|
+
- lib/ailabtools/generated/responses/portrait_try_on_clothes_response.rb
|
|
219
|
+
- lib/ailabtools/params.rb
|
|
220
|
+
- lib/ailabtools/requester.rb
|
|
221
|
+
- lib/ailabtools/response_model.rb
|
|
222
|
+
- lib/ailabtools/version.rb
|
|
223
|
+
homepage: https://www.ailabtools.com/
|
|
224
|
+
licenses:
|
|
225
|
+
- MIT
|
|
226
|
+
metadata:
|
|
227
|
+
homepage_uri: https://www.ailabtools.com/
|
|
228
|
+
documentation_uri: https://www.ailabtools.com/docs
|
|
229
|
+
source_code_uri: https://github.com/ailabtools/ailabtools-sdk
|
|
230
|
+
bug_tracker_uri: https://github.com/ailabtools/ailabtools-sdk/issues
|
|
231
|
+
post_install_message:
|
|
232
|
+
rdoc_options: []
|
|
233
|
+
require_paths:
|
|
234
|
+
- lib
|
|
235
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
236
|
+
requirements:
|
|
237
|
+
- - ">="
|
|
238
|
+
- !ruby/object:Gem::Version
|
|
239
|
+
version: '2.6'
|
|
240
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
241
|
+
requirements:
|
|
242
|
+
- - ">="
|
|
243
|
+
- !ruby/object:Gem::Version
|
|
244
|
+
version: '0'
|
|
245
|
+
requirements: []
|
|
246
|
+
rubygems_version: 3.4.20
|
|
247
|
+
signing_key:
|
|
248
|
+
specification_version: 4
|
|
249
|
+
summary: Official Ruby SDK for AILabTools AI image APIs.
|
|
250
|
+
test_files: []
|