vidspotai-shared 1.0.28 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/lib/globals/aiModels.d.ts +14 -9
  2. package/lib/globals/aiModels.d.ts.map +1 -1
  3. package/lib/globals/aiModels.js +495 -187
  4. package/lib/models/video.model.d.ts +5 -0
  5. package/lib/models/video.model.d.ts.map +1 -1
  6. package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts +9 -0
  7. package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -0
  8. package/lib/services/aiGen/providers/bytedance/bytedance.service.js +159 -0
  9. package/lib/services/aiGen/providers/bytedance/constants.d.ts +2 -0
  10. package/lib/services/aiGen/providers/bytedance/constants.d.ts.map +1 -0
  11. package/lib/services/aiGen/providers/bytedance/constants.js +27 -0
  12. package/lib/services/aiGen/providers/bytedance/index.d.ts +2 -0
  13. package/lib/services/aiGen/providers/bytedance/index.d.ts.map +1 -0
  14. package/lib/services/aiGen/providers/bytedance/index.js +17 -0
  15. package/lib/services/aiGen/providers/bytedance/types.d.ts +5 -0
  16. package/lib/services/aiGen/providers/bytedance/types.d.ts.map +1 -0
  17. package/lib/services/aiGen/providers/bytedance/types.js +1 -0
  18. package/lib/services/aiGen/providers/google/google.service.js +1 -1
  19. package/lib/services/aiGen/providers/kling/kling.service.js +1 -1
  20. package/lib/services/aiGen/providers/minimax/minimax.service.js +1 -1
  21. package/lib/services/aiGen/providers/openai/openai.service.js +1 -1
  22. package/lib/services/gcp/gsheet.service.d.ts +7 -0
  23. package/lib/services/gcp/gsheet.service.d.ts.map +1 -1
  24. package/lib/services/gcp/gsheet.service.js +46 -0
  25. package/lib/utils/helpers.js +2 -2
  26. package/lib/utils/index.d.ts +1 -0
  27. package/lib/utils/index.d.ts.map +1 -1
  28. package/lib/utils/index.js +1 -0
  29. package/lib/utils/logger.d.ts +4 -3
  30. package/lib/utils/logger.d.ts.map +1 -1
  31. package/lib/utils/logger.js +60 -60
  32. package/package.json +2 -1
@@ -2,23 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aiModelConfigs = exports.ETextGenModels = exports.EImageGenModels = exports.EVideoGenModels = void 0;
4
4
  const types_1 = require("../services/aiGen/providers/runway/types");
5
- // export const EVideoGenModels = {
6
- // GOOGLE_VEO_3: "google-veo-3",
7
- // GOOGLE_VEO_3_FAST: "google-veo-3-fast",
8
- // GOOGLE_VEO_2: "google-veo-2",
9
- // RUNWAY_GEN4_TURBO: "runway-gen4-turbo",
10
- // RUNWAY_GEN4_ALEPH: "runway-gen4-aleph",
11
- // KLING_V1: "kling-v1",
12
- // KLING_V1_6: "kling-v1.6",
13
- // KLING_V2_MASTER: "kling-v2-master",
14
- // KLING_V2_1_MASTER: "kling-v2.1-master",
15
- // MINIMAX_HAILUO_02: "minimax-hailuo-02",
16
- // T2V_01_DIRECTOR: "T2V-01-Director",
17
- // T2V_01: "T2V-01",
18
- // OPENAI_SORA: "openai-sora",
19
- // } as const;
20
5
  var EVideoGenModels;
21
6
  (function (EVideoGenModels) {
7
+ EVideoGenModels["PIXVERSE_V5_6"] = "pixverse-v5.6";
8
+ EVideoGenModels["PIXVERSE_V5_5"] = "pixverse-v5.5";
9
+ EVideoGenModels["PIXVERSE_V5"] = "pixverse-v5";
10
+ // PIXVERSE_V4_5 = "pixverse-v4.5",
11
+ // PIXVERSE_V4 = "pixverse-v4",
12
+ // PIXVERSE_V3_5 = "pixverse-v3.5",
13
+ EVideoGenModels["BYTEDANCE_SEEDANCE_1_5_PRO"] = "bytedance-seedance-1.5-pro";
14
+ EVideoGenModels["BYTEDANCE_SEEDANCE_1_0_PRO_FAST"] = "bytedance-seedance-1.0-pro-fast";
15
+ EVideoGenModels["BYTEDANCE_SEEDANCE_1_0_PRO"] = "bytedance-seedance-1.0-pro";
16
+ // BYTEDANCE_SEEDANCE_1_0_LITE_T2V = "bytedance-seedance-1.0-lite-t2v",
17
+ // BYTEDANCE_SEEDANCE_1_0_LITE_I2V = "bytedance-seedance-1.0-lite-i2v",
22
18
  EVideoGenModels["GOOGLE_VEO_3_1_PREVIEW"] = "google-veo-3.1-preview";
23
19
  EVideoGenModels["GOOGLE_VEO_3_1__FAST_PREVIEW"] = "google-veo-3.1-fast-preview";
24
20
  EVideoGenModels["GOOGLE_VEO_3"] = "google-veo-3";
@@ -26,28 +22,25 @@ var EVideoGenModels;
26
22
  EVideoGenModels["GOOGLE_VEO_2"] = "google-veo-2";
27
23
  EVideoGenModels["RUNWAY_GEN4_TURBO"] = "runway-gen4-turbo";
28
24
  EVideoGenModels["RUNWAY_GEN4_ALEPH"] = "runway-gen4-aleph";
29
- EVideoGenModels["KLING_V1"] = "kling-v1";
30
- EVideoGenModels["KLING_V1_6"] = "kling-v1.6";
25
+ // KLING_V1 = "kling-v1",
26
+ // KLING_V1_6 = "kling-v1.6",
31
27
  EVideoGenModels["KLING_V2_MASTER"] = "kling-v2-master";
28
+ EVideoGenModels["KLING_V2_1"] = "kling-v2.1";
32
29
  EVideoGenModels["KLING_V2_1_MASTER"] = "kling-v2.1-master";
30
+ EVideoGenModels["KLING_V2_5_TURBO"] = "kling-v2.5-turbo";
31
+ EVideoGenModels["KLING_V2_6"] = "kling-v2.6";
32
+ // KLING_VIDEO_O1 = "kling-video-o1",
33
+ EVideoGenModels["MINIMAX_HAILUO_2_3_FAST"] = "minimax-hailuo-2.3-fast";
34
+ EVideoGenModels["MINIMAX_HAILUO_2_3"] = "minimax-hailuo-2.3";
33
35
  EVideoGenModels["MINIMAX_HAILUO_02"] = "minimax-hailuo-02";
34
- EVideoGenModels["T2V_01_DIRECTOR"] = "T2V-01-Director";
35
- EVideoGenModels["T2V_01"] = "T2V-01";
36
- EVideoGenModels["AZURE_SORA"] = "azure-sora";
37
- EVideoGenModels["ALIBABA_WAN_2_5"] = "alibaba-wan-2.5";
38
- EVideoGenModels["ALIBABA_WAN_2_2"] = "alibaba-wan-2.2";
36
+ // T2V_01_DIRECTOR = "T2V-01-Director",
37
+ // T2V_01 = "T2V-01",
38
+ // AZURE_SORA = "azure-sora",
39
+ // ALIBABA_WAN_2_5 = "alibaba-wan-2.5",
40
+ // ALIBABA_WAN_2_2 = "alibaba-wan-2.2",
39
41
  EVideoGenModels["OPENAI_SORA_2"] = "openai-sora-2";
40
42
  EVideoGenModels["OPENAI_SORA_2_PRO"] = "openai-sora-2-pro";
41
43
  })(EVideoGenModels || (exports.EVideoGenModels = EVideoGenModels = {}));
42
- // export type TVideoGenModel =
43
- // (typeof EVideoGenModels)[keyof typeof EVideoGenModels];
44
- // export const EImageGenModels = {
45
- // OPENAI_DALLE_3: "openai-dalle-3",
46
- // STABILITY_STABLE_DIFFUSION: "stability-stable-diffusion",
47
- // MIDJOURNEY_V6: "midjourney-v6",
48
- // FLUX_1_1: "flux-1.1",
49
- // IDEOGRAM_1_0: "ideogram-1.0",
50
- // } as const;
51
44
  exports.EImageGenModels = {
52
45
  OPENAI_DALLE_3: "openai-dalle-3",
53
46
  STABILITY_STABLE_DIFFUSION: "stability-stable-diffusion",
@@ -55,15 +48,6 @@ exports.EImageGenModels = {
55
48
  FLUX_1_1: "flux-1.1",
56
49
  IDEOGRAM_1_0: "ideogram-1.0",
57
50
  };
58
- // export type ImageGenModel =
59
- // (typeof EImageGenModels)[keyof typeof EImageGenModels];
60
- // export const ETextGenModels = {
61
- // // OPENAI_GPT_4O: "openai-gpt-4o",
62
- // OPENAI_GPT_4O_MINI: "openai-gpt-4o-mini",
63
- // // OPENAI_GPT_3_5_TURBO: "openai-gpt-3.5-turbo",
64
- // // ANTHROPIC_CLAUDE_3: "anthropic-claude-3",
65
- // // ANTHROPIC_CLAUDE_INSTANT_100K: "anthropic-claude-instant-100k",
66
- // } as const;
67
51
  var ETextGenModels;
68
52
  (function (ETextGenModels) {
69
53
  // OPENAI_GPT_4O = "openai-gpt-4o",
@@ -75,6 +59,225 @@ var ETextGenModels;
75
59
  })(ETextGenModels || (exports.ETextGenModels = ETextGenModels = {}));
76
60
  // Combined config
77
61
  exports.aiModelConfigs = {
62
+ // --- Pixverse models ---
63
+ "pixverse-v5.6": {
64
+ modelId: "v5.6",
65
+ type: ["text-to-video", "image-to-video"],
66
+ fields: {
67
+ prompt: { required: true },
68
+ aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
69
+ resolution: { allowedValues: ["360p", "540p", "720p", "1080p"] },
70
+ duration: { allowedValues: [5, 8, 10] },
71
+ audio: {},
72
+ },
73
+ durationRules: {
74
+ 5: ["360p", "540p", "720p", "1080p"],
75
+ 8: ["360p", "540p", "720p", "1080p"],
76
+ 10: ["360p", "540p", "720p"], // 1080p not available for 10s
77
+ },
78
+ concurrentRequests: 5,
79
+ cost: {
80
+ noAudio: {
81
+ table: {
82
+ "360p": { 5: 0.35, 8: 0.7, 10: 0.77 },
83
+ "540p": { 5: 0.35, 8: 0.7, 10: 0.77 },
84
+ "720p": { 5: 0.45, 8: 0.9, 10: 0.99 },
85
+ "1080p": { 5: 0.75, 8: 1.5 },
86
+ },
87
+ },
88
+ audio: {
89
+ table: {
90
+ "360p": { 5: 0.8, 8: 1.15, 10: 1.22 },
91
+ "540p": { 5: 0.8, 8: 1.15, 10: 1.22 },
92
+ "720p": { 5: 0.8, 8: 1.35, 10: 1.44 },
93
+ "1080p": { 5: 1.5, 8: 1.95 },
94
+ },
95
+ },
96
+ },
97
+ },
98
+ "pixverse-v5.5": {
99
+ modelId: "v5.5",
100
+ type: ["text-to-video", "image-to-video", "video-to-video"],
101
+ fields: {
102
+ prompt: { required: true },
103
+ multiClip: { default: false },
104
+ resolution: { allowedValues: ["360p", "540p", "720p", "1080p"] },
105
+ duration: { allowedValues: [5, 8, 10] },
106
+ audio: {},
107
+ },
108
+ cost: {
109
+ noAudio: {
110
+ singleClip: {
111
+ table: {
112
+ "360p": { 5: 0.45, 8: 0.9, 10: 0.99 },
113
+ "540p": { 5: 0.45, 8: 0.9, 10: 0.99 },
114
+ "720p": { 5: 0.6, 8: 1.2, 10: 1.32 },
115
+ "1080p": { 5: 1.2, 8: 2.4 },
116
+ },
117
+ },
118
+ multiClip: {
119
+ table: {
120
+ "360p": { 5: 0.75, 8: 1.2, 10: 1.29 },
121
+ "540p": { 5: 0.75, 8: 1.2, 10: 1.29 },
122
+ "720p": { 5: 0.9, 8: 1.5, 10: 1.62 },
123
+ "1080p": { 5: 1.5, 8: 2.7 },
124
+ },
125
+ },
126
+ },
127
+ audio: {
128
+ singleClip: {
129
+ table: {
130
+ "360p": { 5: 0.55, 8: 1.0, 10: 1.09 },
131
+ "540p": { 5: 0.55, 8: 1.0, 10: 1.09 },
132
+ "720p": { 5: 0.7, 8: 1.3, 10: 1.42 },
133
+ "1080p": { 5: 1.3, 8: 2.5 },
134
+ },
135
+ },
136
+ multiClip: {
137
+ table: {
138
+ "360p": { 5: 0.85, 8: 1.3, 10: 1.39 },
139
+ "540p": { 5: 0.85, 8: 1.3, 10: 1.39 },
140
+ "720p": { 5: 1.0, 8: 1.6, 10: 1.72 },
141
+ "1080p": { 5: 1.6, 8: 2.8 },
142
+ },
143
+ },
144
+ },
145
+ },
146
+ },
147
+ "pixverse-v5": {
148
+ modelId: "v5",
149
+ type: ["text-to-video", "image-to-video"],
150
+ fields: {
151
+ prompt: { required: true },
152
+ resolution: { allowedValues: ["360p", "540p", "720p", "1080p"] },
153
+ duration: { allowedValues: [5, 8] },
154
+ },
155
+ cost: {
156
+ noAudio: {
157
+ table: {
158
+ "360p": { 5: 0.45, 8: 0.9 },
159
+ "540p": { 5: 0.45, 8: 0.9 },
160
+ "720p": { 5: 0.6, 8: 1.2 },
161
+ "1080p": { 5: 1.2, 8: 2.4 },
162
+ },
163
+ },
164
+ },
165
+ },
166
+ // "pixverse-v4.5": {
167
+ // modelId: "pixverse-v4.5",
168
+ // type: ["text-to-video", "image-to-video"],
169
+ // fields: {
170
+ // prompt: { required: true },
171
+ // motionMode: { allowedValues: ["normal", "fast"], default: "normal" },
172
+ // resolution: { allowedValues: ["360p", "540p", "720p", "1080p"] },
173
+ // duration: { allowedValues: [5, 8] },
174
+ // },
175
+ // cost: {
176
+ // table: {
177
+ // "360p": { 5: 0.45, 8: 0.9 },
178
+ // "540p": { 5: 0.45, 8: 0.9 },
179
+ // "720p": { 5: 0.6, 8: 1.2 },
180
+ // "1080p": { 5: 1.2 },
181
+ // },
182
+ // },
183
+ // },
184
+ // --- ByteDance models ---
185
+ "bytedance-seedance-1.5-pro": {
186
+ modelId: "seedance-1-5-pro-251215",
187
+ type: ["text-to-video", "image-to-video"],
188
+ fields: {
189
+ prompt: { required: true }, // not required for image-to-video, but we can ignore that for simplicity
190
+ aspectRatio: {
191
+ allowedValues: ["21:9", "16:9", "9:16", "1:1", "4:3", "3:4"],
192
+ },
193
+ resolution: { allowedValues: ["480p", "720p", "1080p"] },
194
+ duration: { allowedValues: [4, 5, 6, 7, 8, 9, 10, 11, 12] }, // in seconds
195
+ audio: {},
196
+ // firstFrame: {},
197
+ // lastFrame: {},
198
+ // referenceVideo: {},
199
+ },
200
+ requestPerMin: 600,
201
+ concurrentRequests: 10,
202
+ cost: {
203
+ audio: {
204
+ per1KTokens: 0.0024,
205
+ },
206
+ noAudio: {
207
+ per1KTokens: 0.0012,
208
+ },
209
+ },
210
+ },
211
+ // width * height for each aspect ratio and resolution
212
+ // with and without audio
213
+ "bytedance-seedance-1.0-pro-fast": {
214
+ modelId: "seedance-1-0-pro-fast-251015",
215
+ type: ["text-to-video", "image-to-video"],
216
+ fields: {
217
+ prompt: { required: true },
218
+ aspectRatio: {
219
+ allowedValues: ["21:9", "16:9", "9:16", "1:1", "4:3", "3:4"],
220
+ },
221
+ resolution: { allowedValues: ["480p", "720p", "1080p"] },
222
+ duration: { allowedValues: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] }, // in seconds
223
+ },
224
+ requestPerMin: 600,
225
+ concurrentRequests: 10,
226
+ cost: {
227
+ per1KTokens: 0.001,
228
+ },
229
+ },
230
+ "bytedance-seedance-1.0-pro": {
231
+ modelId: "seedance-1-0-pro-250528",
232
+ type: ["text-to-video", "image-to-video"],
233
+ fields: {
234
+ prompt: { required: true },
235
+ aspectRatio: {
236
+ allowedValues: ["21:9", "16:9", "9:16", "1:1", "4:3", "3:4"],
237
+ },
238
+ resolution: { allowedValues: ["480p", "720p", "1080p"] },
239
+ duration: { allowedValues: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] }, // in seconds
240
+ },
241
+ requestPerMin: 600,
242
+ concurrentRequests: 10,
243
+ cost: {
244
+ per1KTokens: 0.0025,
245
+ },
246
+ },
247
+ // "bytedance-seedance-1.0-lite-t2v": {
248
+ // modelId: "seedance-1-0-lite-t2v-250428",
249
+ // type: ["text-to-video", "image-to-video"],
250
+ // fields: {
251
+ // prompt: { required: true },
252
+ // aspectRatio: {
253
+ // allowedValues: ["21:9", "16:9", "9:16", "1:1", "4:3", "3:4"],
254
+ // },
255
+ // resolution: { allowedValues: ["480p", "720p", "1080p"] },
256
+ // duration: { allowedValues: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] }, // in seconds
257
+ // },
258
+ // requestPerMin: 300,
259
+ // concurrentRequests: 5,
260
+ // cost: {
261
+ // per1KTokens: 0.0018,
262
+ // },
263
+ // },
264
+ // "bytedance-seedance-1.0-lite-i2v": {
265
+ // modelId: "seedance-1-0-lite-i2v-250428",
266
+ // type: ["text-to-video", "image-to-video"],
267
+ // fields: {
268
+ // prompt: { required: true },
269
+ // aspectRatio: {
270
+ // allowedValues: ["21:9", "16:9", "9:16", "1:1", "4:3", "3:4"],
271
+ // },
272
+ // resolution: { allowedValues: ["480p", "720p", "1080p"] },
273
+ // duration: { allowedValues: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] }, // in seconds
274
+ // },
275
+ // requestPerMin: 300,
276
+ // concurrentRequests: 5,
277
+ // cost: {
278
+ // per1KTokens: 0.0018,
279
+ // },
280
+ // },
78
281
  // --- Google models ---
79
282
  "google-veo-3.1-preview": {
80
283
  modelId: "veo-3.1-generate-preview",
@@ -213,49 +416,95 @@ exports.aiModelConfigs = {
213
416
  perSecond: 0.15,
214
417
  },
215
418
  },
216
- /// --- Kling models ---
217
- "kling-v1": {
218
- modelId: "kling-v1",
219
- type: ["text-to-video"],
419
+ // --- Kling models ---
420
+ // "kling-v1": {
421
+ // modelId: "kling-v1",
422
+ // type: ["text-to-video"],
423
+ // fields: {
424
+ // prompt: { required: true },
425
+ // aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] }, // default 16:9
426
+ // duration: { allowedValues: [5, 10] }, // seconds (5 or 10)
427
+ // cfg_scale: {}, // float, probably between 0 and 1
428
+ // negative_prompt: {},
429
+ // mode: { allowedValues: ["std", "pro"] },
430
+ // },
431
+ // concurrentRequests: 3,
432
+ // // "std" = Standard mode, "pro" = Professional mode
433
+ // cost: {
434
+ // table: {
435
+ // std: { 5: 0.14, 10: 0.28 },
436
+ // pro: { 5: 0.49, 10: 0.98 },
437
+ // },
438
+ // },
439
+ // },
440
+ //
441
+ // "kling-v1.6": {
442
+ // modelId: "kling-v1-6",
443
+ // type: ["text-to-video"],
444
+ // fields: {
445
+ // prompt: { required: true },
446
+ // aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] }, // assumed similar to v1
447
+ // duration: { allowedValues: [5, 10] }, // likely same limits
448
+ // cfg_scale: {},
449
+ // mode: { allowedValues: ["std", "pro"] },
450
+ // negative_prompt: {},
451
+ // },
452
+ // concurrentRequests: 3,
453
+ // cost: {
454
+ // table: {
455
+ // std: { 5: 0.28, 10: 0.56 },
456
+ // pro: { 5: 0.49, 10: 0.98 },
457
+ // },
458
+ // },
459
+ // },
460
+ // "kling-video-o1": {}
461
+ "kling-v2.6": {
462
+ modelId: "kling-v2-6",
463
+ type: ["text-to-video", "image-to-video"],
220
464
  fields: {
221
465
  prompt: { required: true },
222
- aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] }, // default 16:9
223
- duration: { allowedValues: [5, 10] }, // seconds (5 or 10)
224
- cfg_scale: {}, // float, probably between 0 and 1
225
- negative_prompt: {},
466
+ aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
467
+ duration: { allowedValues: [5, 10] },
226
468
  mode: { allowedValues: ["std", "pro"] },
469
+ negative_prompt: {},
227
470
  },
228
471
  concurrentRequests: 3,
229
- // "std" = Standard mode, "pro" = Professional mode
230
472
  cost: {
231
- table: {
232
- std: { 5: 0.14, 10: 0.28 },
233
- pro: { 5: 0.49, 10: 0.98 },
473
+ audio: {
474
+ table: {
475
+ std: { 5: 0.21, 10: 0.42 },
476
+ pro: { 5: 0.35, 10: 0.7 },
477
+ },
478
+ },
479
+ noAudio: {
480
+ table: {
481
+ std: { 5: 0.7, 10: 1.4 },
482
+ pro: { 5: 0.84, 10: 1.68 },
483
+ },
234
484
  },
235
485
  },
236
486
  },
237
- "kling-v1.6": {
238
- modelId: "kling-v1-6",
239
- type: ["text-to-video"],
487
+ "kling-v2.5-turbo": {
488
+ modelId: "kling-v2-5-turbo",
489
+ type: ["text-to-video", "image-to-video"],
240
490
  fields: {
241
491
  prompt: { required: true },
242
- aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] }, // assumed similar to v1
243
- duration: { allowedValues: [5, 10] }, // likely same limits
244
- cfg_scale: {},
492
+ aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
493
+ duration: { allowedValues: [5, 10] },
245
494
  mode: { allowedValues: ["std", "pro"] },
246
495
  negative_prompt: {},
247
496
  },
248
497
  concurrentRequests: 3,
249
498
  cost: {
250
499
  table: {
251
- std: { 5: 0.28, 10: 0.56 },
252
- pro: { 5: 0.49, 10: 0.98 },
500
+ std: { 5: 0.21, 10: 0.42 },
501
+ pro: { 5: 0.35, 10: 0.7 },
253
502
  },
254
503
  },
255
504
  },
256
505
  "kling-v2-master": {
257
506
  modelId: "kling-v2-master",
258
- type: ["text-to-video"],
507
+ type: ["text-to-video", "image-to-video"],
259
508
  fields: {
260
509
  prompt: { required: true },
261
510
  aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
@@ -270,9 +519,27 @@ exports.aiModelConfigs = {
270
519
  },
271
520
  },
272
521
  },
522
+ "kling-v2.1": {
523
+ modelId: "kling-v2-1",
524
+ type: ["image-to-video"],
525
+ fields: {
526
+ prompt: { required: true },
527
+ aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
528
+ duration: { allowedValues: [5, 10] },
529
+ mode: { allowedValues: ["std", "pro"] },
530
+ negative_prompt: {},
531
+ },
532
+ concurrentRequests: 3,
533
+ cost: {
534
+ table: {
535
+ std: { 5: 0.28, 10: 0.56 },
536
+ pro: { 5: 0.49, 10: 0.98 },
537
+ },
538
+ },
539
+ },
273
540
  "kling-v2.1-master": {
274
541
  modelId: "kling-v2-1-master",
275
- type: ["text-to-video"],
542
+ type: ["text-to-video", "image-to-video"],
276
543
  fields: {
277
544
  prompt: { required: true },
278
545
  aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
@@ -288,9 +555,9 @@ exports.aiModelConfigs = {
288
555
  },
289
556
  },
290
557
  // --- MINIMAX model ---
291
- "minimax-hailuo-02": {
292
- modelId: "MiniMax-Hailuo-02",
293
- type: ["text-to-video"],
558
+ "minimax-hailuo-2.3-fast": {
559
+ modelId: "MiniMax-Hailuo-2.3-Fast",
560
+ type: ["text-to-video", "image-to-video"],
294
561
  fields: {
295
562
  prompt: { required: true },
296
563
  resolution: { allowedValues: ["768P", "1080P"] }, // 768P as default
@@ -303,115 +570,156 @@ exports.aiModelConfigs = {
303
570
  // parallelRequests: 1,
304
571
  cost: {
305
572
  table: {
306
- "768P": { 6: 0.28, 10: 0.56 },
307
- "1080P": { 6: 0.49 },
573
+ "768P": { 6: 0.19, 10: 0.32 },
574
+ "1080P": { 6: 0.33 },
308
575
  },
309
576
  },
310
577
  },
311
- "T2V-01-Director": {
312
- modelId: "T2V-01-Director",
578
+ "minimax-hailuo-2.3": {
579
+ modelId: "MiniMax-Hailuo-2.3",
313
580
  type: ["text-to-video"],
314
581
  fields: {
315
582
  prompt: { required: true },
316
- resolution: { allowedValues: ["720P"] }, // 720P as default
317
- duration: { allowedValues: [6] }, // in seconds, 5s as default
583
+ resolution: { allowedValues: ["768P", "1080P"] }, // 768P as default
584
+ duration: { allowedValues: [6, 10] }, // in seconds, 6s as default
318
585
  },
319
586
  durationRules: {
320
- 6: ["720P"],
587
+ 6: ["768P", "1080P"],
588
+ 10: ["768P"],
321
589
  },
322
590
  // parallelRequests: 1,
323
- cost: {
324
- fixed: 0.28, // cost per video generation
325
- },
326
- },
327
- "T2V-01": {
328
- modelId: "T2V-01",
329
- type: ["text-to-video"],
330
- fields: {
331
- prompt: { required: true },
332
- resolution: { allowedValues: ["720P"] }, // 720P as default
333
- duration: { allowedValues: [6] }, // in seconds, 5s as default
334
- },
335
- durationRules: {
336
- 6: ["720P"],
337
- },
338
- // parallelRequests: 1,
339
- cost: { fixed: 0.28 },
340
- },
341
- // --- Alibaba models ---
342
- "alibaba-wan-2.5": {
343
- modelId: "wan2.5-t2v-preview",
344
- type: ["text-to-video"],
345
- fields: {
346
- prompt: { required: true },
347
- resolution: {
348
- allowedValues: ["480p", "720p", "1080p"],
349
- default: "1080p",
350
- },
351
- aspectRatio: {
352
- allowedValues: ["16:9", "9:16", "1:1", "4:3", "3:4"],
353
- default: "16:9",
354
- },
355
- duration: {
356
- allowedValues: [5, 10],
357
- default: 5,
358
- },
359
- },
360
- resolutionRules: {
361
- "480p": ["16:9", "9:16", "1:1"],
362
- "720p": ["16:9", "9:16", "1:1", "4:3", "3:4"],
363
- "1080p": ["16:9", "1:1", "4:3", "3:4"],
364
- },
365
591
  cost: {
366
592
  table: {
367
- "832x480": { 5: 0.25, 10: 0.5 },
368
- "480x832": { 5: 0.25, 10: 0.5 },
369
- "624x624": { 5: 0.25, 10: 0.5 },
370
- "1280x720": { 5: 0.5, 10: 1.0 },
371
- "720x1280": { 5: 0.5, 10: 1.0 },
372
- "960x960": { 5: 0.5, 10: 1.0 },
373
- "1088x832": { 5: 0.5, 10: 1.0 },
374
- "832x1088": { 5: 0.5, 10: 1.0 },
375
- "1920x1080": { 5: 0.75, 10: 1.5 },
376
- "1080x1920": { 5: 0.75, 10: 1.5 },
377
- "1440x1440": { 5: 0.75, 10: 1.5 },
378
- "1632x1248": { 5: 0.75, 10: 1.5 },
379
- "1248x1632": { 5: 0.75, 10: 1.5 },
593
+ "768P": { 6: 0.28, 10: 0.56 },
594
+ "1080P": { 6: 0.49 },
380
595
  },
381
596
  },
382
597
  },
383
- "alibaba-wan-2.2": {
384
- modelId: "wan2.2-t2v-plus",
598
+ "minimax-hailuo-02": {
599
+ modelId: "MiniMax-Hailuo-02",
385
600
  type: ["text-to-video"],
386
601
  fields: {
387
602
  prompt: { required: true },
388
- resolution: {
389
- allowedValues: ["480p", "1080p"],
390
- },
391
- aspectRatio: {
392
- allowedValues: ["16:9", "9:16", "1:1", "4:3", "3:4"],
393
- },
394
- duration: {
395
- allowedValues: [5],
396
- },
603
+ resolution: { allowedValues: ["512P", "768P", "1080P"] }, // 768P as default
604
+ duration: { allowedValues: [6, 10] }, // in seconds, 6s as default
397
605
  },
398
- resolutionRules: {
399
- "480p": ["16:9", "9:16", "1:1"],
400
- "1080p": ["16:9", "1:1", "4:3", "3:4"],
606
+ durationRules: {
607
+ 6: ["512P", "768P", "1080P"],
608
+ 10: ["512P", "768P"],
401
609
  },
610
+ // parallelRequests: 1,
402
611
  cost: {
403
612
  table: {
404
- "832x480": { 5: 0.1 }, // 0.02/sec × 5s
405
- "480x832": { 5: 0.1 },
406
- "624x624": { 5: 0.1 },
407
- "1920x1080": { 5: 0.5 }, // 0.10/sec × 5s
408
- "1080x1920": { 5: 0.5 },
409
- "1440x1440": { 5: 0.5 },
410
- "1632x1248": { 5: 0.5 },
411
- "1248x1632": { 5: 0.5 },
613
+ "512P": { 6: 0.1, 10: 0.15 },
614
+ "768P": { 6: 0.28, 10: 0.56 },
615
+ "1080P": { 6: 0.49 },
412
616
  },
413
617
  },
414
618
  },
619
+ // "T2V-01-Director": {
620
+ // modelId: "T2V-01-Director",
621
+ // type: ["text-to-video"],
622
+ // fields: {
623
+ // prompt: { required: true },
624
+ // resolution: { allowedValues: ["720P"] }, // 720P as default
625
+ // duration: { allowedValues: [6] }, // in seconds, 5s as default
626
+ // },
627
+ // durationRules: {
628
+ // 6: ["720P"],
629
+ // },
630
+ // // parallelRequests: 1,
631
+ // cost: {
632
+ // fixed: 0.28, // cost per video generation
633
+ // },
634
+ // },
635
+ // "T2V-01": {
636
+ // modelId: "T2V-01",
637
+ // type: ["text-to-video"],
638
+ // fields: {
639
+ // prompt: { required: true },
640
+ // resolution: { allowedValues: ["720P"] }, // 720P as default
641
+ // duration: { allowedValues: [6] }, // in seconds, 5s as default
642
+ // },
643
+ // durationRules: {
644
+ // 6: ["720P"],
645
+ // },
646
+ // // parallelRequests: 1,
647
+ // cost: { fixed: 0.28 },
648
+ // },
649
+ // --- Alibaba models ---
650
+ // "alibaba-wan-2.5": {
651
+ // modelId: "wan2.5-t2v-preview",
652
+ // type: ["text-to-video"],
653
+ // fields: {
654
+ // prompt: { required: true },
655
+ // resolution: {
656
+ // allowedValues: ["480p", "720p", "1080p"],
657
+ // default: "1080p",
658
+ // },
659
+ // aspectRatio: {
660
+ // allowedValues: ["16:9", "9:16", "1:1", "4:3", "3:4"],
661
+ // default: "16:9",
662
+ // },
663
+ // duration: {
664
+ // allowedValues: [5, 10],
665
+ // default: 5,
666
+ // },
667
+ // },
668
+ // resolutionRules: {
669
+ // "480p": ["16:9", "9:16", "1:1"],
670
+ // "720p": ["16:9", "9:16", "1:1", "4:3", "3:4"],
671
+ // "1080p": ["16:9", "1:1", "4:3", "3:4"],
672
+ // },
673
+ // cost: {
674
+ // table: {
675
+ // "832x480": { 5: 0.25, 10: 0.5 },
676
+ // "480x832": { 5: 0.25, 10: 0.5 },
677
+ // "624x624": { 5: 0.25, 10: 0.5 },
678
+ // "1280x720": { 5: 0.5, 10: 1.0 },
679
+ // "720x1280": { 5: 0.5, 10: 1.0 },
680
+ // "960x960": { 5: 0.5, 10: 1.0 },
681
+ // "1088x832": { 5: 0.5, 10: 1.0 },
682
+ // "832x1088": { 5: 0.5, 10: 1.0 },
683
+ // "1920x1080": { 5: 0.75, 10: 1.5 },
684
+ // "1080x1920": { 5: 0.75, 10: 1.5 },
685
+ // "1440x1440": { 5: 0.75, 10: 1.5 },
686
+ // "1632x1248": { 5: 0.75, 10: 1.5 },
687
+ // "1248x1632": { 5: 0.75, 10: 1.5 },
688
+ // },
689
+ // },
690
+ // },
691
+ // "alibaba-wan-2.2": {
692
+ // modelId: "wan2.2-t2v-plus",
693
+ // type: ["text-to-video"],
694
+ // fields: {
695
+ // prompt: { required: true },
696
+ // resolution: {
697
+ // allowedValues: ["480p", "1080p"],
698
+ // },
699
+ // aspectRatio: {
700
+ // allowedValues: ["16:9", "9:16", "1:1", "4:3", "3:4"],
701
+ // },
702
+ // duration: {
703
+ // allowedValues: [5],
704
+ // },
705
+ // },
706
+ // resolutionRules: {
707
+ // "480p": ["16:9", "9:16", "1:1"],
708
+ // "1080p": ["16:9", "1:1", "4:3", "3:4"],
709
+ // },
710
+ // cost: {
711
+ // table: {
712
+ // "832x480": { 5: 0.1 }, // 0.02/sec × 5s
713
+ // "480x832": { 5: 0.1 },
714
+ // "624x624": { 5: 0.1 },
715
+ // "1920x1080": { 5: 0.5 }, // 0.10/sec × 5s
716
+ // "1080x1920": { 5: 0.5 },
717
+ // "1440x1440": { 5: 0.5 },
718
+ // "1632x1248": { 5: 0.5 },
719
+ // "1248x1632": { 5: 0.5 },
720
+ // },
721
+ // },
722
+ // },
415
723
  "openai-sora-2": {
416
724
  modelId: "sora-2",
417
725
  type: ["text-to-video", "image-to-video", "video-to-video"],
@@ -460,44 +768,44 @@ exports.aiModelConfigs = {
460
768
  },
461
769
  requestPerMin: 10,
462
770
  },
463
- "azure-sora": {
464
- modelId: "sora",
465
- type: ["text-to-video", "image-to-video", "video-to-video"],
466
- fields: {
467
- prompt: { required: true },
468
- dimensions: {
469
- allowedValues: [
470
- "480x480",
471
- "480x854",
472
- "854x480",
473
- "720x720",
474
- "720x1280",
475
- "1280x720",
476
- "1080x1080",
477
- "1080x1920",
478
- "1920x1080",
479
- ],
480
- default: "480x480",
481
- },
482
- duration: {
483
- allowedValues: [1, 5, 10, 15, 20], // in seconds
484
- default: 5,
485
- },
486
- imageUrl: { required: false }, // up to 2
487
- videoUrl: { required: false }, // up to 5s
488
- },
489
- // parallelRequests: 1,
490
- cost: {
491
- table: {
492
- "480x480": { 5: 0.15, 10: 0.15, 15: 0.15, 20: 0.15 },
493
- "480x854": { 5: 0.2, 10: 0.2, 15: 0.2, 20: 0.2 },
494
- "720x720": { 5: 0.3, 10: 0.3, 15: 0.3, 20: 0.3 },
495
- "1280x720": { 5: 0.45, 10: 0.5, 15: 0.65, 20: 0.75 },
496
- "1080x1080": { 5: 0.6, 10: 0.75, 15: 1.1, 20: 1.35 },
497
- "1920x1080": { 5: 1.3, 10: 1.85, 15: 2.9, 20: 3.6 },
498
- },
499
- },
500
- },
771
+ // "azure-sora": {
772
+ // modelId: "sora",
773
+ // type: ["text-to-video", "image-to-video", "video-to-video"],
774
+ // fields: {
775
+ // prompt: { required: true },
776
+ // dimensions: {
777
+ // allowedValues: [
778
+ // "480x480",
779
+ // "480x854",
780
+ // "854x480",
781
+ // "720x720",
782
+ // "720x1280",
783
+ // "1280x720",
784
+ // "1080x1080",
785
+ // "1080x1920",
786
+ // "1920x1080",
787
+ // ],
788
+ // default: "480x480",
789
+ // },
790
+ // duration: {
791
+ // allowedValues: [1, 5, 10, 15, 20], // in seconds
792
+ // default: 5,
793
+ // },
794
+ // imageUrl: { required: false }, // up to 2
795
+ // videoUrl: { required: false }, // up to 5s
796
+ // },
797
+ // // parallelRequests: 1,
798
+ // cost: {
799
+ // table: {
800
+ // "480x480": { 5: 0.15, 10: 0.15, 15: 0.15, 20: 0.15 },
801
+ // "480x854": { 5: 0.2, 10: 0.2, 15: 0.2, 20: 0.2 },
802
+ // "720x720": { 5: 0.3, 10: 0.3, 15: 0.3, 20: 0.3 },
803
+ // "1280x720": { 5: 0.45, 10: 0.5, 15: 0.65, 20: 0.75 },
804
+ // "1080x1080": { 5: 0.6, 10: 0.75, 15: 1.1, 20: 1.35 },
805
+ // "1920x1080": { 5: 1.3, 10: 1.85, 15: 2.9, 20: 3.6 },
806
+ // },
807
+ // },
808
+ // },
501
809
  // --- TEXT GEN models ---
502
810
  "openai-gpt-4o-mini": {
503
811
  modelId: "gpt-4o-mini",