@imgly/plugin-ai-audio-generation-web 0.2.2 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.2.4] - 2025-08-07
6
+
7
+ ### New Features
8
+
9
+ - [all] **Provider Label Translations**: Added support for provider label translations
10
+ - [all] **Extended Provider Configuration**: Added support for `history` and `supportedQuickActions` configuration fields in `CommonProviderConfiguration`, allowing customers to:
11
+ - Override provider's default history asset source (`history` field) - can be set to `false` to disable history, `'@imgly/local'` for temporary storage, `'@imgly/indexedDB'` for persistent browser storage, or any custom asset source ID
12
+ - Configure supported quick actions (`supportedQuickActions` field) - can disable quick actions by setting to `false`/`null`, keep defaults with `true`, or override with custom mappings and configurations
13
+ - Both fields are optional and maintain backward compatibility with existing provider configurations
14
+ - [generation-web] **Utility Function**: Added `mergeQuickActionsConfig` utility function for merging provider defaults with user configuration overrides, exported from `@imgly/plugin-ai-generation-web` with comprehensive Jest test coverage
15
+
16
+ ## [0.2.3] - 2025-07-23
17
+
18
+ - [all] **Automatic History Asset Library Entries**: Composite history asset sources now automatically have corresponding asset library entries created with the same IDs (e.g., `ly.img.ai.image-generation.history`)
19
+ - [all] **Provider Selection in Expanded Quick Actions**: When a quick action is expanded, users can now switch between all providers that support that specific quick action, enhancing flexibility in provider selection
20
+ - [all] **Quick Action Can Disable Lock**: Some quick actions can now decide to not lock the block when operating on a block. Examples are `CreateVariant` and `CombineImages`.
21
+ - [image-generation] **Ideogram V3**: Added support for Ideogram V3 provider for image generation, which supports text-to-image and image-to-image generation
22
+
5
23
  ## [0.2.2] - 2025-07-16
6
24
 
7
25
  - [ai-apps] Fix issue with undefined `cesdk` instance
package/README.md CHANGED
@@ -147,6 +147,18 @@ Key features:
147
147
  - Natural-sounding speech
148
148
  - Custom headers support for API requests
149
149
 
150
+ **Custom Translations:**
151
+
152
+ ```typescript
153
+ cesdk.i18n.setTranslations({
154
+ en: {
155
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.prompt': 'Enter text to convert to speech',
156
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.voice_id': 'Select Voice',
157
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.speed': 'Playback Speed'
158
+ }
159
+ });
160
+ ```
161
+
150
162
  #### 2. ElevenSoundEffects (Text-to-Sound)
151
163
 
152
164
  A sound effect generator that creates audio from text descriptions:
@@ -169,6 +181,51 @@ Key features:
169
181
  - Automatic thumbnails and duration detection
170
182
  - Custom headers support for API requests
171
183
 
184
+ **Custom Translations:**
185
+
186
+ ```typescript
187
+ cesdk.i18n.setTranslations({
188
+ en: {
189
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/sound-generation.property.prompt': 'Describe the sound you want to create',
190
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/sound-generation.property.duration': 'Audio Length'
191
+ }
192
+ });
193
+ ```
194
+
195
+ ### Customizing Labels and Translations
196
+
197
+ You can customize all labels and text in the AI audio generation interface using the translation system. This allows you to provide better labels for your users in any language.
198
+
199
+ #### Translation Key Structure
200
+
201
+ The system checks for translations in this order (highest to lowest priority):
202
+
203
+ 1. **Provider-specific**: `ly.img.plugin-ai-audio-generation-web.${provider}.property.${field}` - Override labels for a specific AI provider
204
+ 2. **Generic**: `ly.img.plugin-ai-generation-web.property.${field}` - Override labels for all AI plugins
205
+
206
+ #### Basic Example
207
+
208
+ ```typescript
209
+ // Customize labels for your AI audio generation interface
210
+ cesdk.i18n.setTranslations({
211
+ en: {
212
+ // Generic labels (applies to ALL AI plugins)
213
+ 'ly.img.plugin-ai-generation-web.property.prompt': 'Describe what you want to create',
214
+ 'ly.img.plugin-ai-generation-web.property.voice_id': 'Voice Selection',
215
+ 'ly.img.plugin-ai-generation-web.property.speed': 'Speaking Speed',
216
+
217
+ // Provider-specific for ElevenMultilingualV2
218
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.prompt': 'Enter text to speak',
219
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.voice_id': 'Choose Voice',
220
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/monolingual/v1.property.speed': 'Speech Speed',
221
+
222
+ // Provider-specific for ElevenSoundEffects
223
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/sound-generation.property.prompt': 'Describe the sound effect',
224
+ 'ly.img.plugin-ai-audio-generation-web.elevenlabs/sound-generation.property.duration': 'Sound Duration'
225
+ }
226
+ });
227
+ ```
228
+
172
229
  ### Configuration Options
173
230
 
174
231
  The plugin accepts the following configuration options:
@@ -335,6 +392,10 @@ Generated audio files are automatically stored in asset sources with the followi
335
392
  - Text-to-Speech: `elevenlabs/monolingual/v1.history`
336
393
  - Sound Effects: `elevenlabs/sound-generation.history`
337
394
 
395
+ ## Translations
396
+
397
+ For customization and localization, see the [translations.json](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-audio-generation-web/translations.json) file which contains provider-specific translation keys for audio generation interfaces.
398
+
338
399
  ## Related Packages
339
400
 
340
401
  - [@imgly/plugin-ai-generation-web](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-generation-web) - Core utilities for AI generation
@@ -1,4 +1,4 @@
1
- var Le=typeof global=="object"&&global&&global.Object===Object&&global,ge=Le,De=typeof self=="object"&&self&&self.Object===Object&&self,Pe=ge||De||Function("return this")(),g=Pe,$e=g.Symbol,k=$e,me=Object.prototype,Ne=me.hasOwnProperty,Oe=me.toString,E=k?k.toStringTag:void 0;function _e(e){var t=Ne.call(e,E),i=e[E];try{e[E]=void 0;var r=!0}catch{}var n=Oe.call(e);return r&&(t?e[E]=i:delete e[E]),n}var ze=_e,Ue=Object.prototype,Re=Ue.toString;function Be(e){return Re.call(e)}var Fe=Be,Ve="[object Null]",qe="[object Undefined]",J=k?k.toStringTag:void 0;function Ge(e){return e==null?e===void 0?qe:Ve:J&&J in Object(e)?ze(e):Fe(e)}var D=Ge;function Ye(e){return e!=null&&typeof e=="object"}var W=Ye,zr=Array.isArray;function Qe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var be=Qe,Ke="[object AsyncFunction]",He="[object Function]",Ze="[object GeneratorFunction]",We="[object Proxy]";function Xe(e){if(!be(e))return!1;var t=D(e);return t==He||t==Ze||t==Ke||t==We}var Je=Xe,et=g["__core-js_shared__"],V=et,ee=function(){var e=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tt(e){return!!ee&&ee in e}var it=tt,rt=Function.prototype,nt=rt.toString;function ot(e){if(e!=null){try{return nt.call(e)}catch{}try{return e+""}catch{}}return""}var y=ot,at=/[\\^$.*+?()[\]{}|]/g,lt=/^\[object .+?Constructor\]$/,st=Function.prototype,ut=Object.prototype,dt=st.toString,ct=ut.hasOwnProperty,pt=RegExp("^"+dt.call(ct).replace(at,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gt(e){if(!be(e)||it(e))return!1;var t=Je(e)?pt:lt;return t.test(y(e))}var mt=gt;function bt(e,t){return e?.[t]}var yt=bt;function ft(e,t){var i=yt(e,t);return mt(i)?i:void 0}var I=ft,ht=I(g,"WeakMap"),Y=ht;function vt(e,t){return e===t||e!==e&&t!==t}var wt=vt,kt=9007199254740991;function It(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kt}var xt=It,Ur=Object.prototype,At="[object Arguments]";function Ct(e){return W(e)&&D(e)==At}var te=Ct,ye=Object.prototype,St=ye.hasOwnProperty,Mt=ye.propertyIsEnumerable,Rr=te(function(){return arguments}())?te:function(e){return W(e)&&St.call(e,"callee")&&!Mt.call(e,"callee")},fe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ie=fe&&typeof module=="object"&&module&&!module.nodeType&&module,Et=ie&&ie.exports===fe,re=Et?g.Buffer:void 0,Br=re?re.isBuffer:void 0,Tt="[object Arguments]",jt="[object Array]",Lt="[object Boolean]",Dt="[object Date]",Pt="[object Error]",$t="[object Function]",Nt="[object Map]",Ot="[object Number]",_t="[object Object]",zt="[object RegExp]",Ut="[object Set]",Rt="[object String]",Bt="[object WeakMap]",Ft="[object ArrayBuffer]",Vt="[object DataView]",qt="[object Float32Array]",Gt="[object Float64Array]",Yt="[object Int8Array]",Qt="[object Int16Array]",Kt="[object Int32Array]",Ht="[object Uint8Array]",Zt="[object Uint8ClampedArray]",Wt="[object Uint16Array]",Xt="[object Uint32Array]",o={};o[qt]=o[Gt]=o[Yt]=o[Qt]=o[Kt]=o[Ht]=o[Zt]=o[Wt]=o[Xt]=!0;o[Tt]=o[jt]=o[Ft]=o[Lt]=o[Vt]=o[Dt]=o[Pt]=o[$t]=o[Nt]=o[Ot]=o[_t]=o[zt]=o[Ut]=o[Rt]=o[Bt]=!1;function Jt(e){return W(e)&&xt(e.length)&&!!o[D(e)]}var ei=Jt;function ti(e){return function(t){return e(t)}}var ii=ti,he=typeof exports=="object"&&exports&&!exports.nodeType&&exports,T=he&&typeof module=="object"&&module&&!module.nodeType&&module,ri=T&&T.exports===he,q=ri&&ge.process,ni=function(){try{var e=T&&T.require&&T.require("util").types;return e||q&&q.binding&&q.binding("util")}catch{}}(),ne=ni,oe=ne&&ne.isTypedArray,Fr=oe?ii(oe):ei,oi=Object.prototype,Vr=oi.hasOwnProperty;function ai(e,t){return function(i){return e(t(i))}}var li=ai,qr=li(Object.keys,Object),si=Object.prototype,Gr=si.hasOwnProperty,ui=I(Object,"create"),j=ui;function di(){this.__data__=j?j(null):{},this.size=0}var ci=di;function pi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gi=pi,mi="__lodash_hash_undefined__",bi=Object.prototype,yi=bi.hasOwnProperty;function fi(e){var t=this.__data__;if(j){var i=t[e];return i===mi?void 0:i}return yi.call(t,e)?t[e]:void 0}var hi=fi,vi=Object.prototype,wi=vi.hasOwnProperty;function ki(e){var t=this.__data__;return j?t[e]!==void 0:wi.call(t,e)}var Ii=ki,xi="__lodash_hash_undefined__";function Ai(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=j&&t===void 0?xi:t,this}var Ci=Ai;function x(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}x.prototype.clear=ci;x.prototype.delete=gi;x.prototype.get=hi;x.prototype.has=Ii;x.prototype.set=Ci;var ae=x;function Si(){this.__data__=[],this.size=0}var Mi=Si;function Ei(e,t){for(var i=e.length;i--;)if(wt(e[i][0],t))return i;return-1}var O=Ei,Ti=Array.prototype,ji=Ti.splice;function Li(e){var t=this.__data__,i=O(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():ji.call(t,i,1),--this.size,!0}var Di=Li;function Pi(e){var t=this.__data__,i=O(t,e);return i<0?void 0:t[i][1]}var $i=Pi;function Ni(e){return O(this.__data__,e)>-1}var Oi=Ni;function _i(e,t){var i=this.__data__,r=O(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var zi=_i;function A(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}A.prototype.clear=Mi;A.prototype.delete=Di;A.prototype.get=$i;A.prototype.has=Oi;A.prototype.set=zi;var _=A,Ui=I(g,"Map"),L=Ui;function Ri(){this.size=0,this.__data__={hash:new ae,map:new(L||_),string:new ae}}var Bi=Ri;function Fi(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Vi=Fi;function qi(e,t){var i=e.__data__;return Vi(t)?i[typeof t=="string"?"string":"hash"]:i.map}var z=qi;function Gi(e){var t=z(this,e).delete(e);return this.size-=t?1:0,t}var Yi=Gi;function Qi(e){return z(this,e).get(e)}var Ki=Qi;function Hi(e){return z(this,e).has(e)}var Zi=Hi;function Wi(e,t){var i=z(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Xi=Wi;function C(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}C.prototype.clear=Bi;C.prototype.delete=Yi;C.prototype.get=Ki;C.prototype.has=Zi;C.prototype.set=Xi;var ve=C;function Ji(){this.__data__=new _,this.size=0}var er=Ji;function tr(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var ir=tr;function rr(e){return this.__data__.get(e)}var nr=rr;function or(e){return this.__data__.has(e)}var ar=or,lr=200;function sr(e,t){var i=this.__data__;if(i instanceof _){var r=i.__data__;if(!L||r.length<lr-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new ve(r)}return i.set(e,t),this.size=i.size,this}var ur=sr;function P(e){var t=this.__data__=new _(e);this.size=t.size}P.prototype.clear=er;P.prototype.delete=ir;P.prototype.get=nr;P.prototype.has=ar;P.prototype.set=ur;var dr=Object.prototype,Yr=dr.propertyIsEnumerable,cr=I(g,"DataView"),Q=cr,pr=I(g,"Promise"),K=pr,gr=I(g,"Set"),H=gr,le="[object Map]",mr="[object Object]",se="[object Promise]",ue="[object Set]",de="[object WeakMap]",ce="[object DataView]",br=y(Q),yr=y(L),fr=y(K),hr=y(H),vr=y(Y),w=D;(Q&&w(new Q(new ArrayBuffer(1)))!=ce||L&&w(new L)!=le||K&&w(K.resolve())!=se||H&&w(new H)!=ue||Y&&w(new Y)!=de)&&(w=function(e){var t=D(e),i=t==mr?e.constructor:void 0,r=i?y(i):"";if(r)switch(r){case br:return ce;case yr:return le;case fr:return se;case hr:return ue;case vr:return de}return t});var Qr=g.Uint8Array,wr="__lodash_hash_undefined__";function kr(e){return this.__data__.set(e,wr),this}var Ir=kr;function xr(e){return this.__data__.has(e)}var Ar=xr;function Z(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new ve;++t<i;)this.add(e[t])}Z.prototype.add=Z.prototype.push=Ir;Z.prototype.has=Ar;var pe=k?k.prototype:void 0,Kr=pe?pe.valueOf:void 0,Cr=Object.prototype,Hr=Cr.hasOwnProperty,Sr=Object.prototype,Zr=Sr.hasOwnProperty,Wr=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Xr=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Jr=new RegExp(/[A-Fa-f0-9]{2}/,"g");var Mr="ly.img.ai";function we(e){return`${Mr}.${e}`}var G="@imgly/plugin-ai-generation",en=`
1
+ var je=typeof global=="object"&&global&&global.Object===Object&&global,ge=je,Le=typeof self=="object"&&self&&self.Object===Object&&self,De=ge||Le||Function("return this")(),g=De,Pe=g.Symbol,k=Pe,me=Object.prototype,Ne=me.hasOwnProperty,Oe=me.toString,E=k?k.toStringTag:void 0;function _e(e){var t=Ne.call(e,E),i=e[E];try{e[E]=void 0;var r=!0}catch{}var n=Oe.call(e);return r&&(t?e[E]=i:delete e[E]),n}var ze=_e,Ue=Object.prototype,Re=Ue.toString;function Be(e){return Re.call(e)}var Fe=Be,Ve="[object Null]",qe="[object Undefined]",J=k?k.toStringTag:void 0;function Ge(e){return e==null?e===void 0?qe:Ve:J&&J in Object(e)?ze(e):Fe(e)}var L=Ge;function Ye(e){return e!=null&&typeof e=="object"}var Z=Ye,zr=Array.isArray;function Qe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var be=Qe,He="[object AsyncFunction]",Ke="[object Function]",We="[object GeneratorFunction]",Ze="[object Proxy]";function Xe(e){if(!be(e))return!1;var t=L(e);return t==Ke||t==We||t==He||t==Ze}var Je=Xe,et=g["__core-js_shared__"],V=et,ee=function(){var e=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function tt(e){return!!ee&&ee in e}var it=tt,rt=Function.prototype,nt=rt.toString;function ot(e){if(e!=null){try{return nt.call(e)}catch{}try{return e+""}catch{}}return""}var y=ot,at=/[\\^$.*+?()[\]{}|]/g,lt=/^\[object .+?Constructor\]$/,st=Function.prototype,ut=Object.prototype,dt=st.toString,ct=ut.hasOwnProperty,pt=RegExp("^"+dt.call(ct).replace(at,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gt(e){if(!be(e)||it(e))return!1;var t=Je(e)?pt:lt;return t.test(y(e))}var mt=gt;function bt(e,t){return e?.[t]}var yt=bt;function ft(e,t){var i=yt(e,t);return mt(i)?i:void 0}var I=ft,ht=I(g,"WeakMap"),Y=ht;function vt(e,t){return e===t||e!==e&&t!==t}var wt=vt,kt=9007199254740991;function It(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kt}var xt=It,Ur=Object.prototype,At="[object Arguments]";function Ct(e){return Z(e)&&L(e)==At}var te=Ct,ye=Object.prototype,St=ye.hasOwnProperty,Mt=ye.propertyIsEnumerable,Rr=te(function(){return arguments}())?te:function(e){return Z(e)&&St.call(e,"callee")&&!Mt.call(e,"callee")},fe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ie=fe&&typeof module=="object"&&module&&!module.nodeType&&module,Et=ie&&ie.exports===fe,re=Et?g.Buffer:void 0,Br=re?re.isBuffer:void 0,Tt="[object Arguments]",$t="[object Array]",jt="[object Boolean]",Lt="[object Date]",Dt="[object Error]",Pt="[object Function]",Nt="[object Map]",Ot="[object Number]",_t="[object Object]",zt="[object RegExp]",Ut="[object Set]",Rt="[object String]",Bt="[object WeakMap]",Ft="[object ArrayBuffer]",Vt="[object DataView]",qt="[object Float32Array]",Gt="[object Float64Array]",Yt="[object Int8Array]",Qt="[object Int16Array]",Ht="[object Int32Array]",Kt="[object Uint8Array]",Wt="[object Uint8ClampedArray]",Zt="[object Uint16Array]",Xt="[object Uint32Array]",o={};o[qt]=o[Gt]=o[Yt]=o[Qt]=o[Ht]=o[Kt]=o[Wt]=o[Zt]=o[Xt]=!0;o[Tt]=o[$t]=o[Ft]=o[jt]=o[Vt]=o[Lt]=o[Dt]=o[Pt]=o[Nt]=o[Ot]=o[_t]=o[zt]=o[Ut]=o[Rt]=o[Bt]=!1;function Jt(e){return Z(e)&&xt(e.length)&&!!o[L(e)]}var ei=Jt;function ti(e){return function(t){return e(t)}}var ii=ti,he=typeof exports=="object"&&exports&&!exports.nodeType&&exports,T=he&&typeof module=="object"&&module&&!module.nodeType&&module,ri=T&&T.exports===he,q=ri&&ge.process,ni=function(){try{var e=T&&T.require&&T.require("util").types;return e||q&&q.binding&&q.binding("util")}catch{}}(),ne=ni,oe=ne&&ne.isTypedArray,Fr=oe?ii(oe):ei,oi=Object.prototype,Vr=oi.hasOwnProperty;function ai(e,t){return function(i){return e(t(i))}}var li=ai,qr=li(Object.keys,Object),si=Object.prototype,Gr=si.hasOwnProperty,ui=I(Object,"create"),$=ui;function di(){this.__data__=$?$(null):{},this.size=0}var ci=di;function pi(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gi=pi,mi="__lodash_hash_undefined__",bi=Object.prototype,yi=bi.hasOwnProperty;function fi(e){var t=this.__data__;if($){var i=t[e];return i===mi?void 0:i}return yi.call(t,e)?t[e]:void 0}var hi=fi,vi=Object.prototype,wi=vi.hasOwnProperty;function ki(e){var t=this.__data__;return $?t[e]!==void 0:wi.call(t,e)}var Ii=ki,xi="__lodash_hash_undefined__";function Ai(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=$&&t===void 0?xi:t,this}var Ci=Ai;function x(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}x.prototype.clear=ci;x.prototype.delete=gi;x.prototype.get=hi;x.prototype.has=Ii;x.prototype.set=Ci;var ae=x;function Si(){this.__data__=[],this.size=0}var Mi=Si;function Ei(e,t){for(var i=e.length;i--;)if(wt(e[i][0],t))return i;return-1}var O=Ei,Ti=Array.prototype,$i=Ti.splice;function ji(e){var t=this.__data__,i=O(t,e);if(i<0)return!1;var r=t.length-1;return i==r?t.pop():$i.call(t,i,1),--this.size,!0}var Li=ji;function Di(e){var t=this.__data__,i=O(t,e);return i<0?void 0:t[i][1]}var Pi=Di;function Ni(e){return O(this.__data__,e)>-1}var Oi=Ni;function _i(e,t){var i=this.__data__,r=O(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}var zi=_i;function A(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}A.prototype.clear=Mi;A.prototype.delete=Li;A.prototype.get=Pi;A.prototype.has=Oi;A.prototype.set=zi;var _=A,Ui=I(g,"Map"),j=Ui;function Ri(){this.size=0,this.__data__={hash:new ae,map:new(j||_),string:new ae}}var Bi=Ri;function Fi(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var Vi=Fi;function qi(e,t){var i=e.__data__;return Vi(t)?i[typeof t=="string"?"string":"hash"]:i.map}var z=qi;function Gi(e){var t=z(this,e).delete(e);return this.size-=t?1:0,t}var Yi=Gi;function Qi(e){return z(this,e).get(e)}var Hi=Qi;function Ki(e){return z(this,e).has(e)}var Wi=Ki;function Zi(e,t){var i=z(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}var Xi=Zi;function C(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t<i;){var r=e[t];this.set(r[0],r[1])}}C.prototype.clear=Bi;C.prototype.delete=Yi;C.prototype.get=Hi;C.prototype.has=Wi;C.prototype.set=Xi;var ve=C;function Ji(){this.__data__=new _,this.size=0}var er=Ji;function tr(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}var ir=tr;function rr(e){return this.__data__.get(e)}var nr=rr;function or(e){return this.__data__.has(e)}var ar=or,lr=200;function sr(e,t){var i=this.__data__;if(i instanceof _){var r=i.__data__;if(!j||r.length<lr-1)return r.push([e,t]),this.size=++i.size,this;i=this.__data__=new ve(r)}return i.set(e,t),this.size=i.size,this}var ur=sr;function D(e){var t=this.__data__=new _(e);this.size=t.size}D.prototype.clear=er;D.prototype.delete=ir;D.prototype.get=nr;D.prototype.has=ar;D.prototype.set=ur;var dr=Object.prototype,Yr=dr.propertyIsEnumerable,cr=I(g,"DataView"),Q=cr,pr=I(g,"Promise"),H=pr,gr=I(g,"Set"),K=gr,le="[object Map]",mr="[object Object]",se="[object Promise]",ue="[object Set]",de="[object WeakMap]",ce="[object DataView]",br=y(Q),yr=y(j),fr=y(H),hr=y(K),vr=y(Y),w=L;(Q&&w(new Q(new ArrayBuffer(1)))!=ce||j&&w(new j)!=le||H&&w(H.resolve())!=se||K&&w(new K)!=ue||Y&&w(new Y)!=de)&&(w=function(e){var t=L(e),i=t==mr?e.constructor:void 0,r=i?y(i):"";if(r)switch(r){case br:return ce;case yr:return le;case fr:return se;case hr:return ue;case vr:return de}return t});var Qr=g.Uint8Array,wr="__lodash_hash_undefined__";function kr(e){return this.__data__.set(e,wr),this}var Ir=kr;function xr(e){return this.__data__.has(e)}var Ar=xr;function W(e){var t=-1,i=e==null?0:e.length;for(this.__data__=new ve;++t<i;)this.add(e[t])}W.prototype.add=W.prototype.push=Ir;W.prototype.has=Ar;var pe=k?k.prototype:void 0,Hr=pe?pe.valueOf:void 0,Cr=Object.prototype,Kr=Cr.hasOwnProperty,Sr=Object.prototype,Wr=Sr.hasOwnProperty,Zr=new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,"i"),Xr=new RegExp(/[A-Fa-f0-9]{1}/,"g"),Jr=new RegExp(/[A-Fa-f0-9]{2}/,"g");var Mr="ly.img.ai";function we(e){return`${Mr}.${e}`}var G="@imgly/plugin-ai-generation",en=`
2
2
  <svg>
3
3
  <symbol
4
4
  fill="none"
@@ -59,7 +59,7 @@ var Le=typeof global=="object"&&global&&global.Object===Object&&global,ge=Le,De=
59
59
 
60
60
  </symbol>
61
61
  </svg>
62
- `;var ke={openapi:"3.0.0",info:{title:"Elevenlabs API",version:"1.0.0",description:"Elevenlabs API"},components:{schemas:{ElevenlabsInput:{title:"TextToSpeechInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},voice_id:{title:"Voice",type:"string",description:"The voice ID to use for the speech synthesis.",default:"JBFqnCBsd6RMkjVDRZzb"},speed:{title:"Speed",type:"number",description:"The speed of the speech synthesis.",default:1,"x-imgly-step":.05,minimum:.7,maximum:1.2}},"x-elevenlabs-order-properties":["prompt","style","image_size"],required:["prompt","voice_id"]}}}};var Ie={version:"2.0.0",id:"ly.img.voices.eleventlabs",assets:[{id:"JBFqnCBsd6RMkjVDRZzb",label:{en:"George"},tags:{en:["British Accent","warm","middle aged","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/JBFqnCBsd6RMkjVDRZzb/e6206d1a-0721-4787-aafb-06a6e705cac5.mp3",thumbUri:"{{base_url}}george.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.42"}},{id:"FGY2WhTYpPnrIDTdsKH5",label:{en:"Laura"},tags:{en:["American Accent","upbeat","young","female","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/FGY2WhTYpPnrIDTdsKH5/67341759-ad08-41a5-be6e-de12fe448618.mp3",thumbUri:"{{base_url}}laura.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.04"}},{id:"IKne3meq5aSn9XLyUdCD",label:{en:"Charlie"},tags:{en:["Australian Accent","natural","middle aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/IKne3meq5aSn9XLyUdCD/102de6f2-22ed-43e0-a1f1-111fa75c5481.mp3",thumbUri:"{{base_url}}charlie.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.53"}},{id:"9BWtsMINqrJLrRacOk9x",label:{en:"Aria"},tags:{en:["American Accent","expressive","middle-aged","female","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/9BWtsMINqrJLrRacOk9x/405766b8-1f4e-4d3c-aba1-6f25333823ec.mp3",thumbUri:"{{base_url}}aria.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.71"}},{id:"EXAVITQu4vr4xnSDxMaL",label:{en:"Sarah"},tags:{en:["american Accent","soft","young","female","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/EXAVITQu4vr4xnSDxMaL/01a3e33c-6e99-4ee7-8543-ff2216a32186.mp3",thumbUri:"{{base_url}}sarah2.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.53"}},{id:"SAz9YHcvj6GT2YYXdXww",label:{en:"River"},tags:{en:["American Accent","confident","middle-aged","non-binary","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/SAz9YHcvj6GT2YYXdXww/e6c95f0b-2227-491a-b3d7-2249240decb7.mp3",thumbUri:"{{base_url}}river.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.53"}},{id:"XrExE9yKIg1WjnnlVkGX",label:{en:"Matilda"},tags:{en:["American Accent","friendly","middle-aged","female","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/XrExE9yKIg1WjnnlVkGX/b930e18d-6b4d-466e-bab2-0ae97c6d8535.mp3",thumbUri:"{{base_url}}matilda.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.64"}},{id:"N2lVS1w4EtoT3dr4eOWO",label:{en:"Callum"},tags:{en:["Transatlantic Accent","intense","middle-aged","male","characters"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/N2lVS1w4EtoT3dr4eOWO/ac833bd8-ffda-4938-9ebc-b0f99ca25481.mp3",thumbUri:"{{base_url}}callum.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"4.18"}},{id:"TX3LPaxmHKxFdv7VOQHJ",label:{en:"Liam"},tags:{en:["American Accent","articulate","young","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/TX3LPaxmHKxFdv7VOQHJ/63148076-6363-42db-aea8-31424308b92c.mp3",thumbUri:"{{base_url}}liam.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"4.13"}},{id:"XB0fDUnXU5powFXDhCwa",label:{en:"Charlotte"},tags:{en:["Swedish Accent","seductive","young","female","characters"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/XB0fDUnXU5powFXDhCwa/942356dc-f10d-4d89-bda5-4f8505ee038b.mp3",thumbUri:"{{base_url}}charlotte.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.25"}},{id:"CwhRBWXzGAHq8TQ4Fs17",label:{en:"Roger"},tags:{en:["American Accent","confident","middle-aged","male","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/CwhRBWXzGAHq8TQ4Fs17/58ee3ff5-f6f2-4628-93b8-e38eb31806b0.mp3",thumbUri:"{{base_url}}roger.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.89"}},{id:"nPczCjzI2devNBz1zQrb",label:{en:"Brian"},tags:{en:["American Accent","deep","middle-aged","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/nPczCjzI2devNBz1zQrb/2dd3e72c-4fd3-42f1-93ea-abc5d4e5aa1d.mp3",thumbUri:"{{base_url}}brian.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.46"}},{id:"cgSgspJ2msm6clMCkdW9",label:{en:"Jessica"},tags:{en:["American Accent","expressive","young","female","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/cgSgspJ2msm6clMCkdW9/56a97bf8-b69b-448f-846c-c3a11683d45a.mp3",thumbUri:"{{base_url}}jessica.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.89"}},{id:"Xb7hH8MSUJpSbSDYk0k2",label:{en:"Alice"},tags:{en:["British Accent","confident","middle-aged","female","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/Xb7hH8MSUJpSbSDYk0k2/d10f7534-11f6-41fe-a012-2de1e482d336.mp3",thumbUri:"{{base_url}}alice.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.53"}},{id:"pFZP5JQG7iQjIQuC4Bku",label:{en:"Lily"},tags:{en:["British Accent","warm","middle-aged","female","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/pFZP5JQG7iQjIQuC4Bku/89b68b35-b3dd-4348-a84a-a3c13a3c2b30.mp3",thumbUri:"{{base_url}}lily.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.11"}},{id:"cjVigY5qzO86Huf0OWal",label:{en:"Eric"},tags:{en:["American Accent","friendly","middle-aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/cjVigY5qzO86Huf0OWal/d098fda0-6456-4030-b3d8-63aa048c9070.mp3",thumbUri:"{{base_url}}eric.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.32"}},{id:"bIHbv24MWmeRgasZH58o",label:{en:"Will"},tags:{en:["American Accent","friendly","young","male","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/bIHbv24MWmeRgasZH58o/8caf8f3d-ad29-4980-af41-53f20c72d7a4.mp3",thumbUri:"{{base_url}}will.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.74"}},{id:"iP95p4xoKVk53GoZ742B",label:{en:"Chris"},tags:{en:["American Accent","casual","middle-aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/iP95p4xoKVk53GoZ742B/3f4bde72-cc48-40dd-829f-57fbf906f4d7.mp3",thumbUri:"{{base_url}}chris.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.29"}},{id:"pqHfZKP75CvOlQylNhV4",label:{en:"Bill"},tags:{en:["American Accent","trustworthy","old","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/pqHfZKP75CvOlQylNhV4/d782b3ff-84ba-4029-848c-acf01285524d.mp3",thumbUri:"{{base_url}}bill.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.51"}},{id:"onwK4e9ZLuTAKqWW03F9",label:{en:"Daniel"},tags:{en:["British Accent","authoritative","middle-aged","male","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/onwK4e9ZLuTAKqWW03F9/7eee0236-1a72-4b86-b303-5dcadc007ba9.mp3",thumbUri:"{{base_url}}daniel.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.75"}}]};function xe(e,t,i){return Math.min(Math.max(e,t),i)}async function U(e){return new Promise((t,i)=>{let r=new Audio;r.src=e,r.addEventListener("loadedmetadata",()=>{let n=r.duration;t(n)}),r.addEventListener("error",n=>{i(new Error(`Failed to load audio metadata: ${n.message}`))})})}var jr={width:256,height:256,backgroundColor:"transparent",waveformColor:"black",pixelsPerSecond:100};async function R(e,t={}){let{width:i,height:r,backgroundColor:n,waveformColor:u,pixelsPerSecond:a}={...jr,...t},p=new AudioContext,l=await e.arrayBuffer(),s=await p.decodeAudioData(l),d=s.duration,c=Math.max(i,Math.ceil(d*a)),$=s.sampleRate*d/c,h=document.createElement("canvas");h.width=i,h.height=r;let m=h.getContext("2d");m.fillStyle=n,m.fillRect(0,0,i,r);let Me=s.getChannelData(0),S=r/2,Ee=s.length;m.strokeStyle=u,m.beginPath(),m.moveTo(0,S);for(let b=0;b<i;b++){let M=1,v=-1;for(let F=0;F<$;F++){let X=Math.floor(b*$+F);if(X<Ee){let N=Me[X];N<M&&(M=N),N>v&&(v=N)}}let Te=S-M*S,je=S-v*S;m.lineTo(b,je),m.lineTo(b,Te)}return m.stroke(),new Promise((b,M)=>{h.toBlob(v=>{v?b(v):M(new Error("Canvas to Blob conversion failed"))})})}function B(e,t,i={}){let{ellipsis:r="...",preserveSentences:n=!1,minLength:u=0}=i;if(!e||e.length<=u||e.length<=t)return e;let a=t-r.length;if(n){let s=/[.!?](?:\s|$)/g,d,c=0;for(;(d=s.exec(e))!==null&&!(d.index>a);)c=d.index+1;if(c>0)return e.substring(0,c)+r}let p=e.substring(0,a),l=p.lastIndexOf(" ");return l>0&&(p=p.substring(0,l)),p+r}function Ae(e){return async({cesdk:t})=>Lr(t,e)}function Lr(e,t){let i=t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-audio-generation-web/v1/elevenlabs/",r="ly.img.ai.audio-generation.speech.elevenlabs",n=`${r}.voiceSelection`,u=Pr(e,i),a="elevenlabs/monolingual/v1";return e.setTranslations({en:{[`panel.${a}`]:"AI Voice",[`panel.${n}`]:"Select a Voice",[`panel.${we("elevenlabs")}`]:"AI Voice",[`libraries.${a}.history.label`]:"AI Voice","libraries.elevenlabs/sound-generation.history.label":"Generated Sound"}}),{id:a,name:"Elevenlabs Multilingual V2",kind:"audio",initialize:async()=>{e.ui.addAssetLibraryEntry({id:u,sourceIds:[u],gridColumns:3}),e.ui.registerPanel(n,({builder:l,payload:s})=>{l.Library(`${r}.voiceSelection.library`,{searchable:!0,entries:[u],onSelect:async d=>{let{id:c,label:f}=d;s?.onSelect(c,f??c,d.meta?.thumbUri),e.ui.closePanel(n)}})})},input:{panel:{type:"schema",document:ke,inputReference:"#/components/schemas/ElevenlabsInput",useFlow:"generation-only",renderCustomProperty:{voice_id:l=>{let s=l.experimental.global("voice",{voiceId:"JBFqnCBsd6RMkjVDRZzb",name:"George",thumbnail:`${i}george.webp`});return l.builder.Button(`${r}.openVoiceSelection`,{inputLabel:"Voice",icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",labelAlignment:"left",label:s.value.name,onClick:()=>{e.ui.openPanel(n,{payload:{id:s.value.voiceId,onSelect:(d,c,f)=>{s.setValue({voiceId:d,name:c,thumbnail:f})}}})}}),()=>({id:"voice_id",type:"string",value:s.value.voiceId})}},getBlockInput:async l=>({audio:{label:B(l.prompt,25)}})}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(l,{abortSignal:s})=>{let d=await Dr(l.prompt,l.voice_id,{speed:parseFloat(l.speed.toFixed(10))},t,s),c=URL.createObjectURL(d),[f,$]=await Promise.all([R(d,{width:512,height:128}),U(c)]),h=URL.createObjectURL(f);return{kind:"audio",url:c,duration:$,thumbnailUrl:h}}},config:t}}async function Dr(e,t,i,r,n){let u=`${r.proxyUrl}/v1/text-to-speech/${t}`,a=await fetch(u,{signal:n,method:"POST",headers:{Accept:"audio/mpeg","Content-Type":"application/json",...r.headers??{}},body:JSON.stringify({text:e,model_id:"eleven_multilingual_v2",voice_settings:{speed:xe(i?.speed||1,.7,1.2),stability:i?.stability||.5,similarity_boost:i?.similarityBoost||.5}})});if(!a.ok){let p=await a.text();throw new Error(`API error: ${a.status} - ${p}`)}return a.blob()}function Pr(e,t){let{id:i,assets:r}=Ie;return e.engine.asset.addLocalSource(i),r.map(async n=>{e.engine.asset.addAssetToSource(i,{...n,meta:{...n.meta,thumbUri:n.meta.thumbUri.replace("{{base_url}}",`${t}thumbnails/`)}})}),i}var Ce={openapi:"3.0.0",info:{title:"Elevenlabs Sound Effects API",version:"1.0.0",description:"Elevenlabs Sound Effects API"},components:{schemas:{TextToSoundInput:{title:"TextToSoundInput",type:"object",properties:{text:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},duration_seconds:{title:"Duration (sec.)",type:"number",minimum:.6,maximum:22,default:2}},"x-elevenlabs-order-properties":["text"],required:["text"]}}}};function Se(e){return async({cesdk:t})=>Nr(t,e)}function Nr(e,t){let i="elevenlabs/sound-generation";return e.setTranslations({en:{[`panel.${i}`]:"Generate Sound"}}),{id:i,name:"Elevenlabs Sound Generation",kind:"audio",initialize:async()=>{},input:{panel:{type:"schema",document:Ce,inputReference:"#/components/schemas/TextToSoundInput",useFlow:"generation-only",getBlockInput:async n=>({audio:{label:B(n.text,25)}})}},output:{abortable:!0,history:"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(n,{abortSignal:u})=>{let a=await Or(n.text,n.duration_seconds,t,u),p=URL.createObjectURL(a),[l,s]=await Promise.all([R(a,{width:512,height:128}),U(p)]),d=URL.createObjectURL(l);return{kind:"audio",url:p,duration:s,thumbnailUrl:d}}},config:t}}async function Or(e,t,i,r){let n=`${i.proxyUrl}/v1/sound-generation`,u=await fetch(n,{signal:r,method:"POST",headers:{Accept:"audio/mpeg","Content-Type":"application/json",...i.headers??{}},body:JSON.stringify({text:e,duration_seconds:t})});if(!u.ok){let a=await u.text();throw new Error(`API error: ${u.status} - ${a}`)}return u.blob()}var _r={ElevenMultilingualV2:Ae,ElevenSoundEffects:Se},hn=_r;export{hn as default};
62
+ `;var ke={openapi:"3.0.0",info:{title:"Elevenlabs API",version:"1.0.0",description:"Elevenlabs API"},components:{schemas:{ElevenlabsInput:{title:"TextToSpeechInput",type:"object",properties:{prompt:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},voice_id:{title:"Voice",type:"string",description:"The voice ID to use for the speech synthesis.",default:"JBFqnCBsd6RMkjVDRZzb"},speed:{title:"Speed",type:"number",description:"The speed of the speech synthesis.",default:1,"x-imgly-step":.05,minimum:.7,maximum:1.2}},"x-elevenlabs-order-properties":["prompt","style","image_size"],required:["prompt","voice_id"]}}}};var Ie={version:"2.0.0",id:"ly.img.voices.eleventlabs",assets:[{id:"JBFqnCBsd6RMkjVDRZzb",label:{en:"George"},tags:{en:["British Accent","warm","middle aged","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/JBFqnCBsd6RMkjVDRZzb/e6206d1a-0721-4787-aafb-06a6e705cac5.mp3",thumbUri:"{{base_url}}george.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.42"}},{id:"FGY2WhTYpPnrIDTdsKH5",label:{en:"Laura"},tags:{en:["American Accent","upbeat","young","female","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/FGY2WhTYpPnrIDTdsKH5/67341759-ad08-41a5-be6e-de12fe448618.mp3",thumbUri:"{{base_url}}laura.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.04"}},{id:"IKne3meq5aSn9XLyUdCD",label:{en:"Charlie"},tags:{en:["Australian Accent","natural","middle aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/IKne3meq5aSn9XLyUdCD/102de6f2-22ed-43e0-a1f1-111fa75c5481.mp3",thumbUri:"{{base_url}}charlie.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.53"}},{id:"9BWtsMINqrJLrRacOk9x",label:{en:"Aria"},tags:{en:["American Accent","expressive","middle-aged","female","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/9BWtsMINqrJLrRacOk9x/405766b8-1f4e-4d3c-aba1-6f25333823ec.mp3",thumbUri:"{{base_url}}aria.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.71"}},{id:"EXAVITQu4vr4xnSDxMaL",label:{en:"Sarah"},tags:{en:["american Accent","soft","young","female","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/EXAVITQu4vr4xnSDxMaL/01a3e33c-6e99-4ee7-8543-ff2216a32186.mp3",thumbUri:"{{base_url}}sarah2.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.53"}},{id:"SAz9YHcvj6GT2YYXdXww",label:{en:"River"},tags:{en:["American Accent","confident","middle-aged","non-binary","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/SAz9YHcvj6GT2YYXdXww/e6c95f0b-2227-491a-b3d7-2249240decb7.mp3",thumbUri:"{{base_url}}river.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.53"}},{id:"XrExE9yKIg1WjnnlVkGX",label:{en:"Matilda"},tags:{en:["American Accent","friendly","middle-aged","female","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/XrExE9yKIg1WjnnlVkGX/b930e18d-6b4d-466e-bab2-0ae97c6d8535.mp3",thumbUri:"{{base_url}}matilda.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.64"}},{id:"N2lVS1w4EtoT3dr4eOWO",label:{en:"Callum"},tags:{en:["Transatlantic Accent","intense","middle-aged","male","characters"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/N2lVS1w4EtoT3dr4eOWO/ac833bd8-ffda-4938-9ebc-b0f99ca25481.mp3",thumbUri:"{{base_url}}callum.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"4.18"}},{id:"TX3LPaxmHKxFdv7VOQHJ",label:{en:"Liam"},tags:{en:["American Accent","articulate","young","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/TX3LPaxmHKxFdv7VOQHJ/63148076-6363-42db-aea8-31424308b92c.mp3",thumbUri:"{{base_url}}liam.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"4.13"}},{id:"XB0fDUnXU5powFXDhCwa",label:{en:"Charlotte"},tags:{en:["Swedish Accent","seductive","young","female","characters"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/XB0fDUnXU5powFXDhCwa/942356dc-f10d-4d89-bda5-4f8505ee038b.mp3",thumbUri:"{{base_url}}charlotte.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.25"}},{id:"CwhRBWXzGAHq8TQ4Fs17",label:{en:"Roger"},tags:{en:["American Accent","confident","middle-aged","male","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/CwhRBWXzGAHq8TQ4Fs17/58ee3ff5-f6f2-4628-93b8-e38eb31806b0.mp3",thumbUri:"{{base_url}}roger.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.89"}},{id:"nPczCjzI2devNBz1zQrb",label:{en:"Brian"},tags:{en:["American Accent","deep","middle-aged","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/nPczCjzI2devNBz1zQrb/2dd3e72c-4fd3-42f1-93ea-abc5d4e5aa1d.mp3",thumbUri:"{{base_url}}brian.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.46"}},{id:"cgSgspJ2msm6clMCkdW9",label:{en:"Jessica"},tags:{en:["American Accent","expressive","young","female","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/cgSgspJ2msm6clMCkdW9/56a97bf8-b69b-448f-846c-c3a11683d45a.mp3",thumbUri:"{{base_url}}jessica.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.89"}},{id:"Xb7hH8MSUJpSbSDYk0k2",label:{en:"Alice"},tags:{en:["British Accent","confident","middle-aged","female","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/Xb7hH8MSUJpSbSDYk0k2/d10f7534-11f6-41fe-a012-2de1e482d336.mp3",thumbUri:"{{base_url}}alice.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.53"}},{id:"pFZP5JQG7iQjIQuC4Bku",label:{en:"Lily"},tags:{en:["British Accent","warm","middle-aged","female","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/pFZP5JQG7iQjIQuC4Bku/89b68b35-b3dd-4348-a84a-a3c13a3c2b30.mp3",thumbUri:"{{base_url}}lily.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.11"}},{id:"cjVigY5qzO86Huf0OWal",label:{en:"Eric"},tags:{en:["American Accent","friendly","middle-aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/cjVigY5qzO86Huf0OWal/d098fda0-6456-4030-b3d8-63aa048c9070.mp3",thumbUri:"{{base_url}}eric.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.32"}},{id:"bIHbv24MWmeRgasZH58o",label:{en:"Will"},tags:{en:["American Accent","friendly","young","male","social media"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/bIHbv24MWmeRgasZH58o/8caf8f3d-ad29-4980-af41-53f20c72d7a4.mp3",thumbUri:"{{base_url}}will.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"2.74"}},{id:"iP95p4xoKVk53GoZ742B",label:{en:"Chris"},tags:{en:["American Accent","casual","middle-aged","male","conversational"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/iP95p4xoKVk53GoZ742B/3f4bde72-cc48-40dd-829f-57fbf906f4d7.mp3",thumbUri:"{{base_url}}chris.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"3.29"}},{id:"pqHfZKP75CvOlQylNhV4",label:{en:"Bill"},tags:{en:["American Accent","trustworthy","old","male","narration"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/pqHfZKP75CvOlQylNhV4/d782b3ff-84ba-4029-848c-acf01285524d.mp3",thumbUri:"{{base_url}}bill.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.51"}},{id:"onwK4e9ZLuTAKqWW03F9",label:{en:"Daniel"},tags:{en:["British Accent","authoritative","middle-aged","male","news"]},meta:{uri:"https://storage.googleapis.com/eleven-public-prod/premade/voices/onwK4e9ZLuTAKqWW03F9/7eee0236-1a72-4b86-b303-5dcadc007ba9.mp3",thumbUri:"{{base_url}}daniel.webp",blockType:"//ly.img.ubq/audio",mimeType:"audio/x-m4a",duration:"5.75"}}]};function xe(e,t,i){return Math.min(Math.max(e,t),i)}async function U(e){return new Promise((t,i)=>{let r=new Audio;r.src=e,r.addEventListener("loadedmetadata",()=>{let n=r.duration;t(n)}),r.addEventListener("error",n=>{i(new Error(`Failed to load audio metadata: ${n.message}`))})})}var $r={width:256,height:256,backgroundColor:"transparent",waveformColor:"black",pixelsPerSecond:100};async function R(e,t={}){let{width:i,height:r,backgroundColor:n,waveformColor:u,pixelsPerSecond:a}={...$r,...t},p=new AudioContext,l=await e.arrayBuffer(),s=await p.decodeAudioData(l),d=s.duration,c=Math.max(i,Math.ceil(d*a)),P=s.sampleRate*d/c,h=document.createElement("canvas");h.width=i,h.height=r;let m=h.getContext("2d");m.fillStyle=n,m.fillRect(0,0,i,r);let Me=s.getChannelData(0),S=r/2,Ee=s.length;m.strokeStyle=u,m.beginPath(),m.moveTo(0,S);for(let b=0;b<i;b++){let M=1,v=-1;for(let F=0;F<P;F++){let X=Math.floor(b*P+F);if(X<Ee){let N=Me[X];N<M&&(M=N),N>v&&(v=N)}}let Te=S-M*S,$e=S-v*S;m.lineTo(b,$e),m.lineTo(b,Te)}return m.stroke(),new Promise((b,M)=>{h.toBlob(v=>{v?b(v):M(new Error("Canvas to Blob conversion failed"))})})}function B(e,t,i={}){let{ellipsis:r="...",preserveSentences:n=!1,minLength:u=0}=i;if(!e||e.length<=u||e.length<=t)return e;let a=t-r.length;if(n){let s=/[.!?](?:\s|$)/g,d,c=0;for(;(d=s.exec(e))!==null&&!(d.index>a);)c=d.index+1;if(c>0)return e.substring(0,c)+r}let p=e.substring(0,a),l=p.lastIndexOf(" ");return l>0&&(p=p.substring(0,l)),p+r}function Ae(e){return async({cesdk:t})=>jr(t,e)}function jr(e,t){let i=t.baseURL??"https://cdn.img.ly/assets/plugins/plugin-ai-audio-generation-web/v1/elevenlabs/",r="ly.img.ai.audio-generation.speech.elevenlabs",n=`${r}.voiceSelection`,u=Dr(e,i),a="elevenlabs/monolingual/v1";return e.setTranslations({en:{[`panel.${a}`]:"AI Voice",[`panel.${n}`]:"Select a Voice",[`panel.${we("elevenlabs")}`]:"AI Voice",[`libraries.${a}.history.label`]:"AI Voice","libraries.elevenlabs/sound-generation.history.label":"Generated Sound"}}),{id:a,name:"Elevenlabs Multilingual V2",kind:"audio",initialize:async()=>{e.ui.addAssetLibraryEntry({id:u,sourceIds:[u],gridColumns:3}),e.ui.registerPanel(n,({builder:l,payload:s})=>{l.Library(`${r}.voiceSelection.library`,{searchable:!0,entries:[u],onSelect:async d=>{let{id:c,label:f}=d;s?.onSelect(c,f??c,d.meta?.thumbUri),e.ui.closePanel(n)}})})},input:{panel:{type:"schema",document:ke,inputReference:"#/components/schemas/ElevenlabsInput",useFlow:"generation-only",renderCustomProperty:{voice_id:l=>{let s=l.experimental.global("voice",{voiceId:"JBFqnCBsd6RMkjVDRZzb",name:"George",thumbnail:`${i}george.webp`});return l.builder.Button(`${r}.openVoiceSelection`,{inputLabel:[`ly.img.plugin-ai-audio-generation-web.${a}.property.voice_id`,"ly.img.plugin-ai-generation-web.property.voice_id",`ly.img.plugin-ai-audio-generation-web.${a}.defaults.property.voice_id`,"ly.img.plugin-ai-generation-web.defaults.property.voice_id"],icon:"@imgly/Appearance",trailingIcon:"@imgly/ChevronRight",labelAlignment:"left",label:s.value.name,onClick:()=>{e.ui.openPanel(n,{payload:{id:s.value.voiceId,onSelect:(d,c,f)=>{s.setValue({voiceId:d,name:c,thumbnail:f})}}})}}),()=>({id:"voice_id",type:"string",value:s.value.voiceId})}},getBlockInput:async l=>({audio:{label:B(l.prompt,25)}})}},output:{abortable:!0,history:t.history??"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(l,{abortSignal:s})=>{let d=await Lr(l.prompt,l.voice_id,{speed:parseFloat(l.speed.toFixed(10))},t,s),c=URL.createObjectURL(d),[f,P]=await Promise.all([R(d,{width:512,height:128}),U(c)]),h=URL.createObjectURL(f);return{kind:"audio",url:c,duration:P,thumbnailUrl:h}}},config:t}}async function Lr(e,t,i,r,n){let u=`${r.proxyUrl}/v1/text-to-speech/${t}`,a=await fetch(u,{signal:n,method:"POST",headers:{Accept:"audio/mpeg","Content-Type":"application/json",...r.headers??{}},body:JSON.stringify({text:e,model_id:"eleven_multilingual_v2",voice_settings:{speed:xe(i?.speed||1,.7,1.2),stability:i?.stability||.5,similarity_boost:i?.similarityBoost||.5}})});if(!a.ok){let p=await a.text();throw new Error(`API error: ${a.status} - ${p}`)}return a.blob()}function Dr(e,t){let{id:i,assets:r}=Ie;return e.engine.asset.addLocalSource(i),r.map(async n=>{e.engine.asset.addAssetToSource(i,{...n,meta:{...n.meta,thumbUri:n.meta.thumbUri.replace("{{base_url}}",`${t}thumbnails/`)}})}),i}var Ce={openapi:"3.0.0",info:{title:"Elevenlabs Sound Effects API",version:"1.0.0",description:"Elevenlabs Sound Effects API"},components:{schemas:{TextToSoundInput:{title:"TextToSoundInput",type:"object",properties:{text:{title:"Prompt",type:"string","x-imgly-builder":{component:"TextArea"}},duration_seconds:{title:"Duration (sec.)",type:"number",minimum:.6,maximum:22,default:2}},"x-elevenlabs-order-properties":["text"],required:["text"]}}}};function Se(e){return async({cesdk:t})=>Nr(t,e)}function Nr(e,t){let i="elevenlabs/sound-generation";return e.setTranslations({en:{[`panel.${i}`]:"Generate Sound"}}),{id:i,name:"Elevenlabs Sound Generation",kind:"audio",initialize:async()=>{},input:{panel:{type:"schema",document:Ce,inputReference:"#/components/schemas/TextToSoundInput",useFlow:"generation-only",getBlockInput:async n=>({audio:{label:B(n.text,25)}})}},output:{abortable:!0,history:t.history??"@imgly/indexedDB",middleware:t.middlewares??t.middleware??[],generate:async(n,{abortSignal:u})=>{let a=await Or(n.text,n.duration_seconds,t,u),p=URL.createObjectURL(a),[l,s]=await Promise.all([R(a,{width:512,height:128}),U(p)]),d=URL.createObjectURL(l);return{kind:"audio",url:p,duration:s,thumbnailUrl:d}}},config:t}}async function Or(e,t,i,r){let n=`${i.proxyUrl}/v1/sound-generation`,u=await fetch(n,{signal:r,method:"POST",headers:{Accept:"audio/mpeg","Content-Type":"application/json",...i.headers??{}},body:JSON.stringify({text:e,duration_seconds:t})});if(!u.ok){let a=await u.text();throw new Error(`API error: ${u.status} - ${a}`)}return u.blob()}var _r={ElevenMultilingualV2:Ae,ElevenSoundEffects:Se},hn=_r;export{hn as default};
63
63
  /*! Bundled license information:
64
64
 
65
65
  @imgly/plugin-ai-generation-web/dist/index.mjs: