@imgly/plugin-ai-image-generation-web 0.2.14 → 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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.2.15] - 2026-01-12
6
+
7
+ ### New Features
8
+
9
+ - [all] **EachLabs Partner Integration**: Added EachLabs as a new AI provider service with unified API access to multiple image and video generation models.
10
+ - **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)
11
+ - **Video Generation**: Kling v2.6 Pro, Kling O1, Veo 3.1 (text-to-video and image-to-video variants)
12
+
5
13
  ## [0.2.14] - 2025-12-15
6
14
 
7
15
  ## [0.2.13] - 2025-12-15
package/README.md CHANGED
@@ -1073,6 +1073,229 @@ Key features:
1073
1073
  - Fixed resolutions: 1024×1024, 1536×1024, 1024×1536
1074
1074
  - Instruction-based editing for I2I
1075
1075
 
1076
+ ### EachLabs Providers
1077
+
1078
+ EachLabs provides access to multiple AI models through a unified API. These providers require an EachLabs proxy URL for authentication.
1079
+
1080
+ ```typescript
1081
+ import EachLabsImage from '@imgly/plugin-ai-image-generation-web/eachlabs';
1082
+ ```
1083
+
1084
+ #### 22. NanoBananaPro (Text-to-Image) via EachLabs
1085
+
1086
+ Nano Banana Pro multi-style image generation via EachLabs:
1087
+
1088
+ ```typescript
1089
+ text2image: EachLabsImage.NanoBananaPro.Text2Image({
1090
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1091
+ })
1092
+ ```
1093
+
1094
+ Key features:
1095
+ - Multi-style image generation
1096
+ - 10 aspect ratio options (1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 9:21, 2.4:1)
1097
+ - Multiple resolution options (1K, 2K, 4K)
1098
+ - High-quality output
1099
+
1100
+ #### 23. NanoBananaPro Edit (Image-to-Image) via EachLabs
1101
+
1102
+ Nano Banana Pro image transformation via EachLabs:
1103
+
1104
+ ```typescript
1105
+ image2image: EachLabsImage.NanoBananaPro.Image2Image({
1106
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1107
+ })
1108
+ ```
1109
+
1110
+ Key features:
1111
+ - Multi-style image transformation
1112
+ - Multiple resolution options (1K, 2K, 4K)
1113
+ - Supports up to 10 reference images
1114
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1115
+
1116
+ #### 24. Flux2Pro (Text-to-Image) via EachLabs
1117
+
1118
+ Black Forest Labs' Flux 2 Pro high-quality text-to-image generation via EachLabs:
1119
+
1120
+ ```typescript
1121
+ text2image: EachLabsImage.Flux2Pro.Text2Image({
1122
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1123
+ })
1124
+ ```
1125
+
1126
+ Key features:
1127
+ - High-quality image generation from Black Forest Labs
1128
+ - 6 image size options (square HD, square, portrait 4:3/16:9, landscape 4:3/16:9)
1129
+ - Professional-grade output quality
1130
+
1131
+ #### 25. Flux2Pro Edit (Image-to-Image) via EachLabs
1132
+
1133
+ Black Forest Labs' Flux 2 Pro image transformation via EachLabs:
1134
+
1135
+ ```typescript
1136
+ image2image: EachLabsImage.Flux2Pro.Image2Image({
1137
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1138
+ })
1139
+ ```
1140
+
1141
+ Key features:
1142
+ - High-quality image transformation
1143
+ - Supports up to 4 reference images
1144
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1145
+
1146
+ #### 26. Flux2 (Text-to-Image) via EachLabs
1147
+
1148
+ Black Forest Labs' Flux 2 standard text-to-image generation via EachLabs:
1149
+
1150
+ ```typescript
1151
+ text2image: EachLabsImage.Flux2.Text2Image({
1152
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1153
+ })
1154
+ ```
1155
+
1156
+ Key features:
1157
+ - Standard Flux 2 image generation from Black Forest Labs
1158
+ - 6 image size options (square HD, square, portrait 4:3/16:9, landscape 4:3/16:9)
1159
+ - Good quality output with faster generation
1160
+
1161
+ #### 27. Flux2 Edit (Image-to-Image) via EachLabs
1162
+
1163
+ Black Forest Labs' Flux 2 image transformation via EachLabs:
1164
+
1165
+ ```typescript
1166
+ image2image: EachLabsImage.Flux2.Image2Image({
1167
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1168
+ })
1169
+ ```
1170
+
1171
+ Key features:
1172
+ - Standard Flux 2 image transformation
1173
+ - Supports up to 3 reference images
1174
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1175
+
1176
+ #### 28. Flux2Flex (Text-to-Image) via EachLabs
1177
+
1178
+ Black Forest Labs' Flux 2 Flex text-to-image generation with automatic prompt expansion via EachLabs:
1179
+
1180
+ ```typescript
1181
+ text2image: EachLabsImage.Flux2Flex.Text2Image({
1182
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1183
+ })
1184
+ ```
1185
+
1186
+ Key features:
1187
+ - Automatic prompt expansion using the model's knowledge
1188
+ - 6 image size options (square HD, square, portrait 4:3/16:9, landscape 4:3/16:9)
1189
+ - High-quality Flux 2 generation from Black Forest Labs
1190
+
1191
+ #### 29. Flux2Flex Edit (Image-to-Image) via EachLabs
1192
+
1193
+ Black Forest Labs' Flux 2 Flex image transformation with automatic prompt expansion via EachLabs:
1194
+
1195
+ ```typescript
1196
+ image2image: EachLabsImage.Flux2Flex.Image2Image({
1197
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1198
+ })
1199
+ ```
1200
+
1201
+ Key features:
1202
+ - Automatic prompt expansion using the model's knowledge
1203
+ - Automatic image size detection ("auto" mode)
1204
+ - Supports up to 10 reference images
1205
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1206
+
1207
+ #### 30. OpenAI GPT Image (Text-to-Image) via EachLabs
1208
+
1209
+ OpenAI's GPT Image text-to-image generation via EachLabs:
1210
+
1211
+ ```typescript
1212
+ text2image: EachLabsImage.OpenAIGptImage.Text2Image({
1213
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1214
+ })
1215
+ ```
1216
+
1217
+ Key features:
1218
+ - High-quality image generation from OpenAI
1219
+ - 3 image size options (Square, Landscape, Portrait)
1220
+ - Professional-grade output quality
1221
+
1222
+ #### 31. OpenAI GPT Image Edit (Image-to-Image) via EachLabs
1223
+
1224
+ OpenAI's GPT Image image transformation via EachLabs:
1225
+
1226
+ ```typescript
1227
+ image2image: EachLabsImage.OpenAIGptImage.Image2Image({
1228
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1229
+ })
1230
+ ```
1231
+
1232
+ Key features:
1233
+ - High-quality image transformation
1234
+ - Supports up to 16 reference images
1235
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1236
+
1237
+ #### 32. Seedream v4.5 (Text-to-Image) via EachLabs
1238
+
1239
+ ByteDance's Seedream v4.5 text-to-image generation via EachLabs:
1240
+
1241
+ ```typescript
1242
+ text2image: EachLabsImage.Seedream45.Text2Image({
1243
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1244
+ })
1245
+ ```
1246
+
1247
+ Key features:
1248
+ - High-quality image generation from ByteDance
1249
+ - 6 image size options (square HD, square, portrait 4:3/16:9, landscape 4:3/16:9)
1250
+ - Improved facial details and text generation over v4.0
1251
+
1252
+ #### 33. Seedream v4.5 Edit (Image-to-Image) via EachLabs
1253
+
1254
+ ByteDance's Seedream v4.5 image transformation via EachLabs:
1255
+
1256
+ ```typescript
1257
+ image2image: EachLabsImage.Seedream45.Image2Image({
1258
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1259
+ })
1260
+ ```
1261
+
1262
+ Key features:
1263
+ - High-quality image transformation
1264
+ - Supports up to 10 reference images
1265
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1266
+ - Improved facial details and text generation over v4.0
1267
+
1268
+ #### 34. Gemini 3 Pro Image (Text-to-Image) via EachLabs
1269
+
1270
+ Google's Gemini 3 Pro text-to-image generation via EachLabs:
1271
+
1272
+ ```typescript
1273
+ text2image: EachLabsImage.Gemini3Pro.Text2Image({
1274
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1275
+ })
1276
+ ```
1277
+
1278
+ Key features:
1279
+ - High-quality image generation from Google Gemini
1280
+ - 8 aspect ratio options (1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9)
1281
+ - Multiple resolution options (1K, 2K, 4K)
1282
+ - Professional-grade output quality
1283
+
1284
+ #### 35. Gemini 3 Pro Image Edit (Image-to-Image) via EachLabs
1285
+
1286
+ Google's Gemini 3 Pro image transformation via EachLabs:
1287
+
1288
+ ```typescript
1289
+ image2image: EachLabsImage.Gemini3Pro.Image2Image({
1290
+ proxyUrl: 'http://your-eachlabs-proxy.com/api/proxy'
1291
+ })
1292
+ ```
1293
+
1294
+ Key features:
1295
+ - High-quality image transformation
1296
+ - Supports up to 10 reference images
1297
+ - Full canvas quick actions support: edit image, swap background, style transfer, artist styles, create variants, combine images, remix page
1298
+
1076
1299
  ### Customizing Labels and Translations
1077
1300
 
1078
1301
  You can customize all labels and text in the AI image generation interface using the translation system. This allows you to provide better labels for your users in any language.
@@ -1634,6 +1857,68 @@ RunwareImage.GptImage1.Text2Image(config: RunwareProviderConfiguration)
1634
1857
  RunwareImage.GptImage1.Image2Image(config: RunwareProviderConfiguration)
1635
1858
  ```
1636
1859
 
1860
+ ### EachLabs Providers
1861
+
1862
+ All EachLabs providers use the following configuration:
1863
+
1864
+ ```typescript
1865
+ interface EachLabsProviderConfiguration {
1866
+ proxyUrl: string; // HTTP endpoint URL for the EachLabs proxy
1867
+ debug?: boolean; // Enable debug logging
1868
+ middlewares?: any[]; // Optional middleware functions
1869
+ history?: false | '@imgly/local' | '@imgly/indexedDB' | (string & {});
1870
+ }
1871
+ ```
1872
+
1873
+ #### NanoBananaPro.Text2Image / NanoBananaPro.Image2Image
1874
+
1875
+ ```typescript
1876
+ EachLabsImage.NanoBananaPro.Text2Image(config: EachLabsProviderConfiguration)
1877
+ EachLabsImage.NanoBananaPro.Image2Image(config: EachLabsProviderConfiguration)
1878
+ ```
1879
+
1880
+ #### Flux2Pro.Text2Image / Flux2Pro.Image2Image
1881
+
1882
+ ```typescript
1883
+ EachLabsImage.Flux2Pro.Text2Image(config: EachLabsProviderConfiguration)
1884
+ EachLabsImage.Flux2Pro.Image2Image(config: EachLabsProviderConfiguration)
1885
+ ```
1886
+
1887
+ #### Flux2.Text2Image / Flux2.Image2Image
1888
+
1889
+ ```typescript
1890
+ EachLabsImage.Flux2.Text2Image(config: EachLabsProviderConfiguration)
1891
+ EachLabsImage.Flux2.Image2Image(config: EachLabsProviderConfiguration)
1892
+ ```
1893
+
1894
+ #### Flux2Flex.Text2Image / Flux2Flex.Image2Image
1895
+
1896
+ ```typescript
1897
+ EachLabsImage.Flux2Flex.Text2Image(config: EachLabsProviderConfiguration)
1898
+ EachLabsImage.Flux2Flex.Image2Image(config: EachLabsProviderConfiguration)
1899
+ ```
1900
+
1901
+ #### OpenAIGptImage.Text2Image / OpenAIGptImage.Image2Image
1902
+
1903
+ ```typescript
1904
+ EachLabsImage.OpenAIGptImage.Text2Image(config: EachLabsProviderConfiguration)
1905
+ EachLabsImage.OpenAIGptImage.Image2Image(config: EachLabsProviderConfiguration)
1906
+ ```
1907
+
1908
+ #### Seedream45.Text2Image / Seedream45.Image2Image
1909
+
1910
+ ```typescript
1911
+ EachLabsImage.Seedream45.Text2Image(config: EachLabsProviderConfiguration)
1912
+ EachLabsImage.Seedream45.Image2Image(config: EachLabsProviderConfiguration)
1913
+ ```
1914
+
1915
+ #### Gemini3Pro.Text2Image / Gemini3Pro.Image2Image
1916
+
1917
+ ```typescript
1918
+ EachLabsImage.Gemini3Pro.Text2Image(config: EachLabsProviderConfiguration)
1919
+ EachLabsImage.Gemini3Pro.Image2Image(config: EachLabsProviderConfiguration)
1920
+ ```
1921
+
1637
1922
  ## UI Integration
1638
1923
 
1639
1924
  The plugin automatically registers the following UI components:
@@ -1746,6 +2031,20 @@ const myImageProvider = {
1746
2031
  - Runware NanoBanana2Pro.Image2Image: `ly.img.ai.runware/google/nano-banana-2-pro/image2image`
1747
2032
  - Runware GptImage1.Text2Image: `ly.img.ai.runware/openai/gpt-image-1`
1748
2033
  - Runware GptImage1.Image2Image: `ly.img.ai.runware/openai/gpt-image-1/image2image`
2034
+ - EachLabs NanoBananaPro.Text2Image: `ly.img.ai.eachlabs/nano-banana-pro`
2035
+ - EachLabs NanoBananaPro.Image2Image: `ly.img.ai.eachlabs/nano-banana-pro/edit`
2036
+ - EachLabs Flux2Pro.Text2Image: `ly.img.ai.eachlabs/flux-2-pro`
2037
+ - EachLabs Flux2Pro.Image2Image: `ly.img.ai.eachlabs/flux-2-pro/edit`
2038
+ - EachLabs Flux2.Text2Image: `ly.img.ai.eachlabs/flux-2`
2039
+ - EachLabs Flux2.Image2Image: `ly.img.ai.eachlabs/flux-2/edit`
2040
+ - EachLabs Flux2Flex.Text2Image: `ly.img.ai.eachlabs/flux-2-flex`
2041
+ - EachLabs Flux2Flex.Image2Image: `ly.img.ai.eachlabs/flux-2-flex/edit`
2042
+ - EachLabs OpenAIGptImage.Text2Image: `ly.img.ai.eachlabs/openai-gpt-image`
2043
+ - EachLabs OpenAIGptImage.Image2Image: `ly.img.ai.eachlabs/openai-gpt-image/edit`
2044
+ - EachLabs Seedream45.Text2Image: `ly.img.ai.eachlabs/seedream-v4.5`
2045
+ - EachLabs Seedream45.Image2Image: `ly.img.ai.eachlabs/seedream-v4.5/edit`
2046
+ - EachLabs Gemini3Pro.Text2Image: `ly.img.ai.eachlabs/gemini-3-pro-image`
2047
+ - EachLabs Gemini3Pro.Image2Image: `ly.img.ai.eachlabs/gemini-3-pro-image/edit`
1749
2048
 
1750
2049
  ### Asset History
1751
2050
 
@@ -1779,6 +2078,20 @@ Generated images are automatically stored in asset sources with the following ID
1779
2078
  - Runware NanoBanana2Pro.Image2Image: `runware/google/nano-banana-2-pro/image2image.history`
1780
2079
  - Runware GptImage1.Text2Image: `runware/openai/gpt-image-1.history`
1781
2080
  - Runware GptImage1.Image2Image: `runware/openai/gpt-image-1/image2image.history`
2081
+ - EachLabs NanoBananaPro.Text2Image: `eachlabs/nano-banana-pro.history`
2082
+ - EachLabs NanoBananaPro.Image2Image: `eachlabs/nano-banana-pro/edit.history`
2083
+ - EachLabs Flux2Pro.Text2Image: `eachlabs/flux-2-pro.history`
2084
+ - EachLabs Flux2Pro.Image2Image: `eachlabs/flux-2-pro/edit.history`
2085
+ - EachLabs Flux2.Text2Image: `eachlabs/flux-2.history`
2086
+ - EachLabs Flux2.Image2Image: `eachlabs/flux-2/edit.history`
2087
+ - EachLabs Flux2Flex.Text2Image: `eachlabs/flux-2-flex.history`
2088
+ - EachLabs Flux2Flex.Image2Image: `eachlabs/flux-2-flex/edit.history`
2089
+ - EachLabs OpenAIGptImage.Text2Image: `eachlabs/openai-gpt-image.history`
2090
+ - EachLabs OpenAIGptImage.Image2Image: `eachlabs/openai-gpt-image/edit.history`
2091
+ - EachLabs Seedream45.Text2Image: `eachlabs/seedream-v4.5.history`
2092
+ - EachLabs Seedream45.Image2Image: `eachlabs/seedream-v4.5/edit.history`
2093
+ - EachLabs Gemini3Pro.Text2Image: `eachlabs/gemini-3-pro-image.history`
2094
+ - EachLabs Gemini3Pro.Image2Image: `eachlabs/gemini-3-pro-image/edit.history`
1782
2095
 
1783
2096
  ### Dock Integration
1784
2097