vidspotai-shared 1.0.38 → 1.0.40

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 (64) hide show
  1. package/lib/globals/aiModels/enums.d.ts +1 -0
  2. package/lib/globals/aiModels/enums.d.ts.map +1 -1
  3. package/lib/globals/aiModels/enums.js +1 -0
  4. package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
  5. package/lib/globals/aiModels/providers/google.js +26 -4
  6. package/lib/globals/aiModels/providers/kling.d.ts.map +1 -1
  7. package/lib/globals/aiModels/providers/kling.js +11 -3
  8. package/lib/globals/aiModels/types.d.ts +36 -0
  9. package/lib/globals/aiModels/types.d.ts.map +1 -1
  10. package/lib/globals/ttsModels/index.d.ts +2 -0
  11. package/lib/globals/ttsModels/index.d.ts.map +1 -1
  12. package/lib/globals/ttsModels/index.js +3 -1
  13. package/lib/globals/ttsModels/providers/elevenlabs.d.ts.map +1 -1
  14. package/lib/globals/ttsModels/providers/elevenlabs.js +16 -0
  15. package/lib/globals/ttsModels/types.d.ts +16 -0
  16. package/lib/globals/ttsModels/types.d.ts.map +1 -1
  17. package/lib/globals/types.d.ts +9 -2
  18. package/lib/globals/types.d.ts.map +1 -1
  19. package/lib/globals/types.js +7 -0
  20. package/lib/models/video.model.d.ts +2 -0
  21. package/lib/models/video.model.d.ts.map +1 -1
  22. package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
  23. package/lib/services/aiGen/aiGenFactory.service.js +1 -0
  24. package/lib/services/aiGen/providers/alibaba/alibaba.d.ts +1 -1
  25. package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
  26. package/lib/services/aiGen/providers/alibaba/alibaba.js +8 -2
  27. package/lib/services/aiGen/providers/azure/azure.service.d.ts +1 -1
  28. package/lib/services/aiGen/providers/azure/azure.service.d.ts.map +1 -1
  29. package/lib/services/aiGen/providers/azure/azure.service.js +7 -2
  30. package/lib/services/aiGen/providers/bytedance/bytedance.service.js +3 -3
  31. package/lib/services/aiGen/providers/google/google.service.d.ts +1 -1
  32. package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
  33. package/lib/services/aiGen/providers/google/google.service.js +13 -4
  34. package/lib/services/aiGen/providers/kling/kling.service.d.ts +1 -1
  35. package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
  36. package/lib/services/aiGen/providers/kling/kling.service.js +51 -13
  37. package/lib/services/aiGen/providers/minimax/minimax.service.d.ts +1 -1
  38. package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
  39. package/lib/services/aiGen/providers/minimax/minimax.service.js +7 -2
  40. package/lib/services/aiGen/providers/openai/openai.service.d.ts +1 -1
  41. package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
  42. package/lib/services/aiGen/providers/openai/openai.service.js +7 -2
  43. package/lib/services/aiGen/providers/pixverse/pixverse.service.js +1 -1
  44. package/lib/services/aiGen/providers/runway/runway.service.d.ts +1 -1
  45. package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
  46. package/lib/services/aiGen/providers/runway/runway.service.js +8 -2
  47. package/lib/services/tts/providers/elevenlabs.service.d.ts +3 -1
  48. package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
  49. package/lib/services/tts/providers/elevenlabs.service.js +11 -1
  50. package/lib/services/tts/ttsFactory.service.d.ts +1 -1
  51. package/lib/services/tts/ttsFactory.service.d.ts.map +1 -1
  52. package/lib/services/tts/ttsFactory.service.js +1 -1
  53. package/lib/services/tts/types.d.ts +19 -0
  54. package/lib/services/tts/types.d.ts.map +1 -1
  55. package/lib/utils/helpers.d.ts +13 -2
  56. package/lib/utils/helpers.d.ts.map +1 -1
  57. package/lib/utils/helpers.js +40 -16
  58. package/lib/utils/ttsUtils.d.ts +15 -0
  59. package/lib/utils/ttsUtils.d.ts.map +1 -1
  60. package/lib/utils/ttsUtils.js +41 -0
  61. package/package.json +1 -1
  62. package/lib/models/editorState.model.d.ts +0 -9
  63. package/lib/models/editorState.model.d.ts.map +0 -1
  64. package/lib/models/editorState.model.js +0 -2
@@ -7,6 +7,7 @@ export declare enum EVideoGenModels {
7
7
  BYTEDANCE_SEEDANCE_1_0_PRO = "bytedance-seedance-1.0-pro",
8
8
  GOOGLE_VEO_3_1 = "google-veo-3.1",
9
9
  GOOGLE_VEO_3_1_FAST = "google-veo-3.1-fast",
10
+ GOOGLE_VEO_3_1_LITE = "google-veo-3.1-lite",
10
11
  GOOGLE_VEO_3 = "google-veo-3",
11
12
  GOOGLE_VEO_3_FAST = "google-veo-3-fast",
12
13
  GOOGLE_VEO_2 = "google-veo-2",
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAE7B,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IAGvC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAED,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,oBAAY,cAAc;IACxB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;CACxC;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAE7B,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IAGvC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAED,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,oBAAY,cAAc;IACxB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;CACxC;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC"}
@@ -11,6 +11,7 @@ var EVideoGenModels;
11
11
  EVideoGenModels["BYTEDANCE_SEEDANCE_1_0_PRO"] = "bytedance-seedance-1.0-pro";
12
12
  EVideoGenModels["GOOGLE_VEO_3_1"] = "google-veo-3.1";
13
13
  EVideoGenModels["GOOGLE_VEO_3_1_FAST"] = "google-veo-3.1-fast";
14
+ EVideoGenModels["GOOGLE_VEO_3_1_LITE"] = "google-veo-3.1-lite";
14
15
  EVideoGenModels["GOOGLE_VEO_3"] = "google-veo-3";
15
16
  EVideoGenModels["GOOGLE_VEO_3_FAST"] = "google-veo-3-fast";
16
17
  EVideoGenModels["GOOGLE_VEO_2"] = "google-veo-2";
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CA+GpE,CAAC"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAsIpE,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.googleConfigs = void 0;
4
4
  exports.googleConfigs = {
5
5
  "google-veo-3.1": {
6
- modelId: "veo-3.1-generate-001",
6
+ modelId: "veo-3.1-generate-preview",
7
7
  type: ["text-to-video", "image-to-video"],
8
8
  fields: {
9
9
  prompt: { required: true },
@@ -25,7 +25,7 @@ exports.googleConfigs = {
25
25
  },
26
26
  },
27
27
  "google-veo-3.1-fast": {
28
- modelId: "veo-3.1-fast-generate-001",
28
+ modelId: "veo-3.1-fast-generate-preview",
29
29
  type: ["text-to-video", "image-to-video"],
30
30
  fields: {
31
31
  prompt: { required: true },
@@ -43,7 +43,29 @@ exports.googleConfigs = {
43
43
  },
44
44
  requestPerMin: 10,
45
45
  cost: {
46
- perSecond: 0.15,
46
+ perResolution: { "720p": 0.10, "1080p": 0.12 },
47
+ },
48
+ },
49
+ "google-veo-3.1-lite": {
50
+ modelId: "veo-3.1-lite-generate-preview",
51
+ type: ["text-to-video", "image-to-video"],
52
+ fields: {
53
+ prompt: { required: true },
54
+ aspectRatio: { allowedValues: ["16:9", "9:16"] },
55
+ resolution: { allowedValues: ["720p", "1080p"] },
56
+ duration: { allowedValues: [4, 6, 8] },
57
+ imageUrl: {},
58
+ negative_prompt: {},
59
+ audio: {},
60
+ },
61
+ durationRules: {
62
+ 4: ["720p"],
63
+ 6: ["720p"],
64
+ 8: ["720p", "1080p"],
65
+ },
66
+ requestPerMin: 10,
67
+ cost: {
68
+ perResolution: { "720p": 0.05, "1080p": 0.08 },
47
69
  },
48
70
  },
49
71
  "google-veo-3": {
@@ -86,7 +108,7 @@ exports.googleConfigs = {
86
108
  },
87
109
  requestPerMin: 10,
88
110
  cost: {
89
- perSecond: 0.15,
111
+ perResolution: { "720p": 0.10, "1080p": 0.12 },
90
112
  },
91
113
  },
92
114
  "google-veo-2": {
@@ -1 +1 @@
1
- {"version":3,"file":"kling.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAsB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAmInE,CAAC"}
1
+ {"version":3,"file":"kling.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAsB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CA2InE,CAAC"}
@@ -116,14 +116,22 @@ exports.klingConfigs = {
116
116
  },
117
117
  concurrentRequests: 3,
118
118
  cost: {
119
- // per-second pricing by mode (confirm from Kling dashboard)
120
- std: { perSecond: 0.014 },
121
- pro: { perSecond: 0.028 },
119
+ // per-second pricing by mode read via cost.perMode[mode].perSecond
120
+ // TODO: confirm exact per-second pricing from Kling dashboard
121
+ perMode: {
122
+ std: { perSecond: 0.014 },
123
+ pro: { perSecond: 0.028 },
124
+ },
122
125
  },
123
126
  avatar: {
124
127
  audioDurationMin: 2,
125
128
  audioDurationMax: 300,
126
129
  ttsProvider: "elevenlabs",
130
+ // 12-min poll window per BullMQ run. On timeout the job auto re-queues
131
+ // (up to maxAutoRequeueAttempts times) so the worker is never blocked > 12 min.
132
+ // Total possible wait: 12 min × 5 = 60 min.
133
+ pollTimeoutMs: 12 * 60 * 1000,
134
+ maxAutoRequeueAttempts: 5,
127
135
  },
128
136
  },
129
137
  };
@@ -12,6 +12,32 @@ export interface IAvatarModelConfig {
12
12
  audioDurationMax: number;
13
13
  /** Default TTS provider used when the request includes ttsText */
14
14
  ttsProvider: TtsProvider;
15
+ /**
16
+ * How often to poll the provider for clip status (milliseconds).
17
+ * Tune per provider — fast providers can use 5s, slow ones like Kling use 10s.
18
+ * Defaults to 10s if not set.
19
+ */
20
+ pollIntervalMs?: number;
21
+ /**
22
+ * Per-run poll window per BullMQ job execution (milliseconds).
23
+ * When this expires the run saves scene state (TIMED_OUT + task IDs) and
24
+ * auto re-queues — the worker is freed rather than blocked for the full duration.
25
+ * Defaults to 12 min if not set.
26
+ */
27
+ pollTimeoutMs?: number;
28
+ /**
29
+ * Maximum number of automatic re-queues before giving up and marking the job failed.
30
+ * Each re-queue resumes polling the same provider task IDs — no extra API submission cost.
31
+ * Total possible wait = pollTimeoutMs × maxAutoRequeueAttempts.
32
+ * Defaults to 5 if not set.
33
+ */
34
+ maxAutoRequeueAttempts?: number;
35
+ /**
36
+ * Delay in milliseconds before the auto re-queued job is picked up again.
37
+ * Gives the provider time to make progress before the next poll window starts.
38
+ * Defaults to 60s if not set.
39
+ */
40
+ autoRequeueDelayMs?: number;
15
41
  }
16
42
  export interface ISchemaField {
17
43
  required?: boolean;
@@ -32,6 +58,16 @@ export interface IModelSchema {
32
58
  concurrentRequests?: number;
33
59
  requestPerMin?: number;
34
60
  requestPerDay?: number;
61
+ /**
62
+ * How often to poll for scene status (milliseconds). Defaults to 10s.
63
+ * Set lower for fast providers, higher for slow/expensive ones.
64
+ */
65
+ pollIntervalMs?: number;
66
+ /**
67
+ * Max time to poll a single scene before marking it TIMED_OUT (milliseconds).
68
+ * Defaults to 15 min. Set per-provider based on observed generation times.
69
+ */
70
+ pollTimeoutMs?: number;
35
71
  cost?: {
36
72
  perSecond?: number;
37
73
  per1KTokens?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,eAAe,CAAC;AAEpB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,4FAA4F;IAC5F,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,kHAAkH;IAClH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,eAAe,CAAC;AAEpB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,WAAW,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,4FAA4F;IAC5F,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,kHAAkH;IAClH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC"}
@@ -3,4 +3,6 @@ export * from "./voices";
3
3
  import { TtsProvider, ITtsProviderConfig } from "./types";
4
4
  export { elevenlabsConfig } from "./providers/elevenlabs";
5
5
  export declare const ttsProviderConfigs: Record<TtsProvider, ITtsProviderConfig>;
6
+ /** Fallback TTS provider used when a model config does not specify one. */
7
+ export declare const DEFAULT_TTS_PROVIDER: TtsProvider;
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/ttsModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAEtE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/ttsModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAEtE,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,WAA0B,CAAC"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ttsProviderConfigs = exports.elevenlabsConfig = void 0;
17
+ exports.DEFAULT_TTS_PROVIDER = exports.ttsProviderConfigs = exports.elevenlabsConfig = void 0;
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./voices"), exports);
20
20
  const elevenlabs_1 = require("./providers/elevenlabs");
@@ -23,3 +23,5 @@ Object.defineProperty(exports, "elevenlabsConfig", { enumerable: true, get: func
23
23
  exports.ttsProviderConfigs = {
24
24
  elevenlabs: elevenlabs_1.elevenlabsConfig,
25
25
  };
26
+ /** Fallback TTS provider used when a model config does not specify one. */
27
+ exports.DEFAULT_TTS_PROVIDER = "elevenlabs";
@@ -1 +1 @@
1
- {"version":3,"file":"elevenlabs.d.ts","sourceRoot":"","sources":["../../../../src/globals/ttsModels/providers/elevenlabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,gBAAgB,EAAE,kBAS9B,CAAC"}
1
+ {"version":3,"file":"elevenlabs.d.ts","sourceRoot":"","sources":["../../../../src/globals/ttsModels/providers/elevenlabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,gBAAgB,EAAE,kBAyB9B,CAAC"}
@@ -10,4 +10,20 @@ exports.elevenlabsConfig = {
10
10
  modelId: "eleven_multilingual_v2",
11
11
  /** ~150 words/min = 2.5 words/sec */
12
12
  wordsPerSecond: 2.5,
13
+ /** ElevenLabs API limit per single TTS request */
14
+ maxCharsPerRequest: 10000,
15
+ /**
16
+ * 100s buffer on a 300s clip limit (~33%).
17
+ * ElevenLabs voices vary from 1.8–3.5 wps (nominal: 2.5 wps).
18
+ * At the slowest documented rate (1.8 wps) a 200s estimated chunk produces
19
+ * 200 × (2.5/1.8) ≈ 278s of actual audio — safely under the 300s hard limit.
20
+ * Formula: buffer = audioDurationMax × (1 - minWps/nominalWps)
21
+ * = 300 × (1 - 1.8/2.5) = 300 × 0.28 = 84 → rounded up to 100 for safety.
22
+ *
23
+ * This was confirmed by a real failure: a chunk estimated at 270s was generated
24
+ * as 351.6s by ElevenLabs (1.9 wps actual), causing a Kling 400 "duration exceeded" error.
25
+ */
26
+ durationSafetyBufferSeconds: 100,
27
+ /** ElevenLabs allows up to 5 concurrent TTS requests on paid plans */
28
+ concurrentRequests: 5,
13
29
  };
@@ -11,5 +11,21 @@ export interface ITtsProviderConfig {
11
11
  modelId: string;
12
12
  /** Average spoken words per second for duration estimation (~150 wpm = 2.5 wps) */
13
13
  wordsPerSecond: number;
14
+ /**
15
+ * Maximum characters allowed in a single TTS API call.
16
+ * Used by splitTtsTextByDuration to cap chunk size.
17
+ */
18
+ maxCharsPerRequest: number;
19
+ /**
20
+ * Safety buffer (seconds) subtracted from audioDurationMax when deciding
21
+ * whether to split into multiple scenes and when capping per-chunk duration.
22
+ * Absorbs the variance between estimated and actual TTS speaking rate.
23
+ * A larger buffer = safer but slightly more splits; tune per provider accuracy.
24
+ */
25
+ durationSafetyBufferSeconds: number;
26
+ /** Maximum number of concurrent TTS API requests. Used by TTS rate limiter. */
27
+ concurrentRequests?: number;
28
+ /** Maximum TTS requests per minute. Used by TTS rate limiter. */
29
+ requestPerMin?: number;
14
30
  }
15
31
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/ttsModels/types.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/ttsModels/types.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,2BAA2B,EAAE,MAAM,CAAC;IACpC,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -22,8 +22,15 @@ export declare enum EVideoSceneStatus {
22
22
  IN_PROGRESS = "inProgress",// for scene: scene is queued for generation in prepare scenes (set in prepare scene)
23
23
  TRIGGERED = "triggered",// for scene: when provider video generation function is called in trigger video generation
24
24
  PENDING = "pending",// for scene: triggered, status checked but still in progress (wont be setting it in scene status or in firestore, just a status return by provider status method)
25
- FAILED = "failed",// for scene: scene generation failed
26
- COMPLETED = "completed"
25
+ FAILED = "failed",// for scene: scene generation failed (provider confirmed failure)
26
+ COMPLETED = "completed",// for scene: video has been generated
27
+ /**
28
+ * Our local poll window expired but the provider task may still be running.
29
+ * Different from FAILED — the provider did NOT report a failure.
30
+ * On reprocess: check if the task completed/is still running before re-submitting.
31
+ * scene.task holds the provider task ID for resumption.
32
+ */
33
+ TIMED_OUT = "timedOut"
27
34
  }
28
35
  export declare enum ERedisQueues {
29
36
  VIDEO_JOBS = "video-job-queue"
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ var EVideoSceneStatus;
21
21
  EVideoSceneStatus["PENDING"] = "pending";
22
22
  EVideoSceneStatus["FAILED"] = "failed";
23
23
  EVideoSceneStatus["COMPLETED"] = "completed";
24
+ /**
25
+ * Our local poll window expired but the provider task may still be running.
26
+ * Different from FAILED — the provider did NOT report a failure.
27
+ * On reprocess: check if the task completed/is still running before re-submitting.
28
+ * scene.task holds the provider task ID for resumption.
29
+ */
30
+ EVideoSceneStatus["TIMED_OUT"] = "timedOut";
24
31
  })(EVideoSceneStatus || (exports.EVideoSceneStatus = EVideoSceneStatus = {}));
25
32
  // export const ERedisQueues = {
26
33
  // videoJobs: "video-job-queue",
@@ -53,7 +53,9 @@ export interface IVideoJobModel {
53
53
  ttsVoiceId?: string;
54
54
  ttsLanguageCode?: string;
55
55
  generatedAudioUrl?: string;
56
+ audioDurationSeconds?: number;
56
57
  createdAt: FieldValue;
57
58
  updatedAt: FieldValue;
59
+ reprocessedAt?: FieldValue;
58
60
  }
59
61
  //# sourceMappingURL=video.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAA;IAGD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB"}
1
+ {"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAA;IAGD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"aiGenFactory.service.d.ts","sourceRoot":"","sources":["../../../src/services/aiGen/aiGenFactory.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAYhC,KAAK,uBAAuB,GAAG,UAAU,wBAAwB,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,eAAe,EACf,uBAAuB,CAmDxB,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAQzE,CAAC;AAEJ,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,GACpB,wBAAwB,CAY1B"}
1
+ {"version":3,"file":"aiGenFactory.service.d.ts","sourceRoot":"","sources":["../../../src/services/aiGen/aiGenFactory.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAYhC,KAAK,uBAAuB,GAAG,UAAU,wBAAwB,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,eAAe,EACf,uBAAuB,CAoDxB,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAQzE,CAAC;AAEJ,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,GACpB,wBAAwB,CAY1B"}
@@ -23,6 +23,7 @@ exports.videoServicesMap = {
23
23
  // --- Google ---
24
24
  "google-veo-3.1": google_service_1.GoogleService,
25
25
  "google-veo-3.1-fast": google_service_1.GoogleService,
26
+ "google-veo-3.1-lite": google_service_1.GoogleService,
26
27
  "google-veo-3": google_service_1.GoogleService,
27
28
  "google-veo-3-fast": google_service_1.GoogleService,
28
29
  "google-veo-2": google_service_1.GoogleService,
@@ -7,6 +7,6 @@ export declare class AlibabaService extends BaseAiGenProviderService {
7
7
  private request;
8
8
  generateVideo(params: VideoGenerationParams): Promise<VideoGenerationResult>;
9
9
  checkVideoStatus({ task, outputFilename, outputFilePath, }: VideoStatusParams): Promise<VideoStatusResult>;
10
- getCreditUsed({ modelKey, resolution, aspectRatio, duration, }: CreditUsageParams): number;
10
+ getCreditUsed({ modelKey, resolution, aspectRatio, duration, multiClip, }: CreditUsageParams): number;
11
11
  }
12
12
  //# sourceMappingURL=alibaba.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alibaba.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/alibaba/alibaba.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAOlB,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CACsE;IAC9F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;YASnB,OAAO;IAqBf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAqC3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuEjD,aAAa,CAAC,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,GACT,EAAE,iBAAiB,GAAG,MAAM;CAO9B"}
1
+ {"version":3,"file":"alibaba.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/alibaba/alibaba.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAQlB,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CACsE;IAC9F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;YASnB,OAAO;IAqBf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAqC3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuEjD,aAAa,CAAC,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAiB,GAClB,EAAE,iBAAiB,GAAG,MAAM;CAU9B"}
@@ -12,6 +12,7 @@ const firebase_1 = require("../../../../libs/firebase");
12
12
  const helpers_1 = require("./helpers");
13
13
  const helpers_2 = require("../../helpers");
14
14
  const utils_1 = require("../../../../utils");
15
+ const logger_1 = require("../../../../utils/logger");
15
16
  class AlibabaService extends baseAiGenProvider_service_1.BaseAiGenProviderService {
16
17
  constructor() {
17
18
  super();
@@ -120,10 +121,15 @@ class AlibabaService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
120
121
  }
121
122
  return { status: types_1.EVideoSceneStatus.PENDING };
122
123
  }
123
- getCreditUsed({ modelKey, resolution, aspectRatio, duration, }) {
124
+ getCreditUsed({ modelKey, resolution, aspectRatio, duration, multiClip = false, }) {
124
125
  const modelConfig = aiModels_1.aiModelConfigs[modelKey];
125
126
  const dimensions = (0, helpers_1.getAlibabaDimensions)(resolution, aspectRatio);
126
- return (0, utils_1.getCreditsFromCost)(modelConfig.cost?.table?.[dimensions]?.[duration] || 0);
127
+ const cost = modelConfig.cost?.table?.[dimensions]?.[duration];
128
+ if (!cost) {
129
+ logger_1.logger.warn(`Alibaba getCreditUsed: no cost entry for modelKey="${modelKey}" dimensions="${dimensions}" duration=${duration} — returning fallback`, { modelKey, dimensions, duration, resolution, aspectRatio });
130
+ return (0, utils_1.getCreditsFromCost)(1.0, !multiClip);
131
+ }
132
+ return (0, utils_1.getCreditsFromCost)(cost, !multiClip);
127
133
  }
128
134
  }
129
135
  exports.AlibabaService = AlibabaService;
@@ -9,6 +9,6 @@ export declare class AzureService extends BaseAiGenProviderService {
9
9
  private request;
10
10
  generateVideo(params: VideoGenerationParams): Promise<VideoGenerationResult>;
11
11
  checkVideoStatus({ task, outputFilename, outputFilePath, }: VideoStatusParams): Promise<VideoStatusResult>;
12
- getCreditUsed({ modelKey, dimensions, duration, }: CreditUsageParams): number;
12
+ getCreditUsed({ modelKey, dimensions, duration, multiClip, }: CreditUsageParams): number;
13
13
  }
14
14
  //# sourceMappingURL=azure.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/azure/azure.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,qBAAa,YAAa,SAAQ,wBAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;YAiBnB,OAAO;IAwBf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA6B3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgDjD,aAAa,CAAC,EACZ,QAAQ,EACR,UAAsB,EACtB,QAAY,GACb,EAAE,iBAAiB,GAAG,MAAM;CAK9B"}
1
+ {"version":3,"file":"azure.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/azure/azure.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,qBAAa,YAAa,SAAQ,wBAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;YAiBnB,OAAO;IAwBf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA6B3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgDjD,aAAa,CAAC,EACZ,QAAQ,EACR,UAAsB,EACtB,QAAY,EACZ,SAAiB,GAClB,EAAE,iBAAiB,GAAG,MAAM;CAS9B"}
@@ -9,6 +9,7 @@ const aiModels_1 = require("../../../../globals/aiModels");
9
9
  const types_1 = require("../../../../globals/types");
10
10
  const firebase_1 = require("../../../../libs/firebase");
11
11
  const helpers_1 = require("../../../../utils/helpers");
12
+ const logger_1 = require("../../../../utils/logger");
12
13
  const helpers_2 = require("../../helpers");
13
14
  const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
14
15
  class AzureService extends baseAiGenProvider_service_1.BaseAiGenProviderService {
@@ -94,10 +95,14 @@ class AzureService extends baseAiGenProvider_service_1.BaseAiGenProviderService
94
95
  }
95
96
  return { status: types_1.EVideoSceneStatus.PENDING };
96
97
  }
97
- getCreditUsed({ modelKey, dimensions = "480x480", duration = 5, }) {
98
+ getCreditUsed({ modelKey, dimensions = "480x480", duration = 5, multiClip = false, }) {
98
99
  const modelConfig = aiModels_1.aiModelConfigs[modelKey];
99
100
  const cost = modelConfig.cost?.table?.[dimensions]?.[duration];
100
- return (0, helpers_1.getCreditsFromCost)(cost ?? 0);
101
+ if (cost === undefined || cost === null) {
102
+ logger_1.logger.warn(`Azure getCreditUsed: no cost entry for modelKey="${modelKey}" dimensions="${dimensions}" duration=${duration} — returning fallback`, { modelKey, dimensions, duration });
103
+ return (0, helpers_1.getCreditsFromCost)(1.0, !multiClip);
104
+ }
105
+ return (0, helpers_1.getCreditsFromCost)(cost, !multiClip);
101
106
  }
102
107
  }
103
108
  exports.AzureService = AzureService;
@@ -65,10 +65,10 @@ class ByteDanceService extends baseAiGenProvider_service_1.BaseAiGenProviderServ
65
65
  const code = parsed?.error?.code;
66
66
  const param = parsed?.error?.param;
67
67
  const message = parsed?.error?.message ?? "";
68
- if (code === "InputTextSensitiveContentDetected") {
68
+ if (code?.startsWith("InputTextSensitiveContentDetected")) {
69
69
  throw new errors_1.UserFacingError("Your prompt contains content that violates the content policy. Please modify your prompt and try again.");
70
70
  }
71
- if (code === "InputImageSensitiveContentDetected") {
71
+ if (code?.startsWith("InputImageSensitiveContentDetected")) {
72
72
  throw new errors_1.UserFacingError("Your input image contains sensitive content and cannot be processed. Please use a different image.");
73
73
  }
74
74
  if (code === "InvalidParameter.UnsupportedImageFormat" || (code?.includes("UnsupportedImageFormat"))) {
@@ -183,7 +183,7 @@ class ByteDanceService extends baseAiGenProvider_service_1.BaseAiGenProviderServ
183
183
  const FRAME_RATE = 24;
184
184
  const tokensConsumed = Math.ceil((dims.width * dims.height * FRAME_RATE * params.duration) / 1024);
185
185
  const cost = (per1KTokens * tokensConsumed) / 1000;
186
- return (0, helpers_2.getCreditsFromCost)(cost);
186
+ return (0, helpers_2.getCreditsFromCost)(cost, !params.multiClip);
187
187
  }
188
188
  }
189
189
  exports.ByteDanceService = ByteDanceService;
@@ -5,6 +5,6 @@ export declare class GoogleService extends BaseAiGenProviderService {
5
5
  constructor();
6
6
  generateVideo(params: VideoGenerationParams): Promise<VideoGenerationResult>;
7
7
  checkVideoStatus({ task, outputFilename, outputFilePath, }: VideoStatusParams): Promise<VideoStatusResult>;
8
- getCreditUsed({ modelKey, duration }: CreditUsageParams): number;
8
+ getCreditUsed({ modelKey, duration, resolution, multiClip }: CreditUsageParams): number;
9
9
  }
10
10
  //# sourceMappingURL=google.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/google.service.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,EAAE,CAAc;;IAOlB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAqC3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmEjD,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAY,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAMrE"}
1
+ {"version":3,"file":"google.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/google.service.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,EAAE,CAAc;;IAOlB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAqC3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmEjD,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAY,EAAE,UAAmB,EAAE,SAAiB,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAiB7G"}
@@ -11,6 +11,7 @@ const aiModels_1 = require("../../../../globals/aiModels");
11
11
  const types_1 = require("../../../../globals/types");
12
12
  const firebase_1 = require("../../../../libs/firebase");
13
13
  const helpers_1 = require("../../../../utils/helpers");
14
+ const logger_1 = require("../../../../utils/logger");
14
15
  const helpers_2 = require("../../helpers");
15
16
  const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
16
17
  const fs_1 = require("fs");
@@ -101,11 +102,19 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
101
102
  }
102
103
  return { status: types_1.EVideoSceneStatus.PENDING };
103
104
  }
104
- getCreditUsed({ modelKey, duration = 8 }) {
105
+ getCreditUsed({ modelKey, duration = 8, resolution = "720p", multiClip = false }) {
105
106
  const modelConfig = aiModels_1.aiModelConfigs[modelKey];
106
- return modelConfig.cost?.perSecond
107
- ? (0, helpers_1.getCreditsFromCost)(modelConfig.cost?.perSecond * duration)
108
- : 3; // should not happen
107
+ const cost = modelConfig.cost;
108
+ const applyFloor = !multiClip;
109
+ if (cost?.perResolution) {
110
+ const ratePerSecond = cost.perResolution[resolution] ?? cost.perResolution["720p"];
111
+ return (0, helpers_1.getCreditsFromCost)(ratePerSecond * duration, applyFloor);
112
+ }
113
+ if (cost?.perSecond) {
114
+ return (0, helpers_1.getCreditsFromCost)(cost.perSecond * duration, applyFloor);
115
+ }
116
+ logger_1.logger.warn(`Google getCreditUsed: no cost config found for modelKey="${modelKey}" — returning fallback`, { modelKey, duration, resolution });
117
+ return (0, helpers_1.getCreditsFromCost)(1.0, applyFloor);
109
118
  }
110
119
  }
111
120
  exports.GoogleService = GoogleService;
@@ -13,6 +13,6 @@ export declare class KlingService extends BaseAiGenProviderService {
13
13
  private checkRegularVideoStatus;
14
14
  private checkAvatarVideoStatus;
15
15
  encodeJwtToken(): string;
16
- getCreditUsed({ modelKey, mode, duration, }: CreditUsageParams): number;
16
+ getCreditUsed({ modelKey, mode, duration, multiClip, }: CreditUsageParams): number;
17
17
  }
18
18
  //# sourceMappingURL=kling.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kling.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/kling.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAYlB,qBAAa,YAAa,SAAQ,wBAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;;YAW1B,OAAO;IA8Bf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;YAqCnB,mBAAmB;YAqCnB,uBAAuB;IAmC/B,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAO/D,uBAAuB;YAgEvB,sBAAsB;IA6DpC,cAAc,IAAI,MAAM;IAexB,aAAa,CAAC,EACZ,QAAQ,EACR,IAA8B,EAC9B,QAAY,GACb,EAAE,iBAAiB,GAAG,MAAM;CAc9B"}
1
+ {"version":3,"file":"kling.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/kling.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAYlB,qBAAa,YAAa,SAAQ,wBAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;;YAW1B,OAAO;IA8Bf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;YAqCnB,mBAAmB;YAqCnB,uBAAuB;IA4E/B,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAO/D,uBAAuB;YAgEvB,sBAAsB;IA6DpC,cAAc,IAAI,MAAM;IAexB,aAAa,CAAC,EACZ,QAAQ,EACR,IAA8B,EAC9B,QAAY,EACZ,SAAiB,GAClB,EAAE,iBAAiB,GAAG,MAAM;CAmB9B"}