PluginProbe ʕ •ᴥ•ʔ
Kubio AI Page Builder / trunk
Kubio AI Page Builder vtrunk
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 / KubioImageSearch.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
KubioImageSearch.php
75 lines
1 <?php
2 namespace Kubio\Ai;
3 use IlluminateAgnostic\Arr\Support\Arr;
4 use Kubio\Core\Importer;
5
6 class KubioImageSearch {
7 public function search( $request, $settings = array() ) {
8 $dimensions = $this->get_image_dimensions( $request );
9 $api_url = 'v1/search-media';
10 $ai_prompt = Arr::get( $request, 'aiPrompt', '' );
11 $search = Arr::get( $request, 'search', '' );
12
13 if ( $ai_prompt === '' ) {
14 $api_url = 'v1/prompt-search-media';
15 } else {
16 $search = $ai_prompt;
17 }
18
19 $response = kubio_ai_call_api(
20 $api_url,
21 array_merge(
22 $dimensions,
23 array(
24 'type' => 'image',
25 'prompt' => $search,
26 'search' => $search,
27 'per_page' => Arr::get( $request, 'perPage', 10 ),
28 'page' => Arr::get( $request, 'page', 1 ),
29 'size' => Arr::get( $request, 'imageSize', 'medium' ),
30 'orientation' => Arr::get( $request, 'imageOrientation', 'portrait' ),
31 'media_attrs' => array(
32 'src.medium',
33 ),
34 )
35 )
36 );
37
38 return $response;
39 }
40
41 public function save( $request ) {
42 $image = Arr::get( $request, 'selectedImage', 10 );
43 $file = Importer::importRemoteFile( $image );
44
45 return array( 'content' => $file );
46 }
47
48 public function get_image_dimensions( $request ) {
49 $dimensions = array();
50
51 if ( Arr::get( $request, 'initialImage', '' ) ) {
52 // original
53 $dimensions = kubio_ai_get_original_image_dimensions( Arr::get( $request, 'initialImage', '' ) );
54 } else {
55 $width = Arr::get( $request, 'width', null );
56 $height = Arr::get( $request, 'height', null );
57
58 if ( $width ) {
59 $dimensions['width'] = $width;
60 }
61
62 if ( $height ) {
63 $dimensions['height'] = $height;
64 }
65 }
66
67 $orientation = Arr::get( $request, 'orientation', null );
68 if ( $orientation ) {
69 $dimensions['orientation'] = $orientation;
70 }
71
72 return $dimensions;
73 }
74 }
75