@imgly/plugin-ai-video-generation-web 0.1.9 → 0.2.0
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 +34 -0
- package/README.md +205 -27
- package/dist/constants.d.ts +5 -0
- package/dist/fal-ai/KlingVideoV21MasterImageToVideo.d.ts +19 -0
- package/dist/fal-ai/KlingVideoV21MasterTextToVideo.d.ts +19 -0
- package/dist/fal-ai/Veo3TextToVideo.d.ts +18 -0
- package/dist/fal-ai/createVideoProvider.d.ts +9 -2
- package/dist/fal-ai/index.d.ts +6 -0
- package/dist/fal-ai/index.mjs +11 -8
- package/dist/fal-ai/index.mjs.map +4 -4
- package/dist/index.d.ts +4 -1
- package/dist/index.mjs +24 -6
- package/dist/index.mjs.map +4 -4
- package/dist/plugin.d.ts +2 -1
- package/dist/quickActions/CreateVideo.d.ts +30 -0
- package/dist/quickActions/types.d.ts +6 -0
- package/dist/types.d.ts +56 -25
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.2.0] - 2025-07-15
|
|
6
|
+
|
|
7
|
+
### Breaking Changes
|
|
8
|
+
|
|
9
|
+
- [all] **Provider Initialization**: `initProvider` is replaced with `initializeProviders` and `initializeProvider` with a different signature
|
|
10
|
+
- [all] **Quick Actions Structure**: `provider.input.quickctions.actions` replaced with `provider.input.quickActions.supported`
|
|
11
|
+
- [all] **History Asset Sources**: Combined history asset source is now not added to the default asset libraries anymore. Add the following sources to any library entry (default or not):
|
|
12
|
+
- Image Generation History: `ly.img.ai.image-generation.history`
|
|
13
|
+
- Video Generation History: `ly.img.ai.video-generation.history`
|
|
14
|
+
- Audio Generation History: `ly.img.ai.audio-generation.history`
|
|
15
|
+
- Sticker Generation History: `ly.img.ai.sticker-generation.history`
|
|
16
|
+
- [all] **ID Format Standardization**: All `ly.img.ai/` prefixed IDs changed to use dot notation `ly.img.ai.` for consistency
|
|
17
|
+
- Panel IDs: `ly.img.ai/apps` → `ly.img.ai.apps`, `ly.img.ai/image-generation` → `ly.img.ai.image-generation`
|
|
18
|
+
- Dock IDs: `ly.img.ai/apps.dock` → `ly.img.ai.apps.dock`
|
|
19
|
+
|
|
20
|
+
### New Features
|
|
21
|
+
|
|
22
|
+
- [all] **Multiple Providers Support**: All plugin packages now support arrays of providers with automatic selection UI
|
|
23
|
+
- [image-generation] **Recraft20b Provider**: Added new Recraft20b (v2) provider via fal.ai with support for icon styles including `broken_line`, `colored_outline`, `colored_shapes`, and more
|
|
24
|
+
- [sticker-generation] **New Sticker Generation Plugin**: Added `@imgly/plugin-ai-sticker-generation-web` plugin for AI-powered sticker generation with support for text-to-sticker generation using Recraft20b provider with icon styles
|
|
25
|
+
- [image-generation] **Flux Pro Kontext Provider**: Added Flux Pro Kontext provider for image editing with style transfer and artist style options
|
|
26
|
+
- [image-generation] **Flux Pro Kontext Max Provider**: Added Flux Pro Kontext Max provider for enhanced image editing capabilities
|
|
27
|
+
- [video-generation] **Veo3 Provider**: Added Veo3 text-to-video provider via fal.ai with support for 16:9, 9:16, and 1:1 aspect ratios and 8-second duration
|
|
28
|
+
- [video-generation] **Kling Video V2.1 Master Providers**: Added Kling Video V2.1 Master providers for both text-to-video and image-to-video generation with configurable duration (5s/10s) and aspect ratios
|
|
29
|
+
- [text-generation] **Model Selection**: OpenAI and Anthropic providers now support configurable model selection through the `model` parameter
|
|
30
|
+
|
|
31
|
+
### Deprecated Features
|
|
32
|
+
|
|
33
|
+
- [all] **Middleware Configuration**: The `middleware` property in provider configurations is deprecated. Use `middlewares` instead. The old property will continue to work for now.
|
|
34
|
+
|
|
35
|
+
## [0.1.10] - 2025-06-20
|
|
36
|
+
|
|
37
|
+
- [all] Fix issue with GPT provider when using text provider
|
|
38
|
+
|
|
5
39
|
## [0.1.9] - 2025-06-05
|
|
6
40
|
|
|
7
41
|
- [all] Add support for custom headers
|
package/README.md
CHANGED
|
@@ -27,6 +27,8 @@ npm install @imgly/plugin-ai-video-generation-web
|
|
|
27
27
|
|
|
28
28
|
To use the plugin, import it and configure it with your preferred providers:
|
|
29
29
|
|
|
30
|
+
#### Single Provider Configuration
|
|
31
|
+
|
|
30
32
|
```typescript
|
|
31
33
|
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
32
34
|
import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
|
|
@@ -42,12 +44,72 @@ CreativeEditorSDK.create(domElement, {
|
|
|
42
44
|
VideoGeneration({
|
|
43
45
|
// Text-to-video provider
|
|
44
46
|
text2video: FalAiVideo.MinimaxVideo01Live({
|
|
45
|
-
proxyUrl: '
|
|
47
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
48
|
+
headers: {
|
|
49
|
+
'x-custom-header': 'value',
|
|
50
|
+
'x-client-version': '1.0.0'
|
|
51
|
+
}
|
|
52
|
+
}),
|
|
53
|
+
|
|
54
|
+
// Image-to-video provider (optional)
|
|
55
|
+
image2video: FalAiVideo.MinimaxVideo01LiveImageToVideo({
|
|
56
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
57
|
+
headers: {
|
|
58
|
+
'x-custom-header': 'value',
|
|
59
|
+
'x-client-version': '1.0.0'
|
|
60
|
+
}
|
|
46
61
|
}),
|
|
47
62
|
|
|
63
|
+
// Optional configuration
|
|
64
|
+
debug: false,
|
|
65
|
+
dryRun: false
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
});
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### Multiple Providers Configuration
|
|
72
|
+
|
|
73
|
+
You can configure multiple providers for each generation type, and users will see a selection box to choose between them:
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
77
|
+
import VideoGeneration from '@imgly/plugin-ai-video-generation-web';
|
|
78
|
+
import FalAiVideo from '@imgly/plugin-ai-video-generation-web/fal-ai';
|
|
79
|
+
|
|
80
|
+
// Initialize CreativeEditor SDK
|
|
81
|
+
CreativeEditorSDK.create(domElement, {
|
|
82
|
+
license: 'your-license-key'
|
|
83
|
+
// Other configuration options...
|
|
84
|
+
}).then(async (cesdk) => {
|
|
85
|
+
// Add the video generation plugin with multiple providers
|
|
86
|
+
cesdk.addPlugin(
|
|
87
|
+
VideoGeneration({
|
|
88
|
+
// Multiple text-to-video providers
|
|
89
|
+
text2video: [
|
|
90
|
+
FalAiVideo.MinimaxVideo01Live({
|
|
91
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
92
|
+
headers: {
|
|
93
|
+
'x-custom-header': 'value',
|
|
94
|
+
'x-client-version': '1.0.0'
|
|
95
|
+
}
|
|
96
|
+
}),
|
|
97
|
+
FalAiVideo.PixverseV35TextToVideo({
|
|
98
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
99
|
+
headers: {
|
|
100
|
+
'x-custom-header': 'value',
|
|
101
|
+
'x-client-version': '1.0.0'
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
],
|
|
105
|
+
|
|
48
106
|
// Image-to-video provider (optional)
|
|
49
107
|
image2video: FalAiVideo.MinimaxVideo01LiveImageToVideo({
|
|
50
|
-
proxyUrl: '
|
|
108
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
109
|
+
headers: {
|
|
110
|
+
'x-custom-header': 'value',
|
|
111
|
+
'x-client-version': '1.0.0'
|
|
112
|
+
}
|
|
51
113
|
}),
|
|
52
114
|
|
|
53
115
|
// Optional configuration
|
|
@@ -68,7 +130,11 @@ A model that generates videos based on text prompts:
|
|
|
68
130
|
|
|
69
131
|
```typescript
|
|
70
132
|
text2video: FalAiVideo.MinimaxVideo01Live({
|
|
71
|
-
proxyUrl: '
|
|
133
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
134
|
+
headers: {
|
|
135
|
+
'x-custom-header': 'value',
|
|
136
|
+
'x-client-version': '1.0.0'
|
|
137
|
+
}
|
|
72
138
|
});
|
|
73
139
|
```
|
|
74
140
|
|
|
@@ -77,6 +143,7 @@ Key features:
|
|
|
77
143
|
- Generate videos from text descriptions
|
|
78
144
|
- Fixed output dimensions (1280×720)
|
|
79
145
|
- 5-second video duration
|
|
146
|
+
- Custom headers support for API requests
|
|
80
147
|
|
|
81
148
|
#### 2. MinimaxVideo01LiveImageToVideo (Image-to-Video)
|
|
82
149
|
|
|
@@ -84,7 +151,11 @@ A model that transforms still images into videos:
|
|
|
84
151
|
|
|
85
152
|
```typescript
|
|
86
153
|
image2video: FalAiVideo.MinimaxVideo01LiveImageToVideo({
|
|
87
|
-
proxyUrl: '
|
|
154
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
155
|
+
headers: {
|
|
156
|
+
'x-custom-header': 'value',
|
|
157
|
+
'x-client-version': '1.0.0'
|
|
158
|
+
}
|
|
88
159
|
});
|
|
89
160
|
```
|
|
90
161
|
|
|
@@ -93,6 +164,7 @@ Key features:
|
|
|
93
164
|
- Transform existing images into videos
|
|
94
165
|
- Available through canvas quick actions
|
|
95
166
|
- Maintains original image aspect ratio
|
|
167
|
+
- Custom headers support for API requests
|
|
96
168
|
|
|
97
169
|
#### 3. PixverseV35TextToVideo (Text-to-Video)
|
|
98
170
|
|
|
@@ -100,21 +172,81 @@ An alternative text-to-video model:
|
|
|
100
172
|
|
|
101
173
|
```typescript
|
|
102
174
|
text2video: FalAiVideo.PixverseV35TextToVideo({
|
|
103
|
-
proxyUrl: '
|
|
175
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
176
|
+
headers: {
|
|
177
|
+
'x-custom-header': 'value',
|
|
178
|
+
'x-client-version': '1.0.0'
|
|
179
|
+
}
|
|
104
180
|
});
|
|
105
181
|
```
|
|
106
182
|
|
|
183
|
+
Key features:
|
|
184
|
+
|
|
185
|
+
- Alternative text-to-video generation
|
|
186
|
+
- Custom headers support for API requests
|
|
187
|
+
|
|
188
|
+
#### 4. KlingVideoV21MasterTextToVideo (Text-to-Video)
|
|
189
|
+
|
|
190
|
+
A model based on KlingVideo V2.1 that generates videos from text prompts:
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
text2video: FalAiVideo.KlingVideoV21MasterTextToVideo({
|
|
194
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy'
|
|
195
|
+
});
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Key features:
|
|
199
|
+
|
|
200
|
+
- Generate videos from text descriptions
|
|
201
|
+
- Adjustable aspect ratios (16:9, 9:16, 1:1)
|
|
202
|
+
- Selectable durations (5 s or 10 s)
|
|
203
|
+
- Adaptive resolution (height fixed at 720 px, width is calculated)
|
|
204
|
+
|
|
205
|
+
#### 5. KlingVideoV21MasterImageToVideo (Image-to-Video)
|
|
206
|
+
|
|
207
|
+
A model that converts still images into videos using KlingVideo V2.1:
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
image2video: FalAiVideo.KlingVideoV21MasterImageToVideo({
|
|
211
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy'
|
|
212
|
+
});
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Key features:
|
|
216
|
+
|
|
217
|
+
- Transform existing images into videos
|
|
218
|
+
- Maintains original image aspect ratio (fallback to 1280 × 720)
|
|
219
|
+
- Canvas quick-action integration
|
|
220
|
+
- Selectable durations (5 s or 10 s)
|
|
221
|
+
|
|
222
|
+
#### 6. Veo3TextToVideo (Text-to-Video)
|
|
223
|
+
|
|
224
|
+
An advanced text-to-video model:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
text2video: FalAiVideo.Veo3TextToVideo({
|
|
228
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy'
|
|
229
|
+
});
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Key features:
|
|
233
|
+
|
|
234
|
+
- Generate videos from text descriptions
|
|
235
|
+
- Supports aspect ratios 16:9, 9:16 and 1:1 (defaults to 16:9)
|
|
236
|
+
- Fixed duration of 8 seconds
|
|
237
|
+
- Optional audio generation via `generate_audio`
|
|
238
|
+
|
|
107
239
|
### Configuration Options
|
|
108
240
|
|
|
109
241
|
The plugin accepts the following configuration options:
|
|
110
242
|
|
|
111
|
-
| Option | Type
|
|
112
|
-
| ------------- |
|
|
113
|
-
| `text2video` | Provider
|
|
114
|
-
| `image2video` | Provider
|
|
115
|
-
| `debug` | boolean
|
|
116
|
-
| `dryRun` | boolean
|
|
117
|
-
| `middleware` | Function[]
|
|
243
|
+
| Option | Type | Description | Default |
|
|
244
|
+
| ------------- | -------------------- | ----------------------------------------------- | --------- |
|
|
245
|
+
| `text2video` | Provider \| Provider[] | Provider(s) for text-to-video generation. When multiple providers are provided, users can select between them | undefined |
|
|
246
|
+
| `image2video` | Provider \| Provider[] | Provider(s) for image-to-video transformation. When multiple providers are provided, users can select between them | undefined |
|
|
247
|
+
| `debug` | boolean | Enable debug logging | false |
|
|
248
|
+
| `dryRun` | boolean | Simulate generation without API calls | false |
|
|
249
|
+
| `middleware` | Function[] | Array of middleware functions for the generation | undefined |
|
|
118
250
|
|
|
119
251
|
### Middleware Configuration
|
|
120
252
|
|
|
@@ -159,7 +291,7 @@ const customMiddleware = async (input, options, next) => {
|
|
|
159
291
|
cesdk.addPlugin(
|
|
160
292
|
VideoGeneration({
|
|
161
293
|
text2video: FalAiVideo.MinimaxVideo01Live({
|
|
162
|
-
proxyUrl: '
|
|
294
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy'
|
|
163
295
|
}),
|
|
164
296
|
middleware: [logging, rateLimit, customMiddleware] // Apply middleware in order
|
|
165
297
|
})
|
|
@@ -179,10 +311,20 @@ For security reasons, it's recommended to use a proxy server to handle API reque
|
|
|
179
311
|
|
|
180
312
|
```typescript
|
|
181
313
|
text2video: FalAiVideo.MinimaxVideo01Live({
|
|
182
|
-
proxyUrl: '
|
|
314
|
+
proxyUrl: 'http://your-proxy-server.com/api/proxy',
|
|
315
|
+
headers: {
|
|
316
|
+
'x-custom-header': 'value',
|
|
317
|
+
'x-client-version': '1.0.0'
|
|
318
|
+
}
|
|
183
319
|
});
|
|
184
320
|
```
|
|
185
321
|
|
|
322
|
+
The `headers` option allows you to include custom HTTP headers in all API requests. This is useful for:
|
|
323
|
+
- Adding custom client identification headers
|
|
324
|
+
- Including version information
|
|
325
|
+
- Passing through metadata required by your API
|
|
326
|
+
- Adding correlation IDs for request tracing
|
|
327
|
+
|
|
186
328
|
You'll need to implement a proxy server that forwards requests to fal.ai and handles authentication.
|
|
187
329
|
|
|
188
330
|
## API Reference
|
|
@@ -199,11 +341,11 @@ Creates and returns a plugin that can be added to CreativeEditor SDK.
|
|
|
199
341
|
|
|
200
342
|
```typescript
|
|
201
343
|
interface PluginConfiguration {
|
|
202
|
-
// Provider for text-to-video generation
|
|
203
|
-
text2video?: AiVideoProvider;
|
|
344
|
+
// Provider(s) for text-to-video generation
|
|
345
|
+
text2video?: AiVideoProvider | AiVideoProvider[];
|
|
204
346
|
|
|
205
|
-
// Provider for image-to-video generation
|
|
206
|
-
image2video?: AiVideoProvider;
|
|
347
|
+
// Provider(s) for image-to-video generation
|
|
348
|
+
image2video?: AiVideoProvider | AiVideoProvider[];
|
|
207
349
|
|
|
208
350
|
// Enable debug logging
|
|
209
351
|
debug?: boolean;
|
|
@@ -223,6 +365,7 @@ interface PluginConfiguration {
|
|
|
223
365
|
```typescript
|
|
224
366
|
FalAiVideo.MinimaxVideo01Live(config: {
|
|
225
367
|
proxyUrl: string;
|
|
368
|
+
headers?: Record<string, string>;
|
|
226
369
|
debug?: boolean;
|
|
227
370
|
}): AiVideoProvider
|
|
228
371
|
```
|
|
@@ -232,6 +375,7 @@ FalAiVideo.MinimaxVideo01Live(config: {
|
|
|
232
375
|
```typescript
|
|
233
376
|
FalAiVideo.MinimaxVideo01LiveImageToVideo(config: {
|
|
234
377
|
proxyUrl: string;
|
|
378
|
+
headers?: Record<string, string>;
|
|
235
379
|
debug?: boolean;
|
|
236
380
|
}): AiVideoProvider
|
|
237
381
|
```
|
|
@@ -240,6 +384,34 @@ FalAiVideo.MinimaxVideo01LiveImageToVideo(config: {
|
|
|
240
384
|
|
|
241
385
|
```typescript
|
|
242
386
|
FalAiVideo.PixverseV35TextToVideo(config: {
|
|
387
|
+
proxyUrl: string;
|
|
388
|
+
headers?: Record<string, string>;
|
|
389
|
+
debug?: boolean;
|
|
390
|
+
}): AiVideoProvider
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
#### KlingVideoV21MasterTextToVideo
|
|
394
|
+
|
|
395
|
+
```typescript
|
|
396
|
+
FalAiVideo.KlingVideoV21MasterTextToVideo(config: {
|
|
397
|
+
proxyUrl: string;
|
|
398
|
+
debug?: boolean;
|
|
399
|
+
}): AiVideoProvider
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
#### KlingVideoV21MasterImageToVideo
|
|
403
|
+
|
|
404
|
+
```typescript
|
|
405
|
+
FalAiVideo.KlingVideoV21MasterImageToVideo(config: {
|
|
406
|
+
proxyUrl: string;
|
|
407
|
+
debug?: boolean;
|
|
408
|
+
}): AiVideoProvider
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
#### Veo3TextToVideo
|
|
412
|
+
|
|
413
|
+
```typescript
|
|
414
|
+
FalAiVideo.Veo3TextToVideo(config: {
|
|
243
415
|
proxyUrl: string;
|
|
244
416
|
debug?: boolean;
|
|
245
417
|
}): AiVideoProvider
|
|
@@ -256,12 +428,15 @@ The plugin automatically registers the following UI components:
|
|
|
256
428
|
|
|
257
429
|
### Panel IDs
|
|
258
430
|
|
|
259
|
-
- Main panel: `ly.img.ai
|
|
431
|
+
- Main panel: `ly.img.ai.video-generation`
|
|
260
432
|
- Canvas quick actions: `ly.img.ai.video.canvasMenu`
|
|
261
433
|
- Provider-specific panels:
|
|
262
|
-
- MinimaxVideo01Live: `ly.img.ai
|
|
263
|
-
- MinimaxVideo01LiveImageToVideo: `ly.img.ai
|
|
264
|
-
- PixverseV35TextToVideo: `ly.img.ai
|
|
434
|
+
- MinimaxVideo01Live: `ly.img.ai.fal-ai/minimax/video-01-live`
|
|
435
|
+
- MinimaxVideo01LiveImageToVideo: `ly.img.ai.fal-ai/minimax/video-01-live/image-to-video`
|
|
436
|
+
- PixverseV35TextToVideo: `ly.img.ai.fal-ai/pixverse/v3.5/text-to-video`
|
|
437
|
+
- KlingVideoV21MasterTextToVideo: `ly.img.ai.fal-ai/kling-video/v2.1/master/text-to-video`
|
|
438
|
+
- KlingVideoV21MasterImageToVideo: `ly.img.ai.fal-ai/kling-video/v2.1/master/image-to-video`
|
|
439
|
+
- Veo3TextToVideo: `ly.img.ai.fal-ai/veo3`
|
|
265
440
|
|
|
266
441
|
### Asset History
|
|
267
442
|
|
|
@@ -270,6 +445,9 @@ Generated videos are automatically stored in asset sources with the following ID
|
|
|
270
445
|
- MinimaxVideo01Live: `fal-ai/minimax/video-01-live.history`
|
|
271
446
|
- MinimaxVideo01LiveImageToVideo: `fal-ai/minimax/video-01-live/image-to-video.history`
|
|
272
447
|
- PixverseV35TextToVideo: `fal-ai/pixverse/v3.5/text-to-video.history`
|
|
448
|
+
- KlingVideoV21MasterTextToVideo: `fal-ai/kling-video/v2.1/master/text-to-video.history`
|
|
449
|
+
- KlingVideoV21MasterImageToVideo: `fal-ai/kling-video/v2.1/master/image-to-video.history`
|
|
450
|
+
- Veo3TextToVideo: `fal-ai/veo3.history`
|
|
273
451
|
|
|
274
452
|
### Dock Integration
|
|
275
453
|
|
|
@@ -278,21 +456,21 @@ The plugin automatically registers a dock component with a sparkle icon that ope
|
|
|
278
456
|
```typescript
|
|
279
457
|
// Add the AI Video component to the beginning of the dock
|
|
280
458
|
cesdk.ui.setDockOrder([
|
|
281
|
-
'ly.img.ai
|
|
459
|
+
'ly.img.ai.video-generation.dock',
|
|
282
460
|
...cesdk.ui.getDockOrder()
|
|
283
461
|
]);
|
|
284
462
|
|
|
285
463
|
// Or add it at a specific position
|
|
286
464
|
const currentOrder = cesdk.ui.getDockOrder();
|
|
287
|
-
currentOrder.splice(2, 0, 'ly.img.ai
|
|
465
|
+
currentOrder.splice(2, 0, 'ly.img.ai.video-generation.dock');
|
|
288
466
|
cesdk.ui.setDockOrder(currentOrder);
|
|
289
467
|
```
|
|
290
468
|
|
|
291
469
|
## Related Packages
|
|
292
470
|
|
|
293
|
-
- [@imgly/plugin-ai-generation-web](https://github.com/imgly/plugin-ai-generation-web) - Core utilities for AI generation
|
|
294
|
-
- [@imgly/plugin-ai-image-generation-web](https://github.com/imgly/plugin-ai-image-generation-web) - AI image generation
|
|
295
|
-
- [@imgly/plugin-ai-audio-generation-web](https://github.com/imgly/plugin-ai-audio-generation-web) - AI audio generation
|
|
471
|
+
- [@imgly/plugin-ai-generation-web](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-generation-web) - Core utilities for AI generation
|
|
472
|
+
- [@imgly/plugin-ai-image-generation-web](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-image-generation-web) - AI image generation
|
|
473
|
+
- [@imgly/plugin-ai-audio-generation-web](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-audio-generation-web) - AI audio generation
|
|
296
474
|
|
|
297
475
|
## License
|
|
298
476
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
1
|
export declare const PLUGIN_ID = "@imgly/plugin-ai-video-generation-web";
|
|
2
|
+
/**
|
|
3
|
+
* Default order for video quick actions.
|
|
4
|
+
* This is used as a fallback when children is undefined in canvas menu order.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_VIDEO_QUICK_ACTION_ORDER: string[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { VideoOutput, type Provider, CommonProviderConfiguration } from '@imgly/plugin-ai-generation-web';
|
|
2
|
+
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
3
|
+
type KlingVideoV21MasterImageToVideoInput = {
|
|
4
|
+
prompt: string;
|
|
5
|
+
image_url: string;
|
|
6
|
+
duration?: '5' | '10';
|
|
7
|
+
negative_prompt?: string;
|
|
8
|
+
cfg_scale?: number;
|
|
9
|
+
};
|
|
10
|
+
interface ProviderConfiguration extends CommonProviderConfiguration<KlingVideoV21MasterImageToVideoInput, VideoOutput> {
|
|
11
|
+
}
|
|
12
|
+
export declare function KlingVideoV21MasterImageToVideo(config: ProviderConfiguration): (context: {
|
|
13
|
+
cesdk: CreativeEditorSDK;
|
|
14
|
+
}) => Promise<Provider<'video', KlingVideoV21MasterImageToVideoInput, VideoOutput>>;
|
|
15
|
+
declare function getProvider(cesdk: CreativeEditorSDK, config: ProviderConfiguration): Provider<'video', KlingVideoV21MasterImageToVideoInput, {
|
|
16
|
+
kind: 'video';
|
|
17
|
+
url: string;
|
|
18
|
+
}>;
|
|
19
|
+
export default getProvider;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonProviderConfiguration, VideoOutput, type Provider } from '@imgly/plugin-ai-generation-web';
|
|
2
|
+
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
3
|
+
interface ProviderConfiguration extends CommonProviderConfiguration<KlingVideoV21MasterTextToVideoInput, VideoOutput> {
|
|
4
|
+
}
|
|
5
|
+
type KlingVideoV21MasterTextToVideoInput = {
|
|
6
|
+
prompt: string;
|
|
7
|
+
duration?: '5' | '10';
|
|
8
|
+
aspect_ratio?: '16:9' | '9:16' | '1:1';
|
|
9
|
+
negative_prompt?: string;
|
|
10
|
+
cfg_scale?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function KlingVideoV21MasterTextToVideo(config: ProviderConfiguration): (context: {
|
|
13
|
+
cesdk: CreativeEditorSDK;
|
|
14
|
+
}) => Promise<Provider<'video', KlingVideoV21MasterTextToVideoInput, VideoOutput>>;
|
|
15
|
+
declare function getProvider(cesdk: CreativeEditorSDK, config: ProviderConfiguration): Provider<'video', KlingVideoV21MasterTextToVideoInput, {
|
|
16
|
+
kind: 'video';
|
|
17
|
+
url: string;
|
|
18
|
+
}>;
|
|
19
|
+
export default getProvider;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CommonProviderConfiguration, VideoOutput, type Provider } from '@imgly/plugin-ai-generation-web';
|
|
2
|
+
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
3
|
+
interface ProviderConfiguration extends CommonProviderConfiguration<Veo3Input, VideoOutput> {
|
|
4
|
+
}
|
|
5
|
+
type Veo3Input = {
|
|
6
|
+
prompt: string;
|
|
7
|
+
aspect_ratio?: '16:9' | '9:16' | '1:1';
|
|
8
|
+
duration?: '8s';
|
|
9
|
+
generate_audio?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function Veo3TextToVideo(config: ProviderConfiguration): (context: {
|
|
12
|
+
cesdk: CreativeEditorSDK;
|
|
13
|
+
}) => Promise<Provider<'video', Veo3Input, VideoOutput>>;
|
|
14
|
+
declare function getProvider(cesdk: CreativeEditorSDK, config: ProviderConfiguration): Provider<'video', Veo3Input, {
|
|
15
|
+
kind: 'video';
|
|
16
|
+
url: string;
|
|
17
|
+
}>;
|
|
18
|
+
export default getProvider;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { type OpenAPIV3 } from 'openapi-types';
|
|
2
2
|
import CreativeEditorSDK, { CreativeEngine } from '@cesdk/cesdk-js';
|
|
3
|
-
import { Provider, RenderCustomProperty, VideoOutput, GetBlockInput, Middleware
|
|
3
|
+
import { Provider, RenderCustomProperty, VideoOutput, GetBlockInput, Middleware } from '@imgly/plugin-ai-generation-web';
|
|
4
|
+
import { VideoQuickActionSupportMap } from '../types';
|
|
4
5
|
type VideoProviderConfiguration = {
|
|
5
6
|
proxyUrl: string;
|
|
6
7
|
debug?: boolean;
|
|
8
|
+
middlewares?: Middleware<any, any>[];
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `middlewares` instead.
|
|
11
|
+
*/
|
|
12
|
+
middleware?: Middleware<any, any>[];
|
|
7
13
|
};
|
|
8
14
|
/**
|
|
9
15
|
* Creates a base provider from schema. This should work out of the box
|
|
@@ -11,6 +17,7 @@ type VideoProviderConfiguration = {
|
|
|
11
17
|
*/
|
|
12
18
|
declare function createVideoProvider<I extends Record<string, any>>(options: {
|
|
13
19
|
modelKey: string;
|
|
20
|
+
name?: string;
|
|
14
21
|
schema: OpenAPIV3.Document;
|
|
15
22
|
inputReference: string;
|
|
16
23
|
useFlow?: 'placeholder' | 'generation-only';
|
|
@@ -20,7 +27,7 @@ declare function createVideoProvider<I extends Record<string, any>>(options: {
|
|
|
20
27
|
}) => void;
|
|
21
28
|
renderCustomProperty?: RenderCustomProperty;
|
|
22
29
|
getBlockInput: GetBlockInput<'video', I>;
|
|
23
|
-
|
|
30
|
+
supportedQuickActions?: VideoQuickActionSupportMap<I>;
|
|
24
31
|
middleware?: Middleware<I, VideoOutput>[];
|
|
25
32
|
headers?: Record<string, string>;
|
|
26
33
|
cesdk?: CreativeEditorSDK;
|
package/dist/fal-ai/index.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { MinimaxVideo01Live } from './MinimaxVideo01Live';
|
|
2
2
|
import { MinimaxVideo01LiveImageToVideo } from './MinimaxVideo01LiveImageToVideo';
|
|
3
|
+
import { KlingVideoV21MasterImageToVideo } from './KlingVideoV21MasterImageToVideo';
|
|
3
4
|
import { PixverseV35TextToVideo } from './PixverseV35TextToVideo';
|
|
5
|
+
import { KlingVideoV21MasterTextToVideo } from './KlingVideoV21MasterTextToVideo';
|
|
6
|
+
import { Veo3TextToVideo } from './Veo3TextToVideo';
|
|
4
7
|
declare const FalAi: {
|
|
5
8
|
MinimaxVideo01Live: typeof MinimaxVideo01Live;
|
|
6
9
|
MinimaxVideo01LiveImageToVideo: typeof MinimaxVideo01LiveImageToVideo;
|
|
10
|
+
KlingVideoV21MasterImageToVideo: typeof KlingVideoV21MasterImageToVideo;
|
|
7
11
|
PixverseV35TextToVideo: typeof PixverseV35TextToVideo;
|
|
12
|
+
KlingVideoV21MasterTextToVideo: typeof KlingVideoV21MasterTextToVideo;
|
|
13
|
+
Veo3TextToVideo: typeof Veo3TextToVideo;
|
|
8
14
|
};
|
|
9
15
|
export default FalAi;
|