@imgly/plugin-ai-video-generation-web 0.2.14 → 0.2.16

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,31 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.2.16] - 2026-01-16
6
+
7
+ ### New Features
8
+
9
+ - [all] **Translatable Action Labels**: AI plugin action labels now support full i18n through `labelKey` property, enabling dynamic translation resolution based on the current locale.
10
+ - [generation-web] **setDefaultTranslations Utility**: Added `setDefaultTranslations()` function that only sets translation keys that don't already exist, allowing integrators to customize translations before plugins load without being overwritten.
11
+ - [all] **External Translation Files**: Plugin translations are now loaded from external `translations.json` files, making it easier to review and customize available translation keys.
12
+
13
+ ### Improvements
14
+
15
+ - [all] **Translation Override Pattern**: All AI plugins now use `setDefaultTranslations()` instead of `setTranslations()`, ensuring integrator-provided translations take priority over plugin defaults.
16
+ - [apps-web] **Dynamic Card Labels**: AI Apps panel now resolves card labels dynamically using `labelKey` from action metadata, enabling proper i18n for app cards.
17
+
18
+ ### Documentation
19
+
20
+ - [all] Added comprehensive i18n documentation to README files explaining how to customize translations before plugin initialization.
21
+
22
+ ## [0.2.15] - 2026-01-12
23
+
24
+ ### New Features
25
+
26
+ - [all] **EachLabs Partner Integration**: Added EachLabs as a new AI provider service with unified API access to multiple image and video generation models.
27
+ - **Image Generation**: Flux 2 Pro, Flux 2, Flux 2 Flex, Nano Banana Pro, OpenAI GPT Image, Seedream v4.5, Gemini 3 Pro (all with text-to-image and image-to-image variants)
28
+ - **Video Generation**: Kling v2.6 Pro, Kling O1, Veo 3.1 (text-to-video and image-to-video variants)
29
+
5
30
  ## [0.2.14] - 2025-12-15
6
31
 
7
32
  ## [0.2.13] - 2025-12-15
package/README.md CHANGED
@@ -598,6 +598,115 @@ Key features:
598
598
  - Resolutions: 1280×720, 720×1280, 1792×1024 (7:4), 1024×1792 (4:7)
599
599
  - Durations: 4, 8, or 12 seconds
600
600
 
601
+ ### EachLabs Providers
602
+
603
+ EachLabs provides access to multiple AI video models through a unified API. These providers require an EachLabs proxy URL for authentication.
604
+
605
+ #### 18. KlingV26ProTextToVideo (Text-to-Video) via EachLabs
606
+
607
+ Kling v2.6 Pro text-to-video model accessed through EachLabs:
608
+
609
+ ```typescript
610
+ import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs';
611
+
612
+ text2video: EachLabsVideo.KlingV26ProTextToVideo({
613
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy',
614
+ // Optional: Configure default values
615
+ middlewares: [rateLimitMiddleware, errorMiddleware]
616
+ })
617
+ ```
618
+
619
+ Key features:
620
+ - Kling v2.6 Pro - latest high-quality video generation
621
+ - Aspect ratios: 16:9, 9:16, 1:1
622
+ - Duration: 5 or 10 seconds
623
+ - Native audio generation (Chinese/English)
624
+ - Async delivery with polling
625
+
626
+ #### 19. KlingV26ProImageToVideo (Image-to-Video) via EachLabs
627
+
628
+ Kling v2.6 Pro image-to-video model:
629
+
630
+ ```typescript
631
+ import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs';
632
+
633
+ image2video: EachLabsVideo.KlingV26ProImageToVideo({
634
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy',
635
+ // Optional: Configure default values
636
+ middlewares: [rateLimitMiddleware, errorMiddleware]
637
+ })
638
+ ```
639
+
640
+ Key features:
641
+ - Transform existing images into videos
642
+ - Duration: 5 or 10 seconds
643
+ - Native audio generation (Chinese/English)
644
+ - Canvas quick-action integration
645
+ - Maintains image aspect ratio
646
+
647
+ #### 20. KlingO1ImageToVideo (Image-to-Video) via EachLabs
648
+
649
+ Kling O1 image-to-video model:
650
+
651
+ ```typescript
652
+ import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs';
653
+
654
+ image2video: EachLabsVideo.KlingO1ImageToVideo({
655
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy',
656
+ // Optional: Configure default values
657
+ middlewares: [rateLimitMiddleware, errorMiddleware]
658
+ })
659
+ ```
660
+
661
+ Key features:
662
+ - Transform existing images into videos
663
+ - Duration: 5 or 10 seconds
664
+ - Canvas quick-action integration
665
+ - Maintains image aspect ratio
666
+
667
+ #### 22. Veo31TextToVideo (Text-to-Video) via EachLabs
668
+
669
+ Google's Veo 3.1 text-to-video model accessed through EachLabs:
670
+
671
+ ```typescript
672
+ import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs';
673
+
674
+ text2video: EachLabsVideo.Veo31TextToVideo({
675
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy',
676
+ // Optional: Configure default values
677
+ middlewares: [rateLimitMiddleware, errorMiddleware]
678
+ })
679
+ ```
680
+
681
+ Key features:
682
+ - Google's Veo 3.1 - high-quality text-to-video generation
683
+ - Aspect ratios: 16:9, 9:16
684
+ - Resolution: 720p or 1080p
685
+ - 8-second video duration
686
+ - Optional audio generation
687
+ - Async delivery with polling
688
+
689
+ #### 23. Veo31ImageToVideo (Image-to-Video) via EachLabs
690
+
691
+ Google's Veo 3.1 image-to-video model:
692
+
693
+ ```typescript
694
+ import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs';
695
+
696
+ image2video: EachLabsVideo.Veo31ImageToVideo({
697
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy',
698
+ // Optional: Configure default values
699
+ middlewares: [rateLimitMiddleware, errorMiddleware]
700
+ })
701
+ ```
702
+
703
+ Key features:
704
+ - Transform existing images into videos
705
+ - Resolution: 720p or 1080p
706
+ - 8-second video duration
707
+ - Optional audio generation
708
+ - Canvas quick-action integration
709
+
601
710
  ### Feature Control
602
711
 
603
712
  You can control various aspects of the video generation plugin using the Feature API:
@@ -1012,6 +1121,49 @@ RunwareVideo.Sora2Pro.Text2Video(config: RunwareProviderConfiguration)
1012
1121
  RunwareVideo.Sora2Pro.Image2Video(config: RunwareProviderConfiguration)
1013
1122
  ```
1014
1123
 
1124
+ ### EachLabs Providers
1125
+
1126
+ All EachLabs video providers use the following configuration:
1127
+
1128
+ ```typescript
1129
+ interface EachLabsProviderConfiguration {
1130
+ proxyUrl: string; // HTTP endpoint URL for the EachLabs proxy
1131
+ debug?: boolean; // Enable debug logging
1132
+ middlewares?: any[]; // Optional middleware functions
1133
+ history?: false | '@imgly/local' | '@imgly/indexedDB' | (string & {});
1134
+ }
1135
+ ```
1136
+
1137
+ #### KlingV26ProTextToVideo
1138
+
1139
+ ```typescript
1140
+ EachLabsVideo.KlingV26ProTextToVideo(config: EachLabsProviderConfiguration)
1141
+ ```
1142
+
1143
+ #### KlingV26ProImageToVideo
1144
+
1145
+ ```typescript
1146
+ EachLabsVideo.KlingV26ProImageToVideo(config: EachLabsProviderConfiguration)
1147
+ ```
1148
+
1149
+ #### KlingO1ImageToVideo
1150
+
1151
+ ```typescript
1152
+ EachLabsVideo.KlingO1ImageToVideo(config: EachLabsProviderConfiguration)
1153
+ ```
1154
+
1155
+ #### Veo31TextToVideo
1156
+
1157
+ ```typescript
1158
+ EachLabsVideo.Veo31TextToVideo(config: EachLabsProviderConfiguration)
1159
+ ```
1160
+
1161
+ #### Veo31ImageToVideo
1162
+
1163
+ ```typescript
1164
+ EachLabsVideo.Veo31ImageToVideo(config: EachLabsProviderConfiguration)
1165
+ ```
1166
+
1015
1167
  ## UI Integration
1016
1168
 
1017
1169
  The plugin automatically registers the following UI components:
@@ -1048,6 +1200,11 @@ The plugin automatically registers the following UI components:
1048
1200
  - Runware Sora2.Image2Video: `ly.img.ai.runware/openai/sora-2/image2video`
1049
1201
  - Runware Sora2Pro.Text2Video: `ly.img.ai.runware/openai/sora-2-pro`
1050
1202
  - Runware Sora2Pro.Image2Video: `ly.img.ai.runware/openai/sora-2-pro/image2video`
1203
+ - EachLabs KlingV26ProTextToVideo: `ly.img.ai.eachlabs/kling-v2-6-pro-text-to-video`
1204
+ - EachLabs KlingV26ProImageToVideo: `ly.img.ai.eachlabs/kling-v2-6-pro-image-to-video`
1205
+ - EachLabs KlingO1ImageToVideo: `ly.img.ai.eachlabs/kling-o1-image-to-video`
1206
+ - EachLabs Veo31TextToVideo: `ly.img.ai.eachlabs/veo3-1-text-to-video`
1207
+ - EachLabs Veo31ImageToVideo: `ly.img.ai.eachlabs/veo3-1-image-to-video`
1051
1208
 
1052
1209
  ### Asset History
1053
1210
 
@@ -1075,6 +1232,11 @@ Generated videos are automatically stored in asset sources with the following ID
1075
1232
  - Runware Sora2.Image2Video: `runware/openai/sora-2/image2video.history`
1076
1233
  - Runware Sora2Pro.Text2Video: `runware/openai/sora-2-pro.history`
1077
1234
  - Runware Sora2Pro.Image2Video: `runware/openai/sora-2-pro/image2video.history`
1235
+ - EachLabs KlingV26ProTextToVideo: `eachlabs/kling-v2-6-pro-text-to-video.history`
1236
+ - EachLabs KlingV26ProImageToVideo: `eachlabs/kling-v2-6-pro-image-to-video.history`
1237
+ - EachLabs KlingO1ImageToVideo: `eachlabs/kling-o1-image-to-video.history`
1238
+ - EachLabs Veo31TextToVideo: `eachlabs/veo3-1-text-to-video.history`
1239
+ - EachLabs Veo31ImageToVideo: `eachlabs/veo3-1-image-to-video.history`
1078
1240
 
1079
1241
  ### Dock Integration
1080
1242
 
@@ -1093,9 +1255,27 @@ currentOrder.splice(2, 0, 'ly.img.ai.video-generation.dock');
1093
1255
  cesdk.ui.setDockOrder(currentOrder);
1094
1256
  ```
1095
1257
 
1096
- ## Translations
1258
+ ## Internationalization (i18n)
1259
+
1260
+ The Video Generation plugin supports full internationalization. To customize translations, set them **before** adding the plugin:
1261
+
1262
+ ```typescript
1263
+ cesdk.i18n.setTranslations({
1264
+ en: {
1265
+ '@imgly/plugin-ai-video-generation-web.action.label': 'Create Video'
1266
+ },
1267
+ de: {
1268
+ '@imgly/plugin-ai-video-generation-web.action.label': 'Video erstellen'
1269
+ }
1270
+ });
1271
+
1272
+ // Then add the plugins - they won't override your custom translations
1273
+ await cesdk.addPlugin(AiApps({ providers: { /* ... */ } }));
1274
+ ```
1275
+
1276
+ For detailed documentation on the translation system, see the [Internationalization section](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-generation-web#internationalization-i18n) in the core AI generation package.
1097
1277
 
1098
- For customization and localization, see the [translations.json](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-video-generation-web/translations.json) file which contains provider-specific translation keys for video generation interfaces.
1278
+ For all available translation keys, see the [translations.json](https://github.com/imgly/plugins/tree/main/packages/plugin-ai-video-generation-web/translations.json) file.
1099
1279
 
1100
1280
  ## Related Packages
1101
1281