PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.1.1
Kubio AI Page Builder v2.1.1
2.9.1 2.9.0 2.8.6 2.8.5 2.8.4 2.8.3 2.8.2 2.8.1 trunk 1.0.0 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.9.0 2.0.0 2.1.1 2.1.2 2.1.3 2.2.0 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.5 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.6.1 2.6.2 2.6.3 2.6.5 2.6.6 2.6.7 2.7.0 2.7.1 2.7.2 2.7.3 2.8.0
kubio / lib / AI / SDApi / sd-endpoints.php
kubio / lib / AI / SDApi Last commit date
KubioCloudSDApi.php 2 years ago KubioImageGenerate.php 2 years ago KubioImageManager.php 2 years ago KubioImagePrompts.php 2 years ago KubioImageSearch.php 2 years ago sd-endpoints.php 2 years ago
sd-endpoints.php
154 lines
1 <?php
2
3 add_action(
4 'rest_api_init',
5 function () {
6 $namespace = 'kubio/v1';
7
8 register_rest_route(
9 $namespace,
10 '/ai/generate-text-to-image',
11 array(
12 'methods' => 'POST',
13 'callback' => 'kubio_ai_api_generate_images',
14 'permission_callback' => function () {
15 return current_user_can( 'edit_theme_options' );
16 },
17 )
18 );
19
20 register_rest_route(
21 $namespace,
22 '/ai/generate-image-variations',
23 array(
24 'methods' => 'POST',
25 'callback' => 'kubio_ai_api_image_variations',
26 'permission_callback' => function () {
27 return current_user_can( 'edit_theme_options' );
28 },
29 )
30 );
31
32 register_rest_route(
33 $namespace,
34 '/ai/image-mask',
35 array(
36 'methods' => 'POST',
37 'callback' => 'kubio_ai_api_image_mask',
38 'permission_callback' => function () {
39 return current_user_can( 'edit_theme_options' );
40 },
41 )
42 );
43
44 register_rest_route(
45 $namespace,
46 '/ai/ai-search-images',
47 array(
48 'methods' => 'POST',
49 'callback' => 'kubio_ai_search_images',
50 'permission_callback' => function () {
51 return current_user_can( 'edit_theme_options' );
52 },
53 )
54 );
55
56 register_rest_route(
57 $namespace,
58 '/ai/save-image',
59 array(
60 'methods' => 'POST',
61 'callback' => 'kubio_ai_save_image',
62 'permission_callback' => function () {
63 return current_user_can( 'edit_theme_options' );
64 },
65 )
66 );
67
68 }
69 );
70
71 // function kubio_ai_sd_image_from_text_( WP_REST_Request $request ) {
72 // // return kubio_ai_sd_generate_image_from_text( $request['prompt'], $request['imageSize'] );
73 // }
74
75 function kubio_ai_api_generate_images( WP_REST_Request $request ) {
76 $image_generate = new Kubio\Ai\KubioImageGenerate();
77 $image_style = Kubio\Ai\KubioImagePrompts::parse_style_and_type( $request['imageType'], $request['imageStyle'] );
78 $data = array(
79 'width' => intval( $request['imageSize'][0] ),
80 'height' => intval( $request['imageSize'][1] ),
81 'samples' => $request['numberOfImages'],
82 'style_preset' => $image_style['style_preset'],
83 'sampler' => 'K_DPMPP_2M',
84 'steps' => 50,
85 'cfg_scale' => 14,
86 );
87
88 $response = $image_generate->samples(
89 $data,
90 array( $request['imagePrompt'], $image_style['image_prompt'] )
91 );
92
93 return $response;
94 }
95
96 function kubio_ai_api_image_variations( WP_REST_Request $request ) {
97 $image_generate = new Kubio\Ai\KubioImageGenerate();
98 $image = new Kubio\Ai\KubioImageManager();
99 $image_style = Kubio\Ai\KubioImagePrompts::parse_style_and_type( $request['imageType'], $request['imageStyle'] );
100
101 $data = array(
102 'samples' => $request['numberOfImages'],
103 'style_preset' => $image_style['style_preset'],
104 'image_strength' => 0.35,
105 'init_image' => $image->get_file_contents( $request['currentSelectedImage'] ),
106 );
107
108 return $image_generate->variations(
109 $data,
110 array( $request['imagePrompt'], $image_style['image_prompt'] )
111 );
112 }
113
114 function kubio_ai_api_image_mask( WP_REST_Request $request ) {
115 $image_generate = new Kubio\Ai\KubioImageGenerate();
116 $image = new Kubio\Ai\KubioImageManager();
117
118 $data = array(
119 'samples' => 1,
120 'mask_source' => 'MASK_IMAGE_BLACK',
121 'mask_image' => $request['maskImage'],
122 'init_image' => $image->get_file_contents( $request['currentSelectedImage'] ),
123 );
124
125 return $image_generate->mask(
126 $data,
127 $request['imagePrompt']
128 );
129 }
130
131 function kubio_ai_search_images( WP_REST_Request $request ) {
132 $image_generate = new Kubio\Ai\KubioImageSearch();
133
134 return $image_generate->search(
135 $request,
136 array( 'api_dummy_response' => true )
137 );
138 }
139
140 function kubio_ai_save_image( WP_REST_Request $request ) {
141 $image_generate = new Kubio\Ai\KubioImageSearch();
142
143 return $image_generate->save(
144 $request
145 );
146 }
147
148 function kubio_utils_data_add_ai_sd_settings( $data ) {
149 $data['aiSDImageTypes'] = Kubio\Ai\KubioImagePrompts::get_image_types();
150 $data['aiSDImageStyles'] = Kubio\Ai\KubioImagePrompts::get_image_styles();
151 return $data;
152 }
153 add_filter( 'kubio/kubio-utils-data/extras', 'kubio_utils_data_add_ai_sd_settings' );
154