@imgly/plugin-ai-video-generation-web 0.2.12 → 0.2.15

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 (34) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +319 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/eachlabs/KlingO1.image2video.d.ts +23 -0
  5. package/dist/eachlabs/KlingV26Pro.image2video.d.ts +23 -0
  6. package/dist/eachlabs/KlingV26Pro.text2video.d.ts +24 -0
  7. package/dist/eachlabs/Veo31.image2video.d.ts +25 -0
  8. package/dist/eachlabs/Veo31.text2video.d.ts +25 -0
  9. package/dist/eachlabs/createEachLabsClient.d.ts +37 -0
  10. package/dist/eachlabs/createVideoProvider.d.ts +107 -0
  11. package/dist/eachlabs/index.d.ts +19 -0
  12. package/dist/eachlabs/index.mjs +142 -0
  13. package/dist/eachlabs/index.mjs.map +7 -0
  14. package/dist/eachlabs/types.d.ts +10 -0
  15. package/dist/eachlabs/utils.d.ts +23 -0
  16. package/dist/fal-ai/index.mjs.map +2 -2
  17. package/dist/index.mjs +1 -1
  18. package/dist/index.mjs.map +2 -2
  19. package/dist/runware/Sora2.image2video.d.ts +32 -0
  20. package/dist/runware/Sora2.text2video.d.ts +30 -0
  21. package/dist/runware/Sora2Pro.image2video.d.ts +32 -0
  22. package/dist/runware/Sora2Pro.text2video.d.ts +30 -0
  23. package/dist/runware/Veo31.image2video.d.ts +33 -0
  24. package/dist/runware/Veo31.text2video.d.ts +31 -0
  25. package/dist/runware/Veo31Fast.image2video.d.ts +34 -0
  26. package/dist/runware/Veo31Fast.text2video.d.ts +32 -0
  27. package/dist/runware/createRunwareClient.d.ts +57 -0
  28. package/dist/runware/createVideoProvider.d.ts +109 -0
  29. package/dist/runware/index.d.ts +28 -0
  30. package/dist/runware/index.mjs +142 -0
  31. package/dist/runware/index.mjs.map +7 -0
  32. package/dist/runware/types.d.ts +10 -0
  33. package/dist/runware/utils.d.ts +5 -0
  34. package/package.json +43 -23
@@ -0,0 +1,23 @@
1
+ import { type Provider, type VideoOutput } from '@imgly/plugin-ai-generation-web';
2
+ import type CreativeEditorSDK from '@cesdk/cesdk-js';
3
+ import { EachLabsProviderConfiguration } from './types';
4
+ /**
5
+ * Input interface for Kling O1 image-to-video
6
+ */
7
+ export type KlingO1ImageToVideoInput = {
8
+ image_url: string;
9
+ prompt: string;
10
+ duration?: '5' | '10';
11
+ };
12
+ /**
13
+ * Kling O1 - Image-to-video generation via EachLabs
14
+ *
15
+ * Features:
16
+ * - 5 or 10 second video duration
17
+ * - Uses start_image_url as input for video generation
18
+ * - High-quality video generation from Kuaishou
19
+ */
20
+ export declare function KlingO1ImageToVideo(config: EachLabsProviderConfiguration): (context: {
21
+ cesdk: CreativeEditorSDK;
22
+ }) => Promise<Provider<'video', KlingO1ImageToVideoInput, VideoOutput>>;
23
+ export default KlingO1ImageToVideo;
@@ -0,0 +1,23 @@
1
+ import { type Provider, type VideoOutput } from '@imgly/plugin-ai-generation-web';
2
+ import type CreativeEditorSDK from '@cesdk/cesdk-js';
3
+ import { EachLabsProviderConfiguration } from './types';
4
+ /**
5
+ * Input interface for Kling v2.6 Pro image-to-video
6
+ */
7
+ export type KlingV26ProImageToVideoInput = {
8
+ image_url: string;
9
+ prompt: string;
10
+ duration?: '5' | '10';
11
+ };
12
+ /**
13
+ * Kling v2.6 Pro - High-quality image-to-video generation via EachLabs
14
+ *
15
+ * Features:
16
+ * - 5 or 10 second video duration
17
+ * - Native audio generation support (Chinese/English)
18
+ * - High-quality video generation from Kuaishou
19
+ */
20
+ export declare function KlingV26ProImageToVideo(config: EachLabsProviderConfiguration): (context: {
21
+ cesdk: CreativeEditorSDK;
22
+ }) => Promise<Provider<'video', KlingV26ProImageToVideoInput, VideoOutput>>;
23
+ export default KlingV26ProImageToVideo;
@@ -0,0 +1,24 @@
1
+ import { type Provider, type VideoOutput } from '@imgly/plugin-ai-generation-web';
2
+ import type CreativeEditorSDK from '@cesdk/cesdk-js';
3
+ import { EachLabsProviderConfiguration } from './types';
4
+ /**
5
+ * Input interface for Kling v2.6 Pro text-to-video
6
+ */
7
+ export type KlingV26ProTextToVideoInput = {
8
+ prompt: string;
9
+ duration?: '5' | '10';
10
+ aspect_ratio?: '16:9' | '9:16' | '1:1';
11
+ };
12
+ /**
13
+ * Kling v2.6 Pro - High-quality text-to-video generation via EachLabs
14
+ *
15
+ * Features:
16
+ * - 5 or 10 second video duration
17
+ * - 3 aspect ratio options
18
+ * - Native audio generation support (Chinese/English)
19
+ * - High-quality video generation from Kuaishou
20
+ */
21
+ export declare function KlingV26ProTextToVideo(config: EachLabsProviderConfiguration): (context: {
22
+ cesdk: CreativeEditorSDK;
23
+ }) => Promise<Provider<'video', KlingV26ProTextToVideoInput, VideoOutput>>;
24
+ export default KlingV26ProTextToVideo;
@@ -0,0 +1,25 @@
1
+ import { type Provider, type VideoOutput } from '@imgly/plugin-ai-generation-web';
2
+ import type CreativeEditorSDK from '@cesdk/cesdk-js';
3
+ import { EachLabsProviderConfiguration } from './types';
4
+ /**
5
+ * Input interface for Veo 3.1 image-to-video
6
+ */
7
+ export type Veo31ImageToVideoInput = {
8
+ image_url: string;
9
+ prompt: string;
10
+ resolution?: '720p' | '1080p';
11
+ generate_audio?: boolean;
12
+ };
13
+ /**
14
+ * Veo 3.1 - Google's image-to-video generation via EachLabs
15
+ *
16
+ * Features:
17
+ * - 8 second video duration
18
+ * - 720p or 1080p resolution
19
+ * - Optional audio generation
20
+ * - Animates input image based on prompt
21
+ */
22
+ export declare function Veo31ImageToVideo(config: EachLabsProviderConfiguration): (context: {
23
+ cesdk: CreativeEditorSDK;
24
+ }) => Promise<Provider<'video', Veo31ImageToVideoInput, VideoOutput>>;
25
+ export default Veo31ImageToVideo;
@@ -0,0 +1,25 @@
1
+ import { type Provider, type VideoOutput } from '@imgly/plugin-ai-generation-web';
2
+ import type CreativeEditorSDK from '@cesdk/cesdk-js';
3
+ import { EachLabsProviderConfiguration } from './types';
4
+ /**
5
+ * Input interface for Veo 3.1 text-to-video
6
+ */
7
+ export type Veo31TextToVideoInput = {
8
+ prompt: string;
9
+ aspect_ratio?: '16:9' | '9:16';
10
+ resolution?: '720p' | '1080p';
11
+ generate_audio?: boolean;
12
+ };
13
+ /**
14
+ * Veo 3.1 - Google's text-to-video generation via EachLabs
15
+ *
16
+ * Features:
17
+ * - 8 second video duration
18
+ * - 2 aspect ratio options (16:9, 9:16)
19
+ * - 720p or 1080p resolution
20
+ * - Optional audio generation
21
+ */
22
+ export declare function Veo31TextToVideo(config: EachLabsProviderConfiguration): (context: {
23
+ cesdk: CreativeEditorSDK;
24
+ }) => Promise<Provider<'video', Veo31TextToVideoInput, VideoOutput>>;
25
+ export default Veo31TextToVideo;
@@ -0,0 +1,37 @@
1
+ export interface EachLabsVideoInferenceParams {
2
+ /** Model slug (e.g., 'kling-video') */
3
+ model: string;
4
+ /** Model version */
5
+ version: string;
6
+ /** Input parameters for the model */
7
+ input: Record<string, unknown>;
8
+ }
9
+ export interface EachLabsVideoResult {
10
+ videoURL: string;
11
+ }
12
+ /**
13
+ * EachLabs storage interface for file uploads
14
+ */
15
+ export interface EachLabsStorage {
16
+ /**
17
+ * Upload a file to EachLabs storage
18
+ * @param file - The file to upload
19
+ * @returns The URL of the uploaded file
20
+ */
21
+ upload: (file: File) => Promise<string>;
22
+ }
23
+ export interface EachLabsClient {
24
+ videoInference: (params: EachLabsVideoInferenceParams, abortSignal?: AbortSignal) => Promise<EachLabsVideoResult[]>;
25
+ /**
26
+ * Storage API for uploading files
27
+ */
28
+ storage: EachLabsStorage;
29
+ }
30
+ /**
31
+ * Creates an EachLabs API client for video generation
32
+ *
33
+ * @param proxyUrl - The proxy URL to use for API requests
34
+ * @param headers - Optional additional headers
35
+ * @returns EachLabs client instance
36
+ */
37
+ export declare function createEachLabsClient(proxyUrl: string, headers?: Record<string, string>): EachLabsClient;
@@ -0,0 +1,107 @@
1
+ import { type OpenAPIV3 } from 'openapi-types';
2
+ import CreativeEditorSDK, { CreativeEngine } from '@cesdk/cesdk-js';
3
+ import { Provider, RenderCustomProperty, VideoOutput, GetBlockInput, Middleware } from '@imgly/plugin-ai-generation-web';
4
+ import { VideoQuickActionSupportMap } from '../types';
5
+ type MiddlewareType = Middleware<any, any>;
6
+ /**
7
+ * Configuration for EachLabs video providers.
8
+ */
9
+ export interface EachLabsProviderConfiguration {
10
+ /**
11
+ * HTTP endpoint URL for the EachLabs proxy. The proxy handles API key injection.
12
+ */
13
+ proxyUrl: string;
14
+ /**
15
+ * Enable debug logging for provider creation and API calls.
16
+ */
17
+ debug?: boolean;
18
+ /**
19
+ * Middleware functions to process inputs/outputs.
20
+ */
21
+ middlewares?: MiddlewareType[];
22
+ /**
23
+ * Override provider's default history asset source.
24
+ */
25
+ history?: false | '@imgly/local' | '@imgly/indexedDB' | (string & {});
26
+ /**
27
+ * Configure supported quick actions.
28
+ */
29
+ supportedQuickActions?: {
30
+ [quickActionId: string]: Partial<VideoQuickActionSupportMap<any>[string]> | false | null;
31
+ };
32
+ }
33
+ /**
34
+ * Options for creating an EachLabs video provider.
35
+ */
36
+ interface CreateProviderOptions<I extends Record<string, any>> {
37
+ /**
38
+ * EachLabs model slug (e.g., 'kling-v2-6-pro-text-to-video').
39
+ */
40
+ modelSlug: string;
41
+ /**
42
+ * EachLabs model version (e.g., '0.0.1').
43
+ */
44
+ modelVersion: string;
45
+ /**
46
+ * Unique provider identifier for registration.
47
+ */
48
+ providerId: string;
49
+ /**
50
+ * Human-readable provider name displayed in the UI.
51
+ */
52
+ name: string;
53
+ /**
54
+ * OpenAPI schema document describing the input parameters.
55
+ */
56
+ schema: OpenAPIV3.Document;
57
+ /**
58
+ * JSON reference to the input schema (e.g., '#/components/schemas/Input').
59
+ */
60
+ inputReference: string;
61
+ /**
62
+ * User flow mode for the provider panel.
63
+ */
64
+ useFlow?: 'placeholder' | 'generation-only';
65
+ /**
66
+ * Initialization callback when the provider is registered.
67
+ */
68
+ initialize?: (context: {
69
+ cesdk?: CreativeEditorSDK;
70
+ engine: CreativeEngine;
71
+ }) => void;
72
+ /**
73
+ * Custom property renderers for the input panel.
74
+ */
75
+ renderCustomProperty?: RenderCustomProperty;
76
+ /**
77
+ * Quick actions this provider supports.
78
+ */
79
+ supportedQuickActions?: VideoQuickActionSupportMap<I>;
80
+ /**
81
+ * Get block dimensions from input parameters.
82
+ */
83
+ getBlockInput: GetBlockInput<'video', I>;
84
+ /**
85
+ * Transform input parameters to EachLabs API format.
86
+ */
87
+ mapInput: (input: I) => Record<string, any>;
88
+ /**
89
+ * Provider-specific middleware functions.
90
+ */
91
+ middleware?: MiddlewareType[];
92
+ /**
93
+ * Custom headers to include in API requests.
94
+ */
95
+ headers?: Record<string, string>;
96
+ /**
97
+ * CE.SDK instance for image URL conversion.
98
+ */
99
+ cesdk?: CreativeEditorSDK;
100
+ }
101
+ /**
102
+ * Creates an EachLabs video provider from schema.
103
+ */
104
+ declare function createVideoProvider<I extends Record<string, any> & {
105
+ image_url?: string;
106
+ }>(options: CreateProviderOptions<I>, config: EachLabsProviderConfiguration): Provider<'video', I, VideoOutput>;
107
+ export default createVideoProvider;
@@ -0,0 +1,19 @@
1
+ import { KlingV26ProTextToVideo } from './KlingV26Pro.text2video';
2
+ import { KlingV26ProImageToVideo } from './KlingV26Pro.image2video';
3
+ import { KlingO1ImageToVideo } from './KlingO1.image2video';
4
+ import { Veo31TextToVideo } from './Veo31.text2video';
5
+ import { Veo31ImageToVideo } from './Veo31.image2video';
6
+ declare const EachLabs: {
7
+ KlingV26ProTextToVideo: typeof KlingV26ProTextToVideo;
8
+ KlingV26ProImageToVideo: typeof KlingV26ProImageToVideo;
9
+ KlingO1ImageToVideo: typeof KlingO1ImageToVideo;
10
+ Veo31TextToVideo: typeof Veo31TextToVideo;
11
+ Veo31ImageToVideo: typeof Veo31ImageToVideo;
12
+ };
13
+ export default EachLabs;
14
+ export type { EachLabsProviderConfiguration } from './types';
15
+ export { KlingV26ProTextToVideo } from './KlingV26Pro.text2video';
16
+ export { KlingV26ProImageToVideo } from './KlingV26Pro.image2video';
17
+ export { KlingO1ImageToVideo } from './KlingO1.image2video';
18
+ export { Veo31TextToVideo } from './Veo31.text2video';
19
+ export { Veo31ImageToVideo } from './Veo31.image2video';
@@ -0,0 +1,142 @@
1
+ function jt(e,t){let{cesdk:r}=t,i=t.propertyKey??"image_url",n=pe(e);return r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Image To Change","ly.img.ai.imageSelection.selectImage.label":"Select Image","ly.img.ai.imageSelection.error.svg":"SVG images are not supported. Please choose a different image.","ly.img.ai.imageSelection.error.invalidType":"Only images are supported. Found '{mimeType}'. Please choose a different image."}}),_t(e,r),{[i]:(a,s)=>{let{builder:h,experimental:{global:d},payload:u}=a,l,o=a.providerConfig,c=a.config,f=o?.properties?.[s.id]??c?.properties?.[s.id];f?.default&&(typeof f.default=="function"?l=f.default({}):l=f.default);let I=l??u?.url??t.defaultUrl,w=d(`${e}.${s.id}`,I);return h.MediaPreview(s.id,{preview:{type:"image",uri:w.value},action:{label:"ly.img.ai.imageSelection.selectImage.label",onClick:()=>{r?.ui.openPanel(n,{payload:{onSelect:X=>{X.meta?.uri!=null&&w.setValue(X.meta?.uri)}}})}}}),()=>({id:s.id,type:"string",value:w.value})}}}function _t(e,t){t?.ui.registerPanel(pe(e),({builder:r,payload:i})=>{r.Library(`${e}.library.image`,{entries:["ly.img.image"],onSelect:async n=>{let a=n?.meta?.uri;if(a==null)return;let s=await t.engine.editor.getMimeType(a);s==="image/svg+xml"?t.ui.showNotification({type:"warning",message:"ly.img.ai.imageSelection.error.svg"}):s.startsWith("image/")?(i?.onSelect(n),t?.ui.closePanel(pe(e))):t.ui.showNotification({type:"warning",message:"ly.img.ai.imageSelection.error.invalidType"})}})})}function pe(e){return`ly.img.ai.${e}.imageSelection`}var $t=jt,Vt=class{constructor(e,t=[],r){this.id=e,this.translateLabel=r?.translateLabel,this.assets=t.map(i=>{if(typeof i.label=="string"&&!(i.label&&typeof i.label=="object")){let n=i;return{id:n.id,label:{en:n.label},meta:n.thumbUri?{...n.meta??{},thumbUri:n.thumbUri}:n.meta}}return i}),this.activeAssetIds=new Set,this.assets.length>0&&this.activeAssetIds.add(this.assets[0].id)}async findAssets(e){let{page:t,perPage:r,locale:i="en",sortActiveFirst:n,query:a,tags:s,groups:h,excludeGroups:d,sortingOrder:u,sortKey:l}=e,o=[...this.assets];if(h&&h.length>0&&(o=o.filter(p=>p.groups&&h.some(y=>p.groups?.includes(y)))),d&&d.length>0&&(o=o.filter(p=>!p.groups||!d.some(y=>p.groups?.includes(y)))),a){let p=a.toLowerCase();o=o.filter(y=>{let b=y.label?.[i]?.toLowerCase(),v=y.tags?.[i]||[];return b&&b.includes(p)||v.some(Lt=>Lt.toLowerCase().includes(p))})}if(s&&s.length>0){let p=Array.isArray(s)?s:[s];o=o.filter(y=>{let b=y.tags?.[i]||[];return p.some(v=>b.includes(v))})}n&&o.sort((p,y)=>{let b=this.activeAssetIds.has(p.id),v=this.activeAssetIds.has(y.id);return b&&!v?-1:!b&&v?1:0}),l&&l!=="id"?o.sort((p,y)=>{let b=p.meta?.[l],v=y.meta?.[l];return b===void 0?1:v===void 0?-1:typeof b=="string"&&typeof v=="string"?u==="Descending"?v.localeCompare(b):b.localeCompare(v):typeof b=="number"&&typeof v=="number"?u==="Descending"?v-b:b-v:0}):l==="id"&&o.sort((p,y)=>u==="Descending"?y.id.localeCompare(p.id):p.id.localeCompare(y.id));let c=o.length,f=t*r,I=f+r,w=o.slice(f,I).map(p=>{let y=p.label?.[i]||"",b=this.translateLabel?this.translateLabel(p.id,y,i):y;return{id:p.id,groups:p.groups,meta:p.meta,payload:p.payload,locale:i,label:b,tags:p.tags?.[i],active:this.activeAssetIds.has(p.id)}}),X=I<c?t+1:void 0;return{assets:w,currentPage:t,nextPage:X,total:c}}updateLabel(e,t,r){this.assets.forEach(i=>{i.id===e&&(i.label=i.label||{},i.label[r]=t)})}getAssetSelectValue(e){let t=this.assets.find(({id:r})=>r===e);if(t){let r=this.translateLabel?this.translateLabel(t.id,t.label?.en||"",""):t.label?.en||"";return{id:t.id,label:r,thumbUri:t.meta?.thumbUri}}}getActiveSelectValue(){let e=this.getActiveAssetIds();if(e.length>0){let t=this.assets.find(({id:r})=>r===e[0]);if(t){let r=this.translateLabel?this.translateLabel(t.id,t.label?.en||"",""):t.label?.en||"";return{id:t.id,label:r,thumbUri:t.meta?.thumbUri}}}}getTranslatedLabel(e){let t=this.assets.find(({id:r})=>r===e);if(t)return this.translateLabel?this.translateLabel(t.id,t.label?.en||"",""):t.label?.en||""}getAsset(e){return this.assets.find(t=>t.id===e)}setAssetActive(e){this.activeAssetIds.add(e)}getActiveAssetIds(){return Array.from(this.activeAssetIds)}setAssetsActive(e){e.forEach(t=>this.activeAssetIds.add(t))}setAssetInactive(e){this.activeAssetIds.delete(e)}clearActiveAssets(){this.activeAssetIds.clear()}isAssetActive(e){return this.activeAssetIds.has(e)}addAsset(e){let t=this.assets.findIndex(r=>r.id===e.id);t>=0?this.assets[t]=e:this.assets.push(e)}removeAsset(e){let t=this.assets.findIndex(r=>r.id===e);t!==-1&&(this.assets.splice(t,1),this.activeAssetIds.delete(e))}async getGroups(){let e=new Set;return this.assets.forEach(t=>{t.groups&&t.groups.forEach(r=>e.add(r))}),Array.from(e)}getSupportedMimeTypes(){return["image/jpeg","image/png","image/svg+xml","image/webp","video/mp4","audio/mpeg"]}};var Dt=typeof global=="object"&&global&&global.Object===Object&&global,Ze=Dt,Ot=typeof self=="object"&&self&&self.Object===Object&&self,Nt=Ze||Ot||Function("return this")(),x=Nt,Rt=x.Symbol,P=Rt,Qe=Object.prototype,zt=Qe.hasOwnProperty,Ft=Qe.toString,F=P?P.toStringTag:void 0;function Ut(e){var t=zt.call(e,F),r=e[F];try{e[F]=void 0;var i=!0}catch{}var n=Ft.call(e);return i&&(t?e[F]=r:delete e[F]),n}var Bt=Ut,Kt=Object.prototype,Gt=Kt.toString;function qt(e){return Gt.call(e)}var Ht=qt,Zt="[object Null]",Qt="[object Undefined]",_e=P?P.toStringTag:void 0;function Yt(e){return e==null?e===void 0?Qt:Zt:_e&&_e in Object(e)?Bt(e):Ht(e)}var G=Yt;function Wt(e){return e!=null&&typeof e=="object"}var be=Wt,Xs=Array.isArray;function Jt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ye=Jt,Xt="[object AsyncFunction]",er="[object Function]",tr="[object GeneratorFunction]",rr="[object Proxy]";function ir(e){if(!Ye(e))return!1;var t=G(e);return t==er||t==tr||t==Xt||t==rr}var nr=ir,or=x["__core-js_shared__"],ue=or,$e=function(){var e=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ar(e){return!!$e&&$e in e}var sr=ar,lr=Function.prototype,ur=lr.toString;function dr(e){if(e!=null){try{return ur.call(e)}catch{}try{return e+""}catch{}}return""}var C=dr,cr=/[\\^$.*+?()[\]{}|]/g,pr=/^\[object .+?Constructor\]$/,gr=Function.prototype,mr=Object.prototype,fr=gr.toString,hr=mr.hasOwnProperty,yr=RegExp("^"+fr.call(hr).replace(cr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function br(e){if(!Ye(e)||sr(e))return!1;var t=nr(e)?yr:pr;return t.test(C(e))}var vr=br;function wr(e,t){return e?.[t]}var kr=wr;function Ir(e,t){var r=kr(e,t);return vr(r)?r:void 0}var M=Ir,xr=M(x,"WeakMap"),ge=xr;function Ar(e,t){return e===t||e!==e&&t!==t}var Sr=Ar,Cr=9007199254740991;function Er(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Cr}var Tr=Er,el=Object.prototype,Pr="[object Arguments]";function Mr(e){return be(e)&&G(e)==Pr}var Ve=Mr,We=Object.prototype,Lr=We.hasOwnProperty,jr=We.propertyIsEnumerable,tl=Ve(function(){return arguments}())?Ve:function(e){return be(e)&&Lr.call(e,"callee")&&!jr.call(e,"callee")},Je=typeof exports=="object"&&exports&&!exports.nodeType&&exports,De=Je&&typeof module=="object"&&module&&!module.nodeType&&module,_r=De&&De.exports===Je,Oe=_r?x.Buffer:void 0,rl=Oe?Oe.isBuffer:void 0,$r="[object Arguments]",Vr="[object Array]",Dr="[object Boolean]",Or="[object Date]",Nr="[object Error]",Rr="[object Function]",zr="[object Map]",Fr="[object Number]",Ur="[object Object]",Br="[object RegExp]",Kr="[object Set]",Gr="[object String]",qr="[object WeakMap]",Hr="[object ArrayBuffer]",Zr="[object DataView]",Qr="[object Float32Array]",Yr="[object Float64Array]",Wr="[object Int8Array]",Jr="[object Int16Array]",Xr="[object Int32Array]",ei="[object Uint8Array]",ti="[object Uint8ClampedArray]",ri="[object Uint16Array]",ii="[object Uint32Array]",g={};g[Qr]=g[Yr]=g[Wr]=g[Jr]=g[Xr]=g[ei]=g[ti]=g[ri]=g[ii]=!0;g[$r]=g[Vr]=g[Hr]=g[Dr]=g[Zr]=g[Or]=g[Nr]=g[Rr]=g[zr]=g[Fr]=g[Ur]=g[Br]=g[Kr]=g[Gr]=g[qr]=!1;function ni(e){return be(e)&&Tr(e.length)&&!!g[G(e)]}var oi=ni;function ai(e){return function(t){return e(t)}}var si=ai,Xe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,U=Xe&&typeof module=="object"&&module&&!module.nodeType&&module,li=U&&U.exports===Xe,de=li&&Ze.process,ui=function(){try{var e=U&&U.require&&U.require("util").types;return e||de&&de.binding&&de.binding("util")}catch{}}(),Ne=ui,Re=Ne&&Ne.isTypedArray,il=Re?si(Re):oi,di=Object.prototype,nl=di.hasOwnProperty;function ci(e,t){return function(r){return e(t(r))}}var pi=ci,ol=pi(Object.keys,Object),gi=Object.prototype,al=gi.hasOwnProperty,mi=M(Object,"create"),B=mi;function fi(){this.__data__=B?B(null):{},this.size=0}var hi=fi;function yi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var bi=yi,vi="__lodash_hash_undefined__",wi=Object.prototype,ki=wi.hasOwnProperty;function Ii(e){var t=this.__data__;if(B){var r=t[e];return r===vi?void 0:r}return ki.call(t,e)?t[e]:void 0}var xi=Ii,Ai=Object.prototype,Si=Ai.hasOwnProperty;function Ci(e){var t=this.__data__;return B?t[e]!==void 0:Si.call(t,e)}var Ei=Ci,Ti="__lodash_hash_undefined__";function Pi(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=B&&t===void 0?Ti:t,this}var Mi=Pi;function L(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}L.prototype.clear=hi;L.prototype.delete=bi;L.prototype.get=xi;L.prototype.has=Ei;L.prototype.set=Mi;var ze=L;function Li(){this.__data__=[],this.size=0}var ji=Li;function _i(e,t){for(var r=e.length;r--;)if(Sr(e[r][0],t))return r;return-1}var ee=_i,$i=Array.prototype,Vi=$i.splice;function Di(e){var t=this.__data__,r=ee(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Vi.call(t,r,1),--this.size,!0}var Oi=Di;function Ni(e){var t=this.__data__,r=ee(t,e);return r<0?void 0:t[r][1]}var Ri=Ni;function zi(e){return ee(this.__data__,e)>-1}var Fi=zi;function Ui(e,t){var r=this.__data__,i=ee(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var Bi=Ui;function j(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}j.prototype.clear=ji;j.prototype.delete=Oi;j.prototype.get=Ri;j.prototype.has=Fi;j.prototype.set=Bi;var te=j,Ki=M(x,"Map"),K=Ki;function Gi(){this.size=0,this.__data__={hash:new ze,map:new(K||te),string:new ze}}var qi=Gi;function Hi(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Zi=Hi;function Qi(e,t){var r=e.__data__;return Zi(t)?r[typeof t=="string"?"string":"hash"]:r.map}var re=Qi;function Yi(e){var t=re(this,e).delete(e);return this.size-=t?1:0,t}var Wi=Yi;function Ji(e){return re(this,e).get(e)}var Xi=Ji;function en(e){return re(this,e).has(e)}var tn=en;function rn(e,t){var r=re(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var nn=rn;function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}_.prototype.clear=qi;_.prototype.delete=Wi;_.prototype.get=Xi;_.prototype.has=tn;_.prototype.set=nn;var et=_;function on(){this.__data__=new te,this.size=0}var an=on;function sn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ln=sn;function un(e){return this.__data__.get(e)}var dn=un;function cn(e){return this.__data__.has(e)}var pn=cn,gn=200;function mn(e,t){var r=this.__data__;if(r instanceof te){var i=r.__data__;if(!K||i.length<gn-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new et(i)}return r.set(e,t),this.size=r.size,this}var fn=mn;function q(e){var t=this.__data__=new te(e);this.size=t.size}q.prototype.clear=an;q.prototype.delete=ln;q.prototype.get=dn;q.prototype.has=pn;q.prototype.set=fn;var hn=Object.prototype,sl=hn.propertyIsEnumerable,yn=M(x,"DataView"),me=yn,bn=M(x,"Promise"),fe=bn,vn=M(x,"Set"),he=vn,Fe="[object Map]",wn="[object Object]",Ue="[object Promise]",Be="[object Set]",Ke="[object WeakMap]",Ge="[object DataView]",kn=C(me),In=C(K),xn=C(fe),An=C(he),Sn=C(ge),T=G;(me&&T(new me(new ArrayBuffer(1)))!=Ge||K&&T(new K)!=Fe||fe&&T(fe.resolve())!=Ue||he&&T(new he)!=Be||ge&&T(new ge)!=Ke)&&(T=function(e){var t=G(e),r=t==wn?e.constructor:void 0,i=r?C(r):"";if(i)switch(i){case kn:return Ge;case In:return Fe;case xn:return Ue;case An:return Be;case Sn:return Ke}return t});var ll=x.Uint8Array,Cn="__lodash_hash_undefined__";function En(e){return this.__data__.set(e,Cn),this}var Tn=En;function Pn(e){return this.__data__.has(e)}var Mn=Pn;function ye(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new et;++t<r;)this.add(e[t])}ye.prototype.add=ye.prototype.push=Tn;ye.prototype.has=Mn;var qe=P?P.prototype:void 0,ul=qe?qe.valueOf:void 0,Ln=Object.prototype,dl=Ln.hasOwnProperty,jn=Object.prototype,cl=jn.hasOwnProperty,pl=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),gl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),ml=new RegExp(/[A-Fa-f0-9]{2}/,"g");function _n(e){return e!==void 0}var $n=_n;function Vn(e){return e?.version?e.version.localeCompare("1.59.0",void 0,{numeric:!0,sensitivity:"base"})>=0&&typeof e.i18n?.translate=="function":!1}function Dn(e){return typeof e?.translate=="function"}function He(e,t,r){return e&&Vn(e)&&Dn(e.i18n)?e.i18n.translate(t):r}function On(e,t){let{cesdk:r}=t;if(r==null)return{};let i=t.propertyKey??"style",n=Rn(e);r.i18n.setTranslations({en:{[`panel.${n}`]:"Select Style",[`${e}.${i}`]:"Style","ly.img.ai.styleTransfer.none":"None","ly.img.ai.styleTransfer.anime":"Anime","ly.img.ai.styleTransfer.cyberpunk":"Cyberpunk","ly.img.ai.styleTransfer.kodak400":"Kodak 400","ly.img.ai.styleTransfer.watercolor":"Watercolor","ly.img.ai.styleTransfer.darkFantasy":"Dark Fantasy","ly.img.ai.styleTransfer.vaporwave":"Vaporwave","ly.img.ai.styleTransfer.vectorFlat":"Vector Flat","ly.img.ai.styleTransfer.3dAnimation":"3D Animation","ly.img.ai.styleTransfer.ukiyoe":"Ukiyo\u2011e","ly.img.ai.styleTransfer.surreal":"Surreal","ly.img.ai.styleTransfer.steampunk":"Steampunk","ly.img.ai.styleTransfer.nightBokeh":"Night Bokeh","ly.img.ai.styleTransfer.popArt":"Pop Art"}});let a=Fn({baseURL:t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-image-generation-web/v1/gpt-image-1/",includeNone:!0,cesdk:r}),s=a;t.styles!=null&&(Array.isArray(t.styles)?s=t.styles:typeof t.styles=="function"&&(s=t.styles(a)));let h=Un({cesdk:r,providerId:e,styles:s}),d=h.id;return Bn(h,{cesdk:r}),Nn({providerId:e,cesdk:r,panelId:n,entryId:d}),{[t.propertyKeyForPrompt??"prompt"]:(u,l)=>{let o=u.state("prompt","");return u.builder.TextArea(`${l.id}`,{inputLabel:t.i18n?.prompt?.inputLabel??t.propertyKeyForPrompt??"prompt",placeholder:t.i18n?.prompt?.placeholder,...o}),()=>{let[c]=h.getActiveAssetIds(),f=h.getAsset(c);return{id:l.id,type:"string",value:f?.meta?.prompt==null?o.value:`${o.value}; ${f.meta.prompt}`}}},[i]:(u,l)=>{let{builder:o,state:c}=u;if(s.length>0){let f=c("style",s[0]);return o.Button(`${l.id}`,{inputLabel:`${e}.${l.id}`,icon:"@imgly/Appearance",isDisabled:s.length===0,trailingIcon:"@imgly/ChevronRight",label:f.value.label,labelAlignment:"left",onClick:()=>{let I={onSelect:async w=>{h.clearActiveAssets(),h.setAssetActive(w.id),f.setValue({id:w.id,label:w.label??w.id}),r.ui.closePanel(n)}};r.ui.openPanel(n,{payload:I})}}),()=>({id:l.id,type:"string",value:f.value.id})}return()=>({id:l.id,type:"string",value:"none"})}}}function Nn(e){let{providerId:t,cesdk:r,panelId:i,entryId:n}=e;r?.ui.registerPanel(i,({builder:a,payload:s})=>{s?.onSelect==null&&a.Section(`${t}.error`,{children:()=>{a.Text("error",{content:"No onSelect function provided for the style selection panel."})}}),a.Library(`${t}.library.image`,{entries:[n],onSelect:async h=>{s?.onSelect?.(h)}})})}function Rn(e){return`ly.img.ai.${e}.styleSelection`}var zn=[{id:"none",labelKey:"ly.img.ai.styleTransfer.none",prompt:""},{id:"anime-celshaded",labelKey:"ly.img.ai.styleTransfer.anime",prompt:"anime cel\u2011shaded, bright pastel palette, expressive eyes, clean line art "},{id:"cyberpunk-neon",labelKey:"ly.img.ai.styleTransfer.cyberpunk",prompt:"cyberpunk cityscape, glowing neon signage, reflective puddles, dark atmosphere"},{id:"kodak-portra-400",labelKey:"ly.img.ai.styleTransfer.kodak400",prompt:"shot on Kodak Portra 400, soft grain, golden\u2011hour warmth, 35 mm photo"},{id:"watercolor-storybook",labelKey:"ly.img.ai.styleTransfer.watercolor",prompt:"loose watercolor washes, gentle gradients, dreamy storybook feel"},{id:"dark-fantasy-realism",labelKey:"ly.img.ai.styleTransfer.darkFantasy",prompt:"dark fantasy realm, moody chiaroscuro lighting, hyper\u2011real textures"},{id:"vaporwave-retrofuturism",labelKey:"ly.img.ai.styleTransfer.vaporwave",prompt:"retro\u2011futuristic vaporwave, pastel sunset gradient, chrome text, VHS scanlines"},{id:"minimal-vector-flat",labelKey:"ly.img.ai.styleTransfer.vectorFlat",prompt:"minimalist flat vector illustration, bold geometry, two\u2011tone palette"},{id:"pixarstyle-3d-render",labelKey:"ly.img.ai.styleTransfer.3dAnimation",prompt:"Pixar\u2011style 3D render, oversized eyes, subtle subsurface scattering, cinematic lighting"},{id:"ukiyoe-woodblock",labelKey:"ly.img.ai.styleTransfer.ukiyoe",prompt:"ukiyo\u2011e woodblock print, Edo\u2011period style, visible washi texture, limited color ink"},{id:"surreal-dreamscape",labelKey:"ly.img.ai.styleTransfer.surreal",prompt:"surreal dreamscape, floating objects, impossible architecture, vivid clouds"},{id:"steampunk-victorian",labelKey:"ly.img.ai.styleTransfer.steampunk",prompt:"Victorian steampunk world, ornate brass gears, leather attire, atmospheric fog"},{id:"nightstreet-photo-bokeh",labelKey:"ly.img.ai.styleTransfer.nightBokeh",prompt:"night\u2011time street shot, large aperture bokeh lights, candid urban mood"},{id:"comicbook-pop-art",labelKey:"ly.img.ai.styleTransfer.popArt",prompt:"classic comic\u2011book panel, halftone shading, exaggerated action lines, CMYK pop colors"}];function Fn(e){return zn.map(t=>t.id==="none"?e.includeNone?{id:t.id,label:He(e.cesdk,t.labelKey,t.labelKey),prompt:t.prompt,thumbUri:`${e.baseURL}/thumbnails/None.svg`}:void 0:{id:t.id,label:He(e.cesdk,t.labelKey,t.labelKey),prompt:t.prompt,thumbUri:`${e.baseURL}/thumbnails/${t.id}.jpeg`}).filter($n)}var Un=e=>{let t=e.styles.map(s=>({...s,meta:{prompt:s.prompt}})),r=e.cesdk.engine.asset.findAllSources(),i=`${e.providerId}/styles`;for(;r.includes(i);)i+=`-${Math.random().toString(36).substring(2,5)}`;let n=new Vt(i,t),a=e.styles[0];return n.setAssetActive(a.id),n},Bn=(e,t)=>{t.cesdk.engine.asset.addSource(e),t.cesdk.ui.addAssetLibraryEntry({id:e.id,sourceIds:[e.id],gridItemHeight:"square",gridBackgroundType:"cover",cardLabel:({label:r})=>r,cardLabelPosition:()=>"below"})},Kn=On;var Gn="ly.img.ai";function A(e){return`${Gn}.${e}`}function ie(e,t,r){let i=`${t}.iconSetAdded`;e.ui.experimental.hasGlobalStateValue(i)||(e.ui.addIconSet(t,r),e.ui.experimental.setGlobalStateValue(i,!0))}function tt(e,t){let r={...e};if(!t)return r;for(let[i,n]of Object.entries(t))n===!1||n===null||n===void 0?delete r[i]:n===!0?i in e||(r[i]=!0):r[i]=n;return r}var ce="@imgly/plugin-ai-generation",fl=`
2
+ <svg>
3
+ <symbol
4
+ fill="none"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ viewBox="0 0 24 24"
7
+ id="@imgly/Sparkle"
8
+ >
9
+ <path d="M5.35545 2.06745C5.24149 1.72556 4.7579 1.72556 4.64394 2.06745L4.05898 3.82232C4.02166 3.93429 3.9338 4.02215 3.82184 4.05948L2.06694 4.64459C1.72506 4.75858 1.72509 5.24217 2.06699 5.3561L3.82179 5.9409C3.93378 5.97822 4.02166 6.06609 4.05899 6.17808L4.64394 7.93291C4.7579 8.2748 5.24149 8.2748 5.35545 7.93291L5.9404 6.17806C5.97773 6.06608 6.06559 5.97821 6.17757 5.94089L7.93242 5.35594C8.27431 5.24198 8.27431 4.75839 7.93242 4.64442L6.17757 4.05947C6.06559 4.02215 5.97773 3.93428 5.9404 3.8223L5.35545 2.06745Z" fill="currentColor"/>
10
+ <path d="M17.9632 3.23614C17.8026 2.80788 17.1968 2.80788 17.0362 3.23614L16.0787 5.78951C16.0285 5.92337 15.9229 6.02899 15.789 6.07918L13.2356 7.0367C12.8074 7.19729 12.8074 7.80307 13.2356 7.96366L15.789 8.92118C15.9229 8.97138 16.0285 9.077 16.0787 9.21085L17.0362 11.7642C17.1968 12.1925 17.8026 12.1925 17.9632 11.7642L18.9207 9.21086C18.9709 9.077 19.0765 8.97138 19.2104 8.92118L21.7637 7.96366C22.192 7.80307 22.192 7.1973 21.7637 7.0367L19.2104 6.07918C19.0765 6.02899 18.9709 5.92337 18.9207 5.78951L17.9632 3.23614Z" fill="currentColor"/>
11
+ <path d="M9.30058 7.82012C9.54712 7.1791 10.454 7.1791 10.7006 7.82012L12.3809 12.189C12.4571 12.3871 12.6136 12.5436 12.8117 12.6198L17.1806 14.3001C17.8216 14.5466 17.8216 15.4536 17.1806 15.7001L12.8117 17.3804C12.6136 17.4566 12.4571 17.6131 12.3809 17.8112L10.7006 22.1801C10.454 22.8211 9.54712 22.8211 9.30058 22.1801L7.62024 17.8112C7.54406 17.6131 7.38754 17.4566 7.18947 17.3804L2.82061 15.7001C2.17959 15.4536 2.17959 14.5466 2.82061 14.3001L7.18947 12.6198C7.38754 12.5436 7.54406 12.3871 7.62024 12.189L9.30058 7.82012Z" fill="currentColor"/>
12
+
13
+ </symbol>
14
+
15
+ <symbol
16
+ fill="none"
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ viewBox="0 0 24 24"
19
+ id="${ce}/image"
20
+ >
21
+ <path d="M3 16.5V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3L17.999 5C18.5513 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V16.5H3Z" fill="currentColor"/>
22
+ <path d="M13.0982 0.884877C12.9734 0.568323 12.5254 0.568322 12.4005 0.884876L11.7485 2.53819C11.7104 2.63483 11.6339 2.71134 11.5372 2.74945L9.8839 3.40151C9.56735 3.52636 9.56734 3.97436 9.8839 4.09921L11.5372 4.75126C11.6339 4.78938 11.7104 4.86588 11.7485 4.96253L12.4005 6.61584C12.5254 6.93239 12.9734 6.9324 13.0982 6.61584L13.7503 4.96253C13.7884 4.86588 13.8649 4.78938 13.9616 4.75126L15.6149 4.09921C15.9314 3.97436 15.9314 3.52636 15.6149 3.40151L13.9616 2.74945C13.8649 2.71134 13.7884 2.63483 13.7503 2.53819L13.0982 0.884877Z" fill="currentColor"/>
23
+ <path d="M6.40053 5.38488C6.52538 5.06832 6.97338 5.06832 7.09823 5.38488L8.17455 8.11392C8.21267 8.21057 8.28917 8.28707 8.38582 8.32519L11.1149 9.40151C11.4314 9.52636 11.4314 9.97436 11.1149 10.0992L8.38582 11.1755C8.28917 11.2136 8.21267 11.2901 8.17455 11.3868L7.09823 14.1158C6.97338 14.4324 6.52538 14.4324 6.40053 14.1158L5.32421 11.3868C5.2861 11.2901 5.20959 11.2136 5.11295 11.1755L2.3839 10.0992C2.06735 9.97436 2.06735 9.52636 2.3839 9.40151L5.11295 8.32519C5.20959 8.28707 5.2861 8.21057 5.32421 8.11392L6.40053 5.38488Z" fill="currentColor"/>
24
+ <path d="M18.9994 16.5008V18.0004C18.9994 18.5526 18.5517 19.0004 17.9994 19.0004H9.33302L14.3753 11.4369C14.6722 10.9916 15.3266 10.9916 15.6234 11.4369L18.9994 16.5008Z" fill="currentColor"/>
25
+
26
+ </symbol>
27
+ <symbol
28
+ fill="none"
29
+ xmlns="http://www.w3.org/2000/svg"
30
+ viewBox="0 0 24 24"
31
+ id="${ce}/video"
32
+ >
33
+ <path d="M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V16.5H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5V3Z" fill="currentColor"/>
34
+ <path d="M10.9025 0.8839C11.0273 0.567345 11.4753 0.567346 11.6002 0.883901L12.2522 2.53721C12.2904 2.63386 12.3669 2.71036 12.4635 2.74848L14.1168 3.40053C14.4334 3.52538 14.4334 3.97338 14.1168 4.09823L12.4635 4.75029C12.3669 4.7884 12.2904 4.86491 12.2522 4.96155L11.6002 6.61486C11.4753 6.93142 11.0273 6.93142 10.9025 6.61486L10.2504 4.96155C10.2123 4.86491 10.1358 4.7884 10.0392 4.75029L8.38585 4.09823C8.0693 3.97338 8.0693 3.52538 8.38585 3.40053L10.0392 2.74848C10.1358 2.71036 10.2123 2.63386 10.2504 2.53721L10.9025 0.8839Z" fill="currentColor"/>
35
+ <path d="M18.9019 3.3845C19.0267 3.06795 19.4747 3.06795 19.5996 3.3845L20.6759 6.11355C20.714 6.2102 20.7905 6.2867 20.8872 6.32482L23.6162 7.40114C23.9328 7.52598 23.9328 7.97399 23.6162 8.09883L20.8872 9.17515C20.7905 9.21327 20.714 9.28977 20.6759 9.38642L19.5996 12.1155C19.4747 12.432 19.0267 12.432 18.9019 12.1155L17.8255 9.38642C17.7874 9.28977 17.7109 9.21327 17.6143 9.17515L14.8852 8.09883C14.5687 7.97399 14.5687 7.52598 14.8852 7.40114L17.6143 6.32482C17.7109 6.2867 17.7874 6.2102 17.8255 6.11355L18.9019 3.3845Z" fill="currentColor"/>
36
+ <path d="M14.9994 13.2862C15.5089 12.8859 15.5089 12.1141 14.9995 11.7137L10.618 8.27047C9.96188 7.75485 9.00011 8.22225 9.00011 9.05673L9.00011 15.9429C9.00011 16.7773 9.96185 17.2448 10.618 16.7292L14.9994 13.2862Z" fill="currentColor"/>
37
+ </symbol>
38
+ <symbol
39
+ fill="none"
40
+ xmlns="http://www.w3.org/2000/svg"
41
+ viewBox="0 0 24 24"
42
+ id="${ce}/audio"
43
+ >
44
+ <path d="M6 3.80273C4.2066 4.84016 3 6.77919 3 9.00004V12.8153C3 15.931 5.39501 18.4873 8.44444 18.7436V20.9645C8.44444 22.2198 9.89427 22.9198 10.8773 22.1392L15.1265 18.7647H15.5C17.8285 18.7647 19.8472 17.4384 20.8417 15.5H18.4187C17.6889 16.2784 16.6512 16.7647 15.5 16.7647H14.9522C14.6134 16.7647 14.2846 16.8794 14.0193 17.0901L10.4444 19.929V18.2597C10.4444 17.4341 9.77513 16.7647 8.9495 16.7647C7.80494 16.7647 6.77409 16.2779 6.05276 15.5H6V15.4419C5.37798 14.7439 5 13.8237 5 12.8153V9.00004C5 7.98559 5.37764 7.05935 6 6.35422V3.80273Z" fill="currentColor"/>
45
+ <path d="M11.6002 1.8839C11.4753 1.56735 11.0273 1.56735 10.9025 1.8839L10.2504 3.53721C10.2123 3.63386 10.1358 3.71036 10.0392 3.74848L8.38585 4.40053C8.0693 4.52538 8.0693 4.97338 8.38585 5.09823L10.0392 5.75029C10.1358 5.7884 10.2123 5.86491 10.2504 5.96155L10.9025 7.61486C11.0273 7.93142 11.4753 7.93142 11.6002 7.61486L12.2522 5.96155C12.2904 5.86491 12.3669 5.7884 12.4635 5.75029L14.1168 5.09823C14.4334 4.97338 14.4334 4.52538 14.1168 4.40053L12.4635 3.74848C12.3669 3.71036 12.2904 3.63386 12.2522 3.53721L11.6002 1.8839Z" fill="currentColor"/>
46
+ <path d="M19.5996 4.3845C19.4747 4.06795 19.0267 4.06795 18.9019 4.3845L17.8255 7.11355C17.7874 7.2102 17.7109 7.2867 17.6143 7.32482L14.8852 8.40114C14.5687 8.52598 14.5687 8.97399 14.8852 9.09883L17.6143 10.1752C17.7109 10.2133 17.7874 10.2898 17.8255 10.3864L18.9019 13.1155C19.0267 13.432 19.4747 13.432 19.5996 13.1155L20.6759 10.3864C20.714 10.2898 20.7905 10.2133 20.8872 10.1752L23.6162 9.09883C23.9328 8.97399 23.9328 8.52598 23.6162 8.40114L20.8872 7.32482C20.7905 7.2867 20.714 7.2102 20.6759 7.11355L19.5996 4.3845Z" fill="currentColor"/>
47
+ </symbol>
48
+ <symbol
49
+ fill="none"
50
+ xmlns="http://www.w3.org/2000/svg"
51
+ viewBox="0 0 24 24"
52
+ id="@imgly/MixingPlate"
53
+ >
54
+ <path d="M9.75 9C10.5784 9 11.25 8.32843 11.25 7.5C11.25 6.67157 10.5784 6 9.75 6C8.92157 6 8.25 6.67157 8.25 7.5C8.25 8.32843 8.92157 9 9.75 9Z" fill="currentColor"/>
55
+ <path d="M7 13C7.82843 13 8.5 12.3284 8.5 11.5C8.5 10.6716 7.82843 10 7 10C6.17157 10 5.5 10.6716 5.5 11.5C5.5 12.3284 6.17157 13 7 13Z" fill="currentColor"/>
56
+ <path d="M15.75 7.5C15.75 8.32843 15.0784 9 14.25 9C13.4216 9 12.75 8.32843 12.75 7.5C12.75 6.67157 13.4216 6 14.25 6C15.0784 6 15.75 6.67157 15.75 7.5Z" fill="currentColor"/>
57
+ <path d="M17 13C17.8284 13 18.5 12.3284 18.5 11.5C18.5 10.6716 17.8284 10 17 10C16.1716 10 15.5 10.6716 15.5 11.5C15.5 12.3284 16.1716 13 17 13Z" fill="currentColor"/>
58
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.26309 2.77709C10.6681 1.77921 13.4829 1.7322 15.9209 2.64297C18.1572 3.47923 20.0876 5.09285 21.1766 7.28598C22.3395 9.62772 22.4889 13.1077 20.3864 15.2982C19.2693 16.4621 17.7657 16.9982 16.0026 16.9997C15.7897 16.9997 15.5555 16.9864 15.3497 16.9745C15.309 16.9722 15.2694 16.9699 15.2313 16.9679C14.9817 16.9542 14.761 16.9455 14.5569 16.9539C14.124 16.9718 13.9598 17.0612 13.89 17.1324C13.718 17.3081 13.6946 17.6672 13.8854 17.8895C14.2899 18.3608 14.5016 18.9277 14.5016 19.5497C14.5016 20.2206 14.3086 20.9011 13.7542 21.3896C13.2471 21.837 12.6082 21.9997 11.9635 21.9997C10.6049 21.9997 9.31155 21.7367 8.0934 21.2067C6.89058 20.6831 5.84501 19.9687 4.94363 19.0666C4.04281 18.1651 3.31836 17.107 2.79369 15.8978C1.72761 13.4409 1.72662 10.5261 2.81247 8.07034C3.88024 5.65548 5.84206 3.78161 8.26309 2.77709ZM15.2207 4.51639C13.2556 3.78239 10.9651 3.82132 9.02956 4.62439C7.06888 5.43791 5.49559 6.94785 4.64163 8.87914C3.78373 10.8194 3.78253 13.1522 4.62841 15.1017C5.05312 16.0805 5.63511 16.9291 6.35838 17.6529C7.08102 18.3761 7.91671 18.9484 8.89123 19.3728C9.8492 19.7895 10.87 19.9997 11.9635 19.9997C12.2815 19.9997 12.394 19.9225 12.431 19.8899L12.4319 19.8891C12.4367 19.8849 12.4487 19.8743 12.4631 19.8359C12.4799 19.7911 12.5016 19.7024 12.5016 19.5497C12.5016 19.4091 12.4633 19.3034 12.3677 19.192C11.5353 18.222 11.5272 16.6868 12.4611 15.7331C13.0741 15.1071 13.8844 14.98 14.4745 14.9556C14.7819 14.943 15.085 14.9568 15.3409 14.9709C15.3906 14.9736 15.4379 14.9763 15.4832 14.9788C15.6876 14.9904 15.8508 14.9997 16.0009 14.9997C17.3405 14.9986 18.2792 14.6054 18.9435 13.9133C20.2633 12.5382 20.3186 10.055 19.3853 8.1755C18.5436 6.48051 17.0293 5.19281 15.2207 4.51639Z" fill="currentColor"/>
59
+
60
+ </symbol>
61
+ </svg>
62
+ `;var rt={ImageUrl:$t,StyleTransfer:Kn};var qn=`
63
+ <svg>
64
+ <symbol
65
+ fill="none"
66
+ xmlns="http://www.w3.org/2000/svg"
67
+ viewBox="0 0 24 24"
68
+ id="@imgly/plugin/formats/ratioFree"
69
+ >
70
+ <path d="M7 6C6.44772 6 6 6.44772 6 7V9.22222H4V7C4 5.34315 5.34315 4 7 4H9.22222V6H7Z" fill="currentColor"/>
71
+ <path d="M17 6H14.7778V4H17C18.6569 4 20 5.34315 20 7V9.22222H18V7C18 6.44772 17.5523 6 17 6Z" fill="currentColor"/>
72
+ <path d="M6 14.7778V17C6 17.5523 6.44772 18 7 18H9.22222V20H7C5.34315 20 4 18.6569 4 17V14.7778H6Z" fill="currentColor"/>
73
+ <path d="M18 17V14.7778H20V17C20 18.6569 18.6569 20 17 20H14.7778V18H17C17.5523 18 18 17.5523 18 17Z" fill="currentColor"/>
74
+ </symbol>
75
+ <symbol
76
+ fill="none"
77
+ xmlns="http://www.w3.org/2000/svg"
78
+ viewBox="0 0 24 24"
79
+ id="@imgly/plugin/formats/ratio4by3"
80
+ >
81
+ <path d="M6.5 13H8V15H10V16.5H6.5V13Z" fill="currentColor"/>
82
+ <path d="M14 9V7.5H17.5V11H16V9H14Z" fill="currentColor"/>
83
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4C4.34315 4 3 5.34315 3 7V17C3 18.6569 4.34315 20 6 20H18C19.6569 20 21 18.6569 21 17V7C21 5.34315 19.6569 4 18 4H6ZM5 7C5 6.44772 5.44772 6 6 6H18C18.5523 6 19 6.44772 19 7V17C19 17.5523 18.5523 18 18 18H6C5.44772 18 5 17.5523 5 17V7Z" fill="currentColor"/>
84
+ </symbol>
85
+ <symbol
86
+ fill="none"
87
+ xmlns="http://www.w3.org/2000/svg"
88
+ viewBox="0 0 24 24"
89
+ id="@imgly/plugin/formats/ratio16by9"
90
+ >
91
+ <path d="M4.5 13H6V15H8V16.5H4.5V13Z" fill="currentColor"/>
92
+ <path d="M16 9V7.5H19.5V11H18V9H16Z" fill="currentColor"/>
93
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M4 4C2.34315 4 1 5.34315 1 7V17C1 18.6569 2.34315 20 4 20H20C21.6569 20 23 18.6569 23 17V7C23 5.34315 21.6569 4 20 4H4ZM3 7C3 6.44772 3.44772 6 4 6H20C20.5523 6 21 6.44772 21 7V17C21 17.5523 20.5523 18 20 18H4C3.44772 18 3 17.5523 3 17V7Z" fill="currentColor"/>
94
+ </symbol>
95
+ <symbol
96
+ fill="none"
97
+ xmlns="http://www.w3.org/2000/svg"
98
+ viewBox="0 0 24 24"
99
+ id="@imgly/plugin/formats/ratio9by16"
100
+ >
101
+ <path d="M7.5 16H9V18H11V19.5H7.5V16Z" fill="currentColor"/>
102
+ <path d="M13 6V4.5H16.5V8H15V6H13Z" fill="currentColor"/>
103
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M4 20C4 21.6569 5.34315 23 7 23H17C18.6569 23 20 21.6569 20 20V4C20 2.34315 18.6569 1 17 1H7C5.34315 1 4 2.34315 4 4V20ZM7 21C6.44772 21 6 20.5523 6 20V4C6 3.44772 6.44772 3 7 3H17C17.5523 3 18 3.44772 18 4V20C18 20.5523 17.5523 21 17 21H7Z" fill="currentColor"/>
104
+ </symbol>
105
+ <symbol
106
+ fill="none"
107
+ xmlns="http://www.w3.org/2000/svg"
108
+ viewBox="0 0 24 24"
109
+ id="@imgly/plugin/formats/ratio3by4"
110
+ >
111
+ <path d="M11 17.5V16H9V14H7.5V17.5H11Z" fill="currentColor"/>
112
+ <path d="M15 10H16.5V6.5H13V8H15V10Z" fill="currentColor"/>
113
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20 18C20 19.6569 18.6569 21 17 21H7C5.34315 21 4 19.6569 4 18V6C4 4.34315 5.34315 3 7 3H17C18.6569 3 20 4.34315 20 6V18ZM17 19C17.5523 19 18 18.5523 18 18V6C18 5.44772 17.5523 5 17 5H7C6.44771 5 6 5.44771 6 6V18C6 18.5523 6.44772 19 7 19H17Z" fill="currentColor"/>
114
+ </symbol>
115
+ <symbol
116
+ fill="none"
117
+ xmlns="http://www.w3.org/2000/svg"
118
+ viewBox="0 0 24 24"
119
+ id="@imgly/plugin/formats/ratio1by1"
120
+ >
121
+ <path d="M17.4142 8.00009L16 6.58587L14.2929 8.29298L15.7071 9.70719L17.4142 8.00009Z" fill="currentColor"/>
122
+ <path d="M13.0404 12.3739L15.0404 10.3739L13.6262 8.95965L11.6262 10.9596L13.0404 12.3739Z" fill="currentColor"/>
123
+ <path d="M10.3737 15.0405L12.3737 13.0405L10.9595 11.6263L8.95953 13.6263L10.3737 15.0405Z" fill="currentColor"/>
124
+ <path d="M9.70708 15.7072L8.29286 14.293L6.58576 16.0001L7.99997 17.4143L9.70708 15.7072Z" fill="currentColor"/>
125
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M7 4C5.34315 4 4 5.34315 4 7V17C4 18.6569 5.34315 20 7 20H17C18.6569 20 20 18.6569 20 17V7C20 5.34315 18.6569 4 17 4H7ZM6 7C6 6.44772 6.44772 6 7 6H17C17.5523 6 18 6.44772 18 7V17C18 17.5523 17.5523 18 17 18H7C6.44772 18 6 17.5523 6 17V7Z" fill="currentColor"/>
126
+ </symbol>
127
+ </svg>
128
+ `;var Hn=typeof global=="object"&&global&&global.Object===Object&&global,yt=Hn,Zn=typeof self=="object"&&self&&self.Object===Object&&self,Qn=yt||Zn||Function("return this")(),S=Qn,Yn=S.Symbol,V=Yn,bt=Object.prototype,Wn=bt.hasOwnProperty,Jn=bt.toString,H=V?V.toStringTag:void 0;function Xn(e){var t=Wn.call(e,H),r=e[H];try{e[H]=void 0;var i=!0}catch{}var n=Jn.call(e);return i&&(t?e[H]=r:delete e[H]),n}var eo=Xn,to=Object.prototype,ro=to.toString;function io(e){return ro.call(e)}var no=io,oo="[object Null]",ao="[object Undefined]",it=V?V.toStringTag:void 0;function so(e){return e==null?e===void 0?ao:oo:it&&it in Object(e)?eo(e):no(e)}var W=so;function lo(e){return e!=null&&typeof e=="object"}var Ce=lo,bl=Array.isArray;function uo(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var vt=uo,co="[object AsyncFunction]",po="[object Function]",go="[object GeneratorFunction]",mo="[object Proxy]";function fo(e){if(!vt(e))return!1;var t=W(e);return t==po||t==go||t==co||t==mo}var ho=fo,yo=S["__core-js_shared__"],ve=yo,nt=function(){var e=/[^.]+$/.exec(ve&&ve.keys&&ve.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function bo(e){return!!nt&&nt in e}var vo=bo,wo=Function.prototype,ko=wo.toString;function Io(e){if(e!=null){try{return ko.call(e)}catch{}try{return e+""}catch{}}return""}var E=Io,xo=/[\\^$.*+?()[\]{}|]/g,Ao=/^\[object .+?Constructor\]$/,So=Function.prototype,Co=Object.prototype,Eo=So.toString,To=Co.hasOwnProperty,Po=RegExp("^"+Eo.call(To).replace(xo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Mo(e){if(!vt(e)||vo(e))return!1;var t=ho(e)?Po:Ao;return t.test(E(e))}var Lo=Mo;function jo(e,t){return e?.[t]}var _o=jo;function $o(e,t){var r=_o(e,t);return Lo(r)?r:void 0}var D=$o,Vo=D(S,"WeakMap"),ke=Vo;function Do(e,t){return e===t||e!==e&&t!==t}var Oo=Do,No=9007199254740991;function Ro(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=No}var zo=Ro;var vl=Object.prototype;var Fo="[object Arguments]";function Uo(e){return Ce(e)&&W(e)==Fo}var ot=Uo,wt=Object.prototype,Bo=wt.hasOwnProperty,Ko=wt.propertyIsEnumerable,wl=ot(function(){return arguments}())?ot:function(e){return Ce(e)&&Bo.call(e,"callee")&&!Ko.call(e,"callee")};var kt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,at=kt&&typeof module=="object"&&module&&!module.nodeType&&module,Go=at&&at.exports===kt,st=Go?S.Buffer:void 0,kl=st?st.isBuffer:void 0;var qo="[object Arguments]",Ho="[object Array]",Zo="[object Boolean]",Qo="[object Date]",Yo="[object Error]",Wo="[object Function]",Jo="[object Map]",Xo="[object Number]",ea="[object Object]",ta="[object RegExp]",ra="[object Set]",ia="[object String]",na="[object WeakMap]",oa="[object ArrayBuffer]",aa="[object DataView]",sa="[object Float32Array]",la="[object Float64Array]",ua="[object Int8Array]",da="[object Int16Array]",ca="[object Int32Array]",pa="[object Uint8Array]",ga="[object Uint8ClampedArray]",ma="[object Uint16Array]",fa="[object Uint32Array]",m={};m[sa]=m[la]=m[ua]=m[da]=m[ca]=m[pa]=m[ga]=m[ma]=m[fa]=!0;m[qo]=m[Ho]=m[oa]=m[Zo]=m[aa]=m[Qo]=m[Yo]=m[Wo]=m[Jo]=m[Xo]=m[ea]=m[ta]=m[ra]=m[ia]=m[na]=!1;function ha(e){return Ce(e)&&zo(e.length)&&!!m[W(e)]}var ya=ha;function ba(e){return function(t){return e(t)}}var va=ba,It=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Z=It&&typeof module=="object"&&module&&!module.nodeType&&module,wa=Z&&Z.exports===It,we=wa&&yt.process,ka=function(){try{var e=Z&&Z.require&&Z.require("util").types;return e||we&&we.binding&&we.binding("util")}catch{}}(),lt=ka,ut=lt&&lt.isTypedArray,Il=ut?va(ut):ya;var Ia=Object.prototype,xl=Ia.hasOwnProperty;function xa(e,t){return function(r){return e(t(r))}}var Aa=xa,Al=Aa(Object.keys,Object);var Sa=Object.prototype,Sl=Sa.hasOwnProperty;var Ca=D(Object,"create"),Q=Ca;function Ea(){this.__data__=Q?Q(null):{},this.size=0}var Ta=Ea;function Pa(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ma=Pa,La="__lodash_hash_undefined__",ja=Object.prototype,_a=ja.hasOwnProperty;function $a(e){var t=this.__data__;if(Q){var r=t[e];return r===La?void 0:r}return _a.call(t,e)?t[e]:void 0}var Va=$a,Da=Object.prototype,Oa=Da.hasOwnProperty;function Na(e){var t=this.__data__;return Q?t[e]!==void 0:Oa.call(t,e)}var Ra=Na,za="__lodash_hash_undefined__";function Fa(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Q&&t===void 0?za:t,this}var Ua=Fa;function O(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}O.prototype.clear=Ta;O.prototype.delete=Ma;O.prototype.get=Va;O.prototype.has=Ra;O.prototype.set=Ua;var dt=O;function Ba(){this.__data__=[],this.size=0}var Ka=Ba;function Ga(e,t){for(var r=e.length;r--;)if(Oo(e[r][0],t))return r;return-1}var ne=Ga,qa=Array.prototype,Ha=qa.splice;function Za(e){var t=this.__data__,r=ne(t,e);if(r<0)return!1;var i=t.length-1;return r==i?t.pop():Ha.call(t,r,1),--this.size,!0}var Qa=Za;function Ya(e){var t=this.__data__,r=ne(t,e);return r<0?void 0:t[r][1]}var Wa=Ya;function Ja(e){return ne(this.__data__,e)>-1}var Xa=Ja;function es(e,t){var r=this.__data__,i=ne(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}var ts=es;function N(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}N.prototype.clear=Ka;N.prototype.delete=Qa;N.prototype.get=Wa;N.prototype.has=Xa;N.prototype.set=ts;var oe=N,rs=D(S,"Map"),Y=rs;function is(){this.size=0,this.__data__={hash:new dt,map:new(Y||oe),string:new dt}}var ns=is;function os(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var as=os;function ss(e,t){var r=e.__data__;return as(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ae=ss;function ls(e){var t=ae(this,e).delete(e);return this.size-=t?1:0,t}var us=ls;function ds(e){return ae(this,e).get(e)}var cs=ds;function ps(e){return ae(this,e).has(e)}var gs=ps;function ms(e,t){var r=ae(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}var fs=ms;function R(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var i=e[t];this.set(i[0],i[1])}}R.prototype.clear=ns;R.prototype.delete=us;R.prototype.get=cs;R.prototype.has=gs;R.prototype.set=fs;var xt=R;function hs(){this.__data__=new oe,this.size=0}var ys=hs;function bs(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var vs=bs;function ws(e){return this.__data__.get(e)}var ks=ws;function Is(e){return this.__data__.has(e)}var xs=Is,As=200;function Ss(e,t){var r=this.__data__;if(r instanceof oe){var i=r.__data__;if(!Y||i.length<As-1)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new xt(i)}return r.set(e,t),this.size=r.size,this}var Cs=Ss;function J(e){var t=this.__data__=new oe(e);this.size=t.size}J.prototype.clear=ys;J.prototype.delete=vs;J.prototype.get=ks;J.prototype.has=xs;J.prototype.set=Cs;var Es=Object.prototype,Cl=Es.propertyIsEnumerable;var Ts=D(S,"DataView"),Ie=Ts,Ps=D(S,"Promise"),xe=Ps,Ms=D(S,"Set"),Ae=Ms,ct="[object Map]",Ls="[object Object]",pt="[object Promise]",gt="[object Set]",mt="[object WeakMap]",ft="[object DataView]",js=E(Ie),_s=E(Y),$s=E(xe),Vs=E(Ae),Ds=E(ke),$=W;(Ie&&$(new Ie(new ArrayBuffer(1)))!=ft||Y&&$(new Y)!=ct||xe&&$(xe.resolve())!=pt||Ae&&$(new Ae)!=gt||ke&&$(new ke)!=mt)&&($=function(e){var t=W(e),r=t==Ls?e.constructor:void 0,i=r?E(r):"";if(i)switch(i){case js:return ft;case _s:return ct;case $s:return pt;case Vs:return gt;case Ds:return mt}return t});var El=S.Uint8Array;var Os="__lodash_hash_undefined__";function Ns(e){return this.__data__.set(e,Os),this}var Rs=Ns;function zs(e){return this.__data__.has(e)}var Fs=zs;function Se(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new xt;++t<r;)this.add(e[t])}Se.prototype.add=Se.prototype.push=Rs;Se.prototype.has=Fs;var ht=V?V.prototype:void 0,Tl=ht?ht.valueOf:void 0;var Us=Object.prototype,Pl=Us.hasOwnProperty;var Bs=Object.prototype,Ml=Bs.hasOwnProperty;var Ll=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),jl=new RegExp(/[A-Fa-f0-9]{1}/,"g"),_l=new RegExp(/[A-Fa-f0-9]{2}/,"g");function Ee(e){return{"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg"}[e]??"png"}async function Ks(e,t){if(e.startsWith("buffer:")){let r=await t.editor.getMimeType(e),i=t.editor.getBufferLength(e),n=t.editor.getBufferData(e,0,i),a=new Uint8Array(n),s=new Blob([a],{type:r});return URL.createObjectURL(s)}else return e}async function z(e,t){let r=await Ks(e,t);return new Promise((i,n)=>{let a=new Image;a.onload=()=>{i({width:a.width,height:a.height})},a.onerror=n,a.src=r})}var se={Formats:qn};var At={openapi:"3.0.0",info:{title:"EachLabs Kling v2.6 Pro Text to Video API",version:"1.0.0",description:"Kling v2.6 Pro text-to-video generation via EachLabs"},components:{schemas:{KlingV26ProTextToVideoInput:{title:"KlingV26ProTextToVideoInput",type:"object",properties:{prompt:{title:"Prompt",type:"string",description:"User's video generation instruction",minLength:1,"x-imgly-builder":{component:"TextArea"}},duration:{title:"Duration",type:"string",enum:["5","10"],default:"10",description:"The duration of the generated video in seconds","x-imgly-enum-labels":{"5":"5 seconds","10":"10 seconds"}},aspect_ratio:{title:"Aspect Ratio",type:"string",enum:["16:9","9:16","1:1"],default:"16:9",description:"The aspect ratio of the generated video frame","x-imgly-enum-labels":{"16:9":"Landscape (16:9)","9:16":"Portrait (9:16)","1:1":"Square (1:1)"},"x-imgly-enum-icons":{"16:9":"@imgly/plugin/formats/ratio16by9","9:16":"@imgly/plugin/formats/ratio9by16","1:1":"@imgly/plugin/formats/ratio1by1"}}},"x-fal-order-properties":["prompt","duration","aspect_ratio"],required:["prompt"]}}},paths:{}};function St(e,t){let r={"Content-Type":"application/json",...t};async function i(d,u){let l=await fetch(`${e}/v1/prediction`,{method:"POST",headers:r,body:JSON.stringify({model:d.model,version:d.version,input:d.input}),signal:u});if(!l.ok){let c=await l.text().catch(()=>"Unknown error");throw new Error(`EachLabs API error: ${l.status} - ${c}`)}let o=await l.json();if(!o.predictionID)throw new Error("EachLabs API did not return a prediction ID");return o.predictionID}async function n(d,u){let l=await fetch(`${e}/v1/prediction/${d}`,{method:"GET",headers:r,signal:u});if(!l.ok){let o=await l.text().catch(()=>"Unknown error");throw new Error(`EachLabs API error: ${l.status} - ${o}`)}return l.json()}async function a(d,u){let l=0;for(;l<200;){if(u?.aborted)throw new Error("Request aborted");let o=await n(d,u);if(o.status==="success")return o;if(o.status==="failed")throw new Error(o.error??"Prediction failed");if(o.status==="cancelled")throw new Error("Prediction was cancelled");if(o.status==="error"){let c=o.error??(typeof o.output=="string"?o.output:null)??"Prediction error";throw new Error(c)}await new Promise(c=>{setTimeout(c,3e3)}),l++}throw new Error("Prediction timed out")}function s(d){if(!d)return[];if(typeof d=="string")return d.startsWith("http")?[d]:[];if(Array.isArray(d))return d.filter(o=>typeof o=="string"&&o.startsWith("http"));let u=d;if(typeof u.video=="string"&&u.video.startsWith("http"))return[u.video];if(Array.isArray(u.videos)&&u.videos.length>0)return u.videos.filter(o=>typeof o=="string"&&o.startsWith("http"));let l=["url","video_url","result","output"];for(let o of l){let c=u[o];if(typeof c=="string"&&c.startsWith("http"))return[c];if(Array.isArray(c)){let f=c.filter(I=>typeof I=="string"&&I.startsWith("http"));if(f.length>0)return f}}return[]}async function h(d){let u=new FormData;u.append("file",d);let l=`${e}/api/v1/upload`,o=await fetch(l,{method:"POST",headers:{...Object.fromEntries(Object.entries(r).filter(([f])=>f.toLowerCase()!=="content-type"))},body:u});if(!o.ok){let f=await o.text().catch(()=>"Unknown error");throw new Error(`EachLabs storage upload error: ${o.status} - ${f}`)}let c=await o.json();if(!c.url)throw new Error("EachLabs storage did not return a URL");return c.url}return{storage:{upload:h},videoInference:async(d,u)=>{let l=await i(d,u),o=await a(l,u),c=s(o.output);if(c.length===0)throw console.error("EachLabs response:",o),new Error("No videos found in EachLabs response");return c.map(f=>({videoURL:f}))}}}async function Ct(e,t,r){if(t!=null){if(t.startsWith("blob:")){let i=r!=null?await r.engine.editor.getMimeType(t):"image/png",a=await(await fetch(t)).blob(),s=new File([a],`image.${Ee(i)}`,{type:i});return e.storage.upload(s)}if(r!=null&&t.startsWith("buffer:")){let i=await r.engine.editor.getMimeType(t),n=r.engine.editor.getBufferLength(t),a=r.engine.editor.getBufferData(t,0,n),s=new Uint8Array(a),h=new File([s],`image.${Ee(i)}`,{type:i});return e.storage.upload(h)}return t}}function qs(e,t){let r=e.middleware??t.middlewares??[],i=null,n={id:e.providerId,kind:"video",name:e.name,configuration:t,initialize:async a=>{i=St(t.proxyUrl,e.headers),e.initialize?.(a)},input:{quickActions:{supported:tt(e.supportedQuickActions??{},t.supportedQuickActions)},panel:{type:"schema",document:e.schema,inputReference:e.inputReference,includeHistoryLibrary:!0,orderExtensionKeyword:"x-fal-order-properties",renderCustomProperty:{...e.cesdk!=null?rt.ImageUrl(e.providerId,{cesdk:e.cesdk}):{},...e.renderCustomProperty},getBlockInput:e.getBlockInput,userFlow:e.useFlow??"placeholder"}},output:{abortable:!0,middleware:r,history:t.history??"@imgly/indexedDB",generate:async(a,{abortSignal:s})=>{if(!i)throw new Error("Provider not initialized");let h=a;if(a.image_url!=null){let l=await Ct(i,a.image_url,e.cesdk);h={...a,image_url:l}}let d=e.mapInput(h),u=await i.videoInference({model:e.modelSlug,version:e.modelVersion,input:d},s);if(u!=null&&Array.isArray(u)&&u.length>0){let o=u[0]?.videoURL;if(o!=null)return{kind:"video",url:o}}throw console.error("Cannot extract generated video from response:",u),new Error("Cannot find generated video")},generationHintText:"ly.img.ai.video.generation.hint"}};return t.debug&&console.log("Created EachLabs Video Provider:",n),n}var k=qs;var Hs={"16:9":{width:1280,height:720},"9:16":{width:720,height:1280},"1:1":{width:1024,height:1024},"4:3":{width:1024,height:768},"3:4":{width:768,height:1024},"21:9":{width:1344,height:576},"9:21":{width:576,height:1344}};function le(e){return Hs[e]??{width:1280,height:720}}function Te(e){return async({cesdk:t})=>(ie(t,"@imgly/plugin/formats",se.Formats),k({modelSlug:"kling-v2-6-pro-text-to-video",modelVersion:"0.0.1",providerId:"eachlabs/kling-v2-6-pro-text-to-video",name:"Kling v2.6 Pro",schema:At,inputReference:"#/components/schemas/KlingV26ProTextToVideoInput",cesdk:t,getBlockInput:r=>{let i=r.aspect_ratio??"16:9",{width:n,height:a}=le(i),s=r.duration!=null?parseInt(r.duration,10):10;return Promise.resolve({video:{width:n,height:a,duration:s}})},mapInput:r=>({prompt:r.prompt,duration:r.duration??"10",aspect_ratio:r.aspect_ratio??"16:9",generate_audio:!0,negative_prompt:"blur, distort, and low quality",cfg_scale:.5})},e))}var Et={openapi:"3.0.0",info:{title:"EachLabs Kling v2.6 Pro Image to Video API",version:"1.0.0",description:"Kling v2.6 Pro image-to-video generation via EachLabs"},components:{schemas:{KlingV26ProImageToVideoInput:{title:"KlingV26ProImageToVideoInput",type:"object",properties:{image_url:{title:"Input Image",type:"string",format:"uri",description:"URL of the image to be used for the video","x-imgly-builder":{component:"ImageUrl"}},prompt:{title:"Prompt",type:"string",description:"Motion/action description for video generation","x-imgly-builder":{component:"TextArea"}},duration:{title:"Duration",type:"string",enum:["5","10"],default:"5",description:"The duration of the generated video in seconds","x-imgly-enum-labels":{"5":"5 seconds","10":"10 seconds"}}},"x-fal-order-properties":["image_url","prompt","duration"],required:["image_url","prompt"]}}},paths:{}};function Pe(e){return async({cesdk:t})=>{let r="eachlabs/kling-v2-6-pro-image-to-video";return t.i18n.setTranslations({en:{[`panel.${A(r)}.imageSelection`]:"Select Image To Animate",[`libraries.${A(r)}.history.label`]:"Generated From Image"}}),k({modelSlug:"kling-v2-6-pro-image-to-video",modelVersion:"0.0.1",providerId:r,name:"Kling v2.6 Pro",schema:Et,inputReference:"#/components/schemas/KlingV26ProImageToVideoInput",cesdk:t,supportedQuickActions:{"ly.img.createVideo":{mapInput:i=>({image_url:i.uri,prompt:""})}},getBlockInput:async i=>{let{width:n,height:a}=await z(i.image_url,t.engine),s=i.duration!=null?parseInt(i.duration,10):5;return{video:{width:n,height:a,duration:s}}},mapInput:i=>({image_url:i.image_url,prompt:i.prompt,duration:i.duration??"5",generate_audio:!0,negative_prompt:"blur, distort, and low quality"})},e)}}var Tt={openapi:"3.0.0",info:{title:"EachLabs Kling O1 Image to Video API",version:"1.0.0",description:"Kling O1 image-to-video generation via EachLabs"},components:{schemas:{KlingO1ImageToVideoInput:{title:"KlingO1ImageToVideoInput",type:"object",properties:{image_url:{title:"Input Image",type:"string",format:"uri",description:"URL of the image to be used as the start frame","x-imgly-builder":{component:"ImageUrl"}},prompt:{title:"Prompt",type:"string",description:"Motion/action description for video generation","x-imgly-builder":{component:"TextArea"}},duration:{title:"Duration",type:"string",enum:["5","10"],default:"5",description:"The duration of the generated video in seconds","x-imgly-enum-labels":{"5":"5 seconds","10":"10 seconds"}}},"x-fal-order-properties":["image_url","prompt","duration"],required:["image_url","prompt"]}}},paths:{}};function Me(e){return async({cesdk:t})=>{let r="eachlabs/kling-o1-image-to-video";return t.i18n.setTranslations({en:{[`panel.${A(r)}.imageSelection`]:"Select Image To Animate",[`libraries.${A(r)}.history.label`]:"Generated From Image"}}),k({modelSlug:"kling-o1-image-to-video",modelVersion:"0.0.1",providerId:r,name:"Kling O1",schema:Tt,inputReference:"#/components/schemas/KlingO1ImageToVideoInput",cesdk:t,supportedQuickActions:{"ly.img.createVideo":{mapInput:i=>({image_url:i.uri,prompt:""})}},getBlockInput:async i=>{let{width:n,height:a}=await z(i.image_url,t.engine),s=i.duration!=null?parseInt(i.duration,10):5;return{video:{width:n,height:a,duration:s}}},mapInput:i=>({start_image_url:i.image_url,prompt:i.prompt,duration:i.duration??"5"})},e)}}var Pt={openapi:"3.0.0",info:{title:"EachLabs Veo 3.1 Text to Video API",version:"1.0.0",description:"Google Veo 3.1 text-to-video generation via EachLabs"},components:{schemas:{Veo31TextToVideoInput:{title:"Veo31TextToVideoInput",type:"object",properties:{prompt:{title:"Prompt",type:"string",description:"The text prompt describing the video you want to generate",minLength:1,"x-imgly-builder":{component:"TextArea"}},aspect_ratio:{title:"Aspect Ratio",type:"string",enum:["16:9","9:16"],default:"16:9",description:"The aspect ratio of the generated video","x-imgly-enum-labels":{"16:9":"Landscape (16:9)","9:16":"Portrait (9:16)"},"x-imgly-enum-icons":{"16:9":"@imgly/plugin/formats/ratio16by9","9:16":"@imgly/plugin/formats/ratio9by16"}},resolution:{title:"Resolution",type:"string",enum:["720p","1080p"],default:"720p",description:"The resolution of the generated video","x-imgly-enum-labels":{"720p":"720p","1080p":"1080p"}},generate_audio:{title:"Generate Audio",type:"boolean",default:!0,description:"Whether to generate audio for the video"}},"x-fal-order-properties":["prompt","aspect_ratio","resolution","generate_audio"],required:["prompt"]}}},paths:{}};function Le(e){return async({cesdk:t})=>(ie(t,"@imgly/plugin/formats",se.Formats),k({modelSlug:"veo3-1-text-to-video",modelVersion:"0.0.1",providerId:"eachlabs/veo3-1-text-to-video",name:"Veo 3.1",schema:Pt,inputReference:"#/components/schemas/Veo31TextToVideoInput",cesdk:t,getBlockInput:r=>{let i=r.aspect_ratio??"16:9",{width:n,height:a}=le(i);return Promise.resolve({video:{width:n,height:a,duration:8}})},mapInput:r=>({prompt:r.prompt,aspect_ratio:r.aspect_ratio??"16:9",resolution:r.resolution??"720p",generate_audio:r.generate_audio??!0,duration:8,auto_fix:!0,enhance_prompt:!0})},e))}var Mt={openapi:"3.0.0",info:{title:"EachLabs Veo 3.1 Image to Video API",version:"1.0.0",description:"Google Veo 3.1 image-to-video generation via EachLabs"},components:{schemas:{Veo31ImageToVideoInput:{title:"Veo31ImageToVideoInput",type:"object",properties:{image_url:{title:"Input Image",type:"string",format:"uri",description:"URL of the input image to animate","x-imgly-builder":{component:"ImageUrl"}},prompt:{title:"Prompt",type:"string",description:"The text prompt describing the video you want to generate","x-imgly-builder":{component:"TextArea"}},resolution:{title:"Resolution",type:"string",enum:["720p","1080p"],default:"720p",description:"The resolution of the generated video","x-imgly-enum-labels":{"720p":"720p","1080p":"1080p"}},generate_audio:{title:"Generate Audio",type:"boolean",default:!0,description:"Whether to generate audio for the video"}},"x-fal-order-properties":["image_url","prompt","resolution","generate_audio"],required:["image_url","prompt"]}}},paths:{}};function je(e){return async({cesdk:t})=>{let r="eachlabs/veo3-1-image-to-video";return t.i18n.setTranslations({en:{[`panel.${A(r)}.imageSelection`]:"Select Image To Animate",[`libraries.${A(r)}.history.label`]:"Generated From Image"}}),k({modelSlug:"veo3-1-image-to-video",modelVersion:"0.0.1",providerId:r,name:"Veo 3.1",schema:Mt,inputReference:"#/components/schemas/Veo31ImageToVideoInput",cesdk:t,supportedQuickActions:{"ly.img.createVideo":{mapInput:i=>({image_url:i.uri,prompt:""})}},getBlockInput:async i=>{let{width:n,height:a}=await z(i.image_url,t.engine);return{video:{width:n,height:a,duration:8}}},mapInput:i=>({image_url:i.image_url,prompt:i.prompt,resolution:i.resolution??"720p",generate_audio:i.generate_audio??!0,duration:8,auto_fix:!0,aspect_ratio:"16:9"})},e)}}var Js={KlingV26ProTextToVideo:Te,KlingV26ProImageToVideo:Pe,KlingO1ImageToVideo:Me,Veo31TextToVideo:Le,Veo31ImageToVideo:je},$u=Js;export{Me as KlingO1ImageToVideo,Pe as KlingV26ProImageToVideo,Te as KlingV26ProTextToVideo,je as Veo31ImageToVideo,Le as Veo31TextToVideo,$u as default};
129
+ /*! Bundled license information:
130
+
131
+ lodash-es/lodash.js:
132
+ (**
133
+ * @license
134
+ * Lodash (Custom Build) <https://lodash.com/>
135
+ * Build: `lodash modularize exports="es" -o ./`
136
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
137
+ * Released under MIT license <https://lodash.com/license>
138
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
139
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
140
+ *)
141
+ */
142
+ //# sourceMappingURL=index.mjs.map