PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / 2.8.3
Kubio AI Page Builder v2.8.3
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 1 year ago KubioImageGenerate.php 1 year ago KubioImageManager.php 1 year ago KubioImagePrompts.php 2 years ago KubioImageSearch.php 1 year ago sd-endpoints.php 1 year ago
sd-endpoints.php
150 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_api_generate_images( WP_REST_Request $request ) {
72 $image_generate = new Kubio\Ai\KubioImageGenerate();
73 $image_style = Kubio\Ai\KubioImagePrompts::parse_style_and_type( $request['imageType'], $request['imageStyle'] );
74 $data = array(
75 'width' => intval( $request['imageSize'][0] ),
76 'height' => intval( $request['imageSize'][1] ),
77 'samples' => $request['numberOfImages'],
78 'style_preset' => $image_style['style_preset'],
79 'sampler' => 'K_DPMPP_2M',
80 'steps' => 50,
81 'cfg_scale' => 14,
82 );
83
84 $response = $image_generate->samples(
85 $data,
86 array( $request['imagePrompt'], $image_style['image_prompt'] )
87 );
88
89 return $response;
90 }
91
92 function kubio_ai_api_image_variations( WP_REST_Request $request ) {
93 $image_generate = new Kubio\Ai\KubioImageGenerate();
94 $image = new Kubio\Ai\KubioImageManager();
95 $image_style = Kubio\Ai\KubioImagePrompts::parse_style_and_type( $request['imageType'], $request['imageStyle'] );
96
97 $data = array(
98 'samples' => $request['numberOfImages'],
99 'style_preset' => $image_style['style_preset'],
100 'image_strength' => 0.35,
101 'init_image' => $image->get_file_contents( $request['currentSelectedImage'] ),
102 );
103
104 return $image_generate->variations(
105 $data,
106 array( $request['imagePrompt'], $image_style['image_prompt'] )
107 );
108 }
109
110 function kubio_ai_api_image_mask( WP_REST_Request $request ) {
111 $image_generate = new Kubio\Ai\KubioImageGenerate();
112 $image = new Kubio\Ai\KubioImageManager();
113
114 $data = array(
115 'samples' => 1,
116 'mask_source' => 'MASK_IMAGE_BLACK',
117 'mask_image' => $request['maskImage'],
118 'init_image' => $image->get_file_contents( $request['currentSelectedImage'] ),
119 );
120
121 return $image_generate->mask(
122 $data,
123 $request['imagePrompt']
124 );
125 }
126
127 function kubio_ai_search_images( WP_REST_Request $request ) {
128 $image_generate = new Kubio\Ai\KubioImageSearch();
129
130 return $image_generate->search(
131 $request,
132 array( 'api_dummy_response' => true )
133 );
134 }
135
136 function kubio_ai_save_image( WP_REST_Request $request ) {
137 $image_generate = new Kubio\Ai\KubioImageSearch();
138
139 return $image_generate->save(
140 $request
141 );
142 }
143
144 function kubio_utils_data_add_ai_sd_settings( $data ) {
145 $data['aiSDImageTypes'] = Kubio\Ai\KubioImagePrompts::get_image_types();
146 $data['aiSDImageStyles'] = Kubio\Ai\KubioImagePrompts::get_image_styles();
147 return $data;
148 }
149 add_filter( 'kubio/kubio-utils-data/extras', 'kubio_utils_data_add_ai_sd_settings' );
150