vidspotai-shared 1.0.113 → 1.0.115

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 (95) hide show
  1. package/lib/globals/types.d.ts +17 -1
  2. package/lib/globals/types.d.ts.map +1 -1
  3. package/lib/globals/types.js +18 -0
  4. package/lib/libs/index.d.ts +1 -0
  5. package/lib/libs/index.d.ts.map +1 -1
  6. package/lib/libs/index.js +1 -0
  7. package/lib/libs/mediaStore.d.ts +3 -31
  8. package/lib/libs/mediaStore.d.ts.map +1 -1
  9. package/lib/libs/mediaStore.js +16 -140
  10. package/lib/libs/storage/GcsBackend.d.ts +9 -0
  11. package/lib/libs/storage/GcsBackend.d.ts.map +1 -0
  12. package/lib/libs/storage/GcsBackend.js +42 -0
  13. package/lib/libs/storage/MediaStorage.d.ts +117 -0
  14. package/lib/libs/storage/MediaStorage.d.ts.map +1 -0
  15. package/lib/libs/storage/MediaStorage.js +117 -0
  16. package/lib/libs/storage/R2Backend.d.ts +42 -0
  17. package/lib/libs/storage/R2Backend.d.ts.map +1 -0
  18. package/lib/libs/storage/R2Backend.js +175 -0
  19. package/lib/libs/storage/StorageBackend.d.ts +41 -0
  20. package/lib/libs/storage/StorageBackend.d.ts.map +1 -0
  21. package/lib/libs/storage/StorageBackend.js +2 -0
  22. package/lib/libs/storage/cdnUrl.d.ts +27 -0
  23. package/lib/libs/storage/cdnUrl.d.ts.map +1 -0
  24. package/lib/libs/storage/cdnUrl.js +48 -0
  25. package/lib/libs/storage/index.d.ts +6 -0
  26. package/lib/libs/storage/index.d.ts.map +1 -0
  27. package/lib/libs/storage/index.js +21 -0
  28. package/lib/models/agent.model.d.ts +27 -0
  29. package/lib/models/agent.model.d.ts.map +1 -1
  30. package/lib/models/index.d.ts +1 -0
  31. package/lib/models/index.d.ts.map +1 -1
  32. package/lib/models/index.js +1 -0
  33. package/lib/models/outreach.model.d.ts +7 -1
  34. package/lib/models/outreach.model.d.ts.map +1 -1
  35. package/lib/models/outreachIntegration.model.d.ts +42 -0
  36. package/lib/models/outreachIntegration.model.d.ts.map +1 -0
  37. package/lib/models/outreachIntegration.model.js +8 -0
  38. package/lib/models/video.model.d.ts +7 -1
  39. package/lib/models/video.model.d.ts.map +1 -1
  40. package/lib/schemas/videoPlan.schema.d.ts +1 -0
  41. package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
  42. package/lib/schemas/videoPlan.schema.js +10 -0
  43. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +1 -1
  44. package/lib/services/agent/tools/generateAvatarVideo.tool.js +3 -5
  45. package/lib/services/agent/tools/planVideo.tool.d.ts +1 -0
  46. package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -1
  47. package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
  48. package/lib/services/aiGen/providers/alibaba/alibaba.js +5 -11
  49. package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -1
  50. package/lib/services/aiGen/providers/bytedance/bytedance.service.js +5 -0
  51. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +1 -1
  52. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +3 -7
  53. package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
  54. package/lib/services/aiGen/providers/google/google.service.js +7 -4
  55. package/lib/services/aiGen/providers/google/googleMusic.d.ts.map +1 -1
  56. package/lib/services/aiGen/providers/google/googleMusic.js +3 -7
  57. package/lib/services/aiGen/providers/kling/kling.service.d.ts +16 -7
  58. package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
  59. package/lib/services/aiGen/providers/kling/kling.service.js +2 -2
  60. package/lib/services/aiGen/providers/kling/klingImage.service.d.ts.map +1 -1
  61. package/lib/services/aiGen/providers/kling/klingImage.service.js +3 -5
  62. package/lib/services/aiGen/providers/kling/klingStatus.d.ts +1 -1
  63. package/lib/services/aiGen/providers/kling/klingStatus.d.ts.map +1 -1
  64. package/lib/services/aiGen/providers/kling/klingStatus.js +8 -19
  65. package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
  66. package/lib/services/aiGen/providers/minimax/minimax.service.js +7 -17
  67. package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
  68. package/lib/services/aiGen/providers/openai/openai.service.js +5 -13
  69. package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
  70. package/lib/services/aiGen/providers/pixverse/pixverse.service.js +5 -0
  71. package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
  72. package/lib/services/aiGen/providers/runway/runway.service.js +5 -10
  73. package/lib/services/avatarGen/IAvatarVideoProvider.d.ts +25 -3
  74. package/lib/services/avatarGen/IAvatarVideoProvider.d.ts.map +1 -1
  75. package/lib/services/avatarGen/IAvatarVideoProvider.js +2 -1
  76. package/lib/services/avatarGen/providers/heygenAvatarProvider.d.ts +23 -2
  77. package/lib/services/avatarGen/providers/heygenAvatarProvider.d.ts.map +1 -1
  78. package/lib/services/avatarGen/providers/heygenAvatarProvider.js +71 -0
  79. package/lib/services/avatarGen/providers/tavusAvatarProvider.d.ts +3 -4
  80. package/lib/services/avatarGen/providers/tavusAvatarProvider.d.ts.map +1 -1
  81. package/lib/services/avatarGen/providers/tavusAvatarProvider.js +17 -0
  82. package/lib/services/editor/planToProject.d.ts.map +1 -1
  83. package/lib/services/editor/planToProject.js +29 -1
  84. package/lib/services/firestore.service.d.ts +3 -0
  85. package/lib/services/firestore.service.d.ts.map +1 -1
  86. package/lib/services/firestore.service.js +7 -0
  87. package/lib/services/gcp/uploadAudioBuffer.d.ts.map +1 -1
  88. package/lib/services/gcp/uploadAudioBuffer.js +4 -0
  89. package/lib/services/index.d.ts +1 -0
  90. package/lib/services/index.d.ts.map +1 -1
  91. package/lib/services/index.js +1 -0
  92. package/lib/services/outreachWebhooks.service.d.ts +24 -0
  93. package/lib/services/outreachWebhooks.service.d.ts.map +1 -0
  94. package/lib/services/outreachWebhooks.service.js +41 -0
  95. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"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"}
@@ -702,6 +702,7 @@ export declare const VideoPlanSchema: z.ZodObject<{
702
702
  outputLanguage: z.ZodOptional<z.ZodString>;
703
703
  notes: z.ZodOptional<z.ZodString>;
704
704
  brandLogoUrl: z.ZodOptional<z.ZodString>;
705
+ websiteScreenshotUrl: z.ZodOptional<z.ZodString>;
705
706
  captionStyle: z.ZodOptional<z.ZodObject<{
706
707
  fontFamily: z.ZodOptional<z.ZodString>;
707
708
  fontSize: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"videoPlan.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/videoPlan.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;iBAc5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAS/B,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAY7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;EAQ9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsC5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAqC5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;EAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+I7B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAa/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;iBAkBxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;iBASvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqL1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"videoPlan.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/videoPlan.schema.ts"],"names":[],"mappings":"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"}
@@ -571,6 +571,16 @@ exports.VideoPlanSchema = zod_1.z.object({
571
571
  * logo ImageClip on the dedicated logo track. Absent → no logo overlay.
572
572
  */
573
573
  brandLogoUrl: zod_1.z.string().url().optional(),
574
+ /**
575
+ * Reach per-recipient enrichment — URL of a screenshot of the recipient's
576
+ * website, rendered as a dedicated full-frame opening scene ("website as
577
+ * dynamic background" personalization). ORCHESTRATOR-ONLY: the planner LLM
578
+ * must NOT set this; the outreach fan-out injects it post-plan when
579
+ * `recipient.websiteUrl` is present (see outreachCampaignProcessor). When
580
+ * present, planToProject prepends a leading ImageClip scene and shifts every
581
+ * other scene's timing to make room. Absent → no opening scene.
582
+ */
583
+ websiteScreenshotUrl: zod_1.z.string().url().optional(),
574
584
  /**
575
585
  * CH-8 — caption styling applied to every CaptionClip at planToProject time.
576
586
  * Set by the chat `change_caption_style` tool; absent → renderer defaults
@@ -1 +1 @@
1
- {"version":3,"file":"generateAvatarVideo.tool.d.ts","sourceRoot":"","sources":["../../../../src/services/agent/tools/generateAvatarVideo.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAY5E,OAAO,EAAgB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;iBAwEb,CAAC;AAEL,QAAA,MAAM,YAAY;;;;iBAQhB,CAAC;AAEH,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAClD,OAAO,WAAW,EAClB,OAAO,YAAY,CAqIpB,CAAC"}
1
+ {"version":3,"file":"generateAvatarVideo.tool.d.ts","sourceRoot":"","sources":["../../../../src/services/agent/tools/generateAvatarVideo.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAY5E,OAAO,EAAgB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;iBAwEb,CAAC;AAEL,QAAA,MAAM,YAAY;;;;iBAQhB,CAAC;AAEH,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAClD,OAAO,WAAW,EAClB,OAAO,YAAY,CAmIpB,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateAvatarVideoTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const aiModels_1 = require("../../../globals/aiModels");
6
- const firebase_1 = require("../../../libs/firebase");
6
+ const storage_1 = require("../../../libs/storage");
7
7
  const avatarProviderFactory_1 = require("../../avatarGen/avatarProviderFactory");
8
8
  const types_1 = require("../../aiGen/types");
9
9
  const rateLimiter_1 = require("../../rateLimiter");
@@ -193,10 +193,8 @@ exports.generateAvatarVideoTool = {
193
193
  ttsLimiter.releaseSlot();
194
194
  }
195
195
  const filePath = `agent-avatar-audio/${ctx.userId}/${ctx.agentRunId}-${Date.now()}.${ttsResult.extension}`;
196
- const file = (0, firebase_1.getBucket)().file(filePath);
197
- await file.save(ttsResult.audioBuffer, { contentType: ttsResult.mimeType });
198
- const [signedUrl] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
199
- audioUrl = signedUrl;
196
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
197
+ audioUrl = await storage_1.mediaStorage.put(filePath, ttsResult.audioBuffer, ttsResult.mimeType);
200
198
  }
201
199
  // Hold the byo-media model slot through return — host's TaskPoller releases
202
200
  // when the task settles. Release here on submit error.
@@ -359,6 +359,7 @@ declare const OutputSchema: z.ZodObject<{
359
359
  outputLanguage: z.ZodOptional<z.ZodString>;
360
360
  notes: z.ZodOptional<z.ZodString>;
361
361
  brandLogoUrl: z.ZodOptional<z.ZodString>;
362
+ websiteScreenshotUrl: z.ZodOptional<z.ZodString>;
362
363
  captionStyle: z.ZodOptional<z.ZodObject<{
363
364
  fontFamily: z.ZodOptional<z.ZodString>;
364
365
  fontSize: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"planVideo.tool.d.ts","sourceRoot":"","sources":["../../../../src/services/agent/tools/planVideo.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ/D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAExD;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAE,cAAc,CACxC,OAAO,WAAW,EAClB,OAAO,YAAY,CAuBpB,CAAC"}
1
+ {"version":3,"file":"planVideo.tool.d.ts","sourceRoot":"","sources":["../../../../src/services/agent/tools/planVideo.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQ/D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAExD;AAED,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIf,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAE,cAAc,CACxC,OAAO,WAAW,EAClB,OAAO,YAAY,CAuBpB,CAAC"}
@@ -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,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAoGlB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAiBpB;AAED,qBAAa,cAAe,SAAQ,wBAAwB;IAE1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;IAiBjC;;;;OAIG;YACW,OAAO;IAwDf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA+E3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,EACzB,QAAQ,GACT,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0EjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA4EjC;;;OAGG;YACW,iBAAiB;IA4C/B;;;OAGG;YACW,kBAAkB;IA6DhC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAiB,EACjB,SAAa,EACb,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAoB9B"}
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,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAoGlB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAiBpB;AAED,qBAAa,cAAe,SAAQ,wBAAwB;IAE1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;;IAiBjC;;;;OAIG;YACW,OAAO;IAwDf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA+E3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,EACzB,QAAQ,GACT,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqEjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA0EjC;;;OAGG;YACW,iBAAiB;IA4C/B;;;OAGG;YACW,kBAAkB;IA6DhC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAiB,EACjB,SAAa,EACb,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAoB9B"}
@@ -9,7 +9,7 @@ const axios_1 = __importDefault(require("axios"));
9
9
  const types_1 = require("../../../../globals/types");
10
10
  const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
11
11
  const aiModels_1 = require("../../../../globals/aiModels");
12
- const firebase_1 = require("../../../../libs/firebase");
12
+ const storage_1 = require("../../../../libs/storage");
13
13
  const helpers_1 = require("./helpers");
14
14
  const helpers_2 = require("../../helpers");
15
15
  const utils_1 = require("../../../../utils");
@@ -271,18 +271,14 @@ class AlibabaService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
271
271
  }
272
272
  // console.log("Alibaba video URL:", videoUrl);
273
273
  const filePath = `${outputFilePath}/${outputFilename}.mp4`;
274
- const file = (0, firebase_1.getBucket)().file(filePath);
275
274
  try {
276
275
  const videoResp = await axios_1.default.get(videoUrl, {
277
276
  responseType: "arraybuffer",
278
277
  timeout: this.timeout,
279
278
  });
280
279
  const buffer = Buffer.from(videoResp.data);
281
- await file.save(buffer, { contentType: "video/mp4" });
282
- const [signedUrl] = await file.getSignedUrl({
283
- action: "read",
284
- expires: "03-09-2491",
285
- });
280
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
281
+ const signedUrl = await storage_1.mediaStorage.put(filePath, buffer, "video/mp4");
286
282
  return {
287
283
  videoUrl: signedUrl,
288
284
  status: types_1.EVideoSceneStatus.COMPLETED,
@@ -370,16 +366,14 @@ class AlibabaService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
370
366
  if (!remoteUrls.length) {
371
367
  throw new Error("DashScope image returned no URLs");
372
368
  }
373
- const bucket = (0, firebase_1.getBucket)();
374
369
  const ts = Date.now();
375
370
  const urls = [];
376
371
  for (let i = 0; i < remoteUrls.length; i++) {
377
372
  const remoteUrl = remoteUrls[i];
378
373
  const bytes = Buffer.from(await (await axios_1.default.get(remoteUrl, { responseType: "arraybuffer", timeout: this.timeout })).data);
379
374
  const path = `images/dashscope/${ts}-${Math.random().toString(36).slice(2, 8)}-${i}.png`;
380
- const file = bucket.file(path);
381
- await file.save(bytes, { contentType: "image/png" });
382
- const [signed] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
375
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
376
+ const signed = await storage_1.mediaStorage.put(path, bytes, "image/png");
383
377
  urls.push(signed);
384
378
  }
385
379
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"bytedance.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/bytedance/bytedance.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAUlB,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CACsD;IAI9E,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,WAAW;IAIb,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2M3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4HjD,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM;CAyEjD"}
1
+ {"version":3,"file":"bytedance.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/bytedance/bytedance.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAWlB,qBAAa,gBAAiB,SAAQ,wBAAwB;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CACsD;IAI9E,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,WAAW;IAIb,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2M3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiIjD,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM;CAyEjD"}
@@ -10,6 +10,7 @@ const helpers_1 = require("../../helpers");
10
10
  const aiModels_1 = require("../../../../globals/aiModels");
11
11
  const types_1 = require("../../../../globals/types");
12
12
  const firebase_1 = require("../../../../libs/firebase");
13
+ const storage_1 = require("../../../../libs/storage");
13
14
  const helpers_2 = require("../../../../utils/helpers");
14
15
  const errors_1 = require("../../../../utils/errors");
15
16
  const logger_1 = require("../../../../utils/logger");
@@ -278,6 +279,10 @@ class ByteDanceService extends baseAiGenProvider_service_1.BaseAiGenProviderServ
278
279
  },
279
280
  },
280
281
  });
282
+ // mediaStorage: best-effort R2 mirror (zero-egress delivery). GCS keeps the
283
+ // firebaseStorage download-token URL as the stored system-of-record URL; the
284
+ // CDN Worker resolves either URL family to the same R2 object.
285
+ await storage_1.mediaStorage.mirrorBytes(filePath, buffer, "video/mp4");
281
286
  const publicVideoUrl = `https://firebasestorage.googleapis.com/v0/b/${bucket.name}` +
282
287
  `/o/${encodeURIComponent(filePath)}?alt=media&token=${downloadToken}`;
283
288
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"elevenlabs.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/elevenlabs/elevenlabs.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAWhC;;;OAGG;IACG,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA0D/B,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAiB,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAkBpF"}
1
+ {"version":3,"file":"elevenlabs.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/elevenlabs/elevenlabs.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAWhC;;;OAGG;IACG,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAsD/B,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAiB,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAkBpF"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ElevenLabsAiGenService = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const aiModels_1 = require("../../../../globals/aiModels");
9
- const firebase_1 = require("../../../../libs/firebase");
9
+ const storage_1 = require("../../../../libs/storage");
10
10
  const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
11
11
  const helpers_1 = require("../../../../utils/helpers");
12
12
  /**
@@ -50,12 +50,8 @@ class ElevenLabsAiGenService extends baseAiGenProvider_service_1.BaseAiGenProvid
50
50
  });
51
51
  const buffer = Buffer.from(resp.data);
52
52
  const path = `sfx/elevenlabs/${params.outputFilename}.mp3`;
53
- const file = (0, firebase_1.getBucket)().file(path);
54
- await file.save(buffer, { contentType: "audio/mpeg" });
55
- const [signed] = await file.getSignedUrl({
56
- action: "read",
57
- expires: "03-09-2491",
58
- });
53
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
54
+ const signed = await storage_1.mediaStorage.put(path, buffer, "audio/mpeg");
59
55
  return {
60
56
  audioUrl: signed,
61
57
  mimeType: "audio/mpeg",
@@ -1 +1 @@
1
- {"version":3,"file":"google.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/google.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AA+ElB,qBAAa,aAAc,SAAQ,wBAAwB;IAKzD,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAK;;IAQ/C;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAoChC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;OAIG;YACW,kBAAkB;IAsC1B,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2T3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8J3C,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;YAiBnB,cAAc;IAuK5B;;;;;;OAMG;IACH;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAIjC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAY,EAAE,UAAmB,EAAE,SAAiB,EAAE,SAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,MAAM;CA8BpJ"}
1
+ {"version":3,"file":"google.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/google.service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AA+ElB,qBAAa,aAAc,SAAQ,wBAAwB;IAKzD,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAK;;IAQ/C;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAoChC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;OAIG;YACW,kBAAkB;IAsC1B,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2T3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmK3C,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;YAiBnB,cAAc;IAqK5B;;;;;;OAMG;IACH;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAIjC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAY,EAAE,UAAmB,EAAE,SAAiB,EAAE,SAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,MAAM;CA8BpJ"}
@@ -10,6 +10,7 @@ const promises_1 = __importDefault(require("fs/promises"));
10
10
  const aiModels_1 = require("../../../../globals/aiModels");
11
11
  const types_1 = require("../../../../globals/types");
12
12
  const firebase_1 = require("../../../../libs/firebase");
13
+ const storage_1 = require("../../../../libs/storage");
13
14
  const helpers_1 = require("../../../../utils/helpers");
14
15
  const logger_1 = require("../../../../utils/logger");
15
16
  const errors_1 = require("../../../../utils/errors");
@@ -579,6 +580,10 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
579
580
  action: "read",
580
581
  expires: "03-09-2491",
581
582
  });
583
+ // mediaStorage: best-effort R2 mirror of the integrity-validated local clip
584
+ // (zero-egress delivery) — the GCS streaming write above stays the guarded
585
+ // system-of-record; this only runs when R2_WRITE_ENABLED. Before cleanup.
586
+ await storage_1.mediaStorage.mirrorFromFile(filePath, localPath, "video/mp4");
582
587
  // Optionally clean up local file
583
588
  await promises_1.default
584
589
  .unlink(localPath)
@@ -752,7 +757,6 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
752
757
  // platform/SDK regression isn't muted by the branch above.
753
758
  throw new Error("Google image generation returned no image bytes");
754
759
  }
755
- const bucket = (0, firebase_1.getBucket)();
756
760
  const ts = Date.now();
757
761
  const urls = [];
758
762
  for (let i = 0; i < allBytes.length; i++) {
@@ -760,9 +764,8 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
760
764
  const { bytes, mime } = item;
761
765
  const ext = (mime.split("/")[1] ?? "png").toLowerCase();
762
766
  const path = `images/google/${ts}-${Math.random().toString(36).slice(2, 8)}-${i}.${ext}`;
763
- const file = bucket.file(path);
764
- await file.save(bytes, { contentType: mime });
765
- const [signed] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
767
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
768
+ const signed = await storage_1.mediaStorage.put(path, bytes, mime);
766
769
  urls.push(signed);
767
770
  }
768
771
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"googleMusic.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/googleMusic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAmEhC"}
1
+ {"version":3,"file":"googleMusic.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/google/googleMusic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA+DhC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateGoogleMusic = generateGoogleMusic;
4
4
  const google_auth_library_1 = require("google-auth-library");
5
5
  const aiModels_1 = require("../../../../globals/aiModels");
6
- const firebase_1 = require("../../../../libs/firebase");
6
+ const storage_1 = require("../../../../libs/storage");
7
7
  /**
8
8
  * Lyria 2 (Vertex AI) music generation. Standalone — does NOT use the
9
9
  * GoogleGenAI (Gemini Developer API) client; it auths via ADC and hits the
@@ -63,12 +63,8 @@ async function generateGoogleMusic(params) {
63
63
  }
64
64
  const buffer = Buffer.from(audioB64, "base64");
65
65
  const path = `music/lyria/${params.outputFilename}.wav`;
66
- const file = (0, firebase_1.getBucket)().file(path);
67
- await file.save(buffer, { contentType: "audio/wav" });
68
- const [signed] = await file.getSignedUrl({
69
- action: "read",
70
- expires: "03-09-2491",
71
- });
66
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
67
+ const signed = await storage_1.mediaStorage.put(path, buffer, "audio/wav");
72
68
  return {
73
69
  audioUrl: signed,
74
70
  mimeType: "audio/wav",
@@ -1,19 +1,28 @@
1
1
  import { BaseAiGenProviderService } from "../baseAiGenProvider.service";
2
2
  import { CreditUsageParams, VideoGenerationParams, VideoGenerationResult, VideoStatusParams, VideoStatusResult } from "../types";
3
3
  /**
4
- * Kling runs TWO incompatible auth schemes, split by API surface. Verified
5
- * against the live API 2026-07-22.
4
+ * Kling runs TWO auth schemes. Verified against the live API 2026-07-22,
5
+ * re-verified 2026-09-16.
6
6
  *
7
7
  * "jwt" — the legacy AK/SK flow: an HS256 JWT signed per request from
8
8
  * KLING_ACCESS_KEY + KLING_SECRET_KEY. Accepted by every
9
9
  * /v1/videos/*, /v1/images/* and /account/* endpoint.
10
10
  *
11
- * "apiKey" — a static console-issued key sent verbatim as a bearer token,
12
- * required by the API 2.0 surface (/text-to-video/*,
13
- * /image-to-video/*, /tasks). Presenting a JWT there returns
14
- * HTTP 401 code 1002: "The current API does not support AK/SK;
15
- * please go to the console to create API key."
11
+ * "apiKey" — a static console-issued key sent verbatim as a bearer token.
12
+ * Required by the API 2.0 surface (/text-to-video/*,
13
+ * /image-to-video/*, /tasks) — JWT is REJECTED there (HTTP 401
14
+ * code 1002). Live-verified 2026-09-16 (curl against
15
+ * /v1/videos/text2video with a real submit) that it is ALSO
16
+ * accepted on every legacy /v1/videos/* endpoint — it is a
17
+ * strict superset of what JWT can auth, not a turbo-only key.
16
18
  * Created at https://kling.ai/dev/api-key → env KLING_API_KEY.
19
+ *
20
+ * Default is "apiKey", not "jwt": the AK/SK account is the one that hit
21
+ * ACCOUNT_QUOTA_EXCEEDED (Kling code 1102) in prod (2026-09-16), and rotating
22
+ * KLING_API_KEY alone did nothing for it because only the turbo path used
23
+ * that key — every other model kept authing against the same exhausted AK/SK
24
+ * account. Making apiKey the default routes ALL Kling traffic onto the new
25
+ * key/account; "jwt" is kept only as an explicit opt-in fallback.
17
26
  */
18
27
  export type KlingAuthMode = "jwt" | "apiKey";
19
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"kling.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/kling.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAyBlB;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH,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;IASxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;;YAWlE,OAAO;IAiCf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA+EjC;;;;;;;;OAQG;YACW,kBAAkB;IAgChC;;;;OAIG;YACW,WAAW;YA6BX,iBAAiB;YA6BjB,qBAAqB;YAgCrB,eAAe;YAkDf,mBAAmB;YAgCnB,uBAAuB;IAsI/B,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7E;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAiBxB,cAAc,IAAI,MAAM;IAexB,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM;CAGjD"}
1
+ {"version":3,"file":"kling.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/kling.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAyBlB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH,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;IASxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;;YAWlE,OAAO;IAiCf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA+EjC;;;;;;;;OAQG;YACW,kBAAkB;IAgChC;;;;OAIG;YACW,WAAW;YA6BX,iBAAiB;YA6BjB,qBAAqB;YAgCrB,eAAe;YAkDf,mBAAmB;YAgCnB,uBAAuB;IAsI/B,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB7E;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAiBxB,cAAc,IAAI,MAAM;IAexB,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM;CAGjD"}
@@ -43,7 +43,7 @@ class KlingService extends baseAiGenProvider_service_1.BaseAiGenProviderService
43
43
  throw new Error("Missing KLING_SECRET_KEY or KLING_ACCESS_KEY in environment variables");
44
44
  }
45
45
  }
46
- async request(endpoint, method, body, timeout = this.generateTimeout, authMode = "jwt") {
46
+ async request(endpoint, method, body, timeout = this.generateTimeout, authMode = "apiKey") {
47
47
  const config = {
48
48
  method,
49
49
  url: `${this.baseUrl}${endpoint}`,
@@ -247,7 +247,7 @@ class KlingService extends baseAiGenProvider_service_1.BaseAiGenProviderService
247
247
  });
248
248
  return { task: task.data.task_id, status: types_1.EVideoSceneStatus.TRIGGERED };
249
249
  }
250
- async requestWithTimeoutRetry(endpoint, method, body, maxAttempts = 4, timeout = this.statusTimeout, authMode = "jwt") {
250
+ async requestWithTimeoutRetry(endpoint, method, body, maxAttempts = 4, timeout = this.statusTimeout, authMode = "apiKey") {
251
251
  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
252
252
  try {
253
253
  return await this.request(endpoint, method, body, timeout, authMode);
@@ -1 +1 @@
1
- {"version":3,"file":"klingImage.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/klingImage.service.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AA2C3F,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;;IAWhF,OAAO,CAAC,cAAc;YAUR,OAAO;YA6BP,mBAAmB;YAsCnB,uBAAuB;YAmCvB,aAAa;YA+Bb,eAAe;IAmBvB,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuClF,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAa,EAAE,SAAiB,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAStG"}
1
+ {"version":3,"file":"klingImage.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/klingImage.service.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AA2C3F,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;;IAWhF,OAAO,CAAC,cAAc;YAUR,OAAO;YA6BP,mBAAmB;YAsCnB,uBAAuB;YAmCvB,aAAa;YA+Bb,eAAe;IAiBvB,aAAa,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuClF,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAa,EAAE,SAAiB,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAStG"}
@@ -20,7 +20,7 @@ const https_1 = __importDefault(require("https"));
20
20
  const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
21
21
  const enums_1 = require("../../../../globals/aiModels/enums");
22
22
  const aiModels_1 = require("../../../../globals/aiModels");
23
- const firebase_1 = require("../../../../libs/firebase");
23
+ const storage_1 = require("../../../../libs/storage");
24
24
  const logger_1 = require("../../../../utils/logger");
25
25
  const helpers_1 = require("../../../../utils/helpers");
26
26
  const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
@@ -153,11 +153,9 @@ class KlingImageService extends baseAiGenProvider_service_1.BaseAiGenProviderSer
153
153
  const contentType = response.headers.get("content-type") ?? "image/jpeg";
154
154
  const ext = contentType.split("/")[1]?.split(";")[0] ?? "jpg";
155
155
  const bytes = Buffer.from(await response.arrayBuffer());
156
- const bucket = (0, firebase_1.getBucket)();
157
156
  const path = `images/kling/${Date.now()}-${Math.random().toString(36).slice(2, 8)}-${idx}.${ext}`;
158
- const file = bucket.file(path);
159
- await file.save(bytes, { contentType });
160
- const [signed] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
157
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
158
+ const signed = await storage_1.mediaStorage.put(path, bytes, contentType);
161
159
  return signed;
162
160
  }
163
161
  // ─── Public interface ──────────────────────────────────────────────────────
@@ -16,7 +16,7 @@ export declare function parseKlingDurationSec(raw: unknown): number | undefined;
16
16
  export interface KlingStatusDeps {
17
17
  /** Bound KlingService.requestWithTimeoutRetry. */
18
18
  request: <T>(endpoint: string, method: "POST" | "GET", body?: any, maxAttempts?: number, timeout?: number,
19
- /** "apiKey" for the API 2.0 surface (/tasks); defaults to the AK/SK JWT. */
19
+ /** Defaults to "apiKey" (see KlingAuthMode); pass "jwt" to force the legacy AK/SK flow. */
20
20
  authMode?: KlingAuthMode) => Promise<T>;
21
21
  /** Submit-endpoint timeout (also used for the potentially-large video download). */
22
22
  generateTimeout: number;
@@ -1 +1 @@
1
- {"version":3,"file":"klingStatus.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/klingStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;;GAKG;AACH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAItE;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,OAAO,EAAE,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,IAAI,CAAC,EAAE,GAAG,EACV,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;CACzB;AA4ED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CAgF5B;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CA2G5B"}
1
+ {"version":3,"file":"klingStatus.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/klingStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;;;;GAKG;AACH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAItE;AAED,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,OAAO,EAAE,CAAC,CAAC,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,IAAI,CAAC,EAAE,GAAG,EACV,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM;IAChB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,aAAa,KACrB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;CACzB;AA6ED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CA2E5B;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,cAAc,EAAE,cAAyB,EAAE,EAAE,iBAAiB,GACrE,OAAO,CAAC,iBAAiB,CAAC,CAuG5B"}
@@ -11,7 +11,7 @@ const axios_1 = __importDefault(require("axios"));
11
11
  const http_1 = __importDefault(require("http"));
12
12
  const https_1 = __importDefault(require("https"));
13
13
  const types_1 = require("../../../../globals/types");
14
- const firebase_1 = require("../../../../libs/firebase");
14
+ const storage_1 = require("../../../../libs/storage");
15
15
  const logger_1 = require("../../../../utils/logger");
16
16
  /**
17
17
  * Kling status polling + result stashing. Extracted from KlingService so the
@@ -43,7 +43,7 @@ function parseKlingDurationSec(raw) {
43
43
  * this helper in a separate commit.
44
44
  */
45
45
  async function stashVideoToGcs(videoUrl, outputFilePath, outputFilename, timeout, logContext) {
46
- const file = (0, firebase_1.getBucket)().file(`${outputFilePath}/${outputFilename}.mp4`);
46
+ const filePath = `${outputFilePath}/${outputFilename}.mp4`;
47
47
  const maxAttempts = 3;
48
48
  let lastErr;
49
49
  let downloadHost = "unknown";
@@ -63,11 +63,8 @@ async function stashVideoToGcs(videoUrl, outputFilePath, outputFilename, timeout
63
63
  httpAgent: v4Http,
64
64
  httpsAgent: v4Https,
65
65
  });
66
- await file.save(Buffer.from(videoResp.data), { contentType: "video/mp4" });
67
- const [signedUrl] = await file.getSignedUrl({
68
- action: "read",
69
- expires: "03-09-2491",
70
- });
66
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
67
+ const signedUrl = await storage_1.mediaStorage.put(filePath, Buffer.from(videoResp.data), "video/mp4");
71
68
  return signedUrl;
72
69
  }
73
70
  catch (err) {
@@ -192,18 +189,14 @@ async function checkRegularVideoStatus(deps, { task, outputFilename, outputFileP
192
189
  };
193
190
  }
194
191
  const filePath = `${outputFilePath}/${outputFilename}.mp4`;
195
- const file = (0, firebase_1.getBucket)().file(filePath);
196
192
  // Download video using axios — use generateTimeout since video files can be large
197
193
  const videoResp = await axios_1.default.get(videoUrl, {
198
194
  responseType: "arraybuffer",
199
195
  timeout: deps.generateTimeout,
200
196
  });
201
197
  const buffer = Buffer.from(videoResp.data);
202
- await file.save(buffer, { contentType: "video/mp4" });
203
- const [signedUrl] = await file.getSignedUrl({
204
- action: "read",
205
- expires: "03-09-2491",
206
- });
198
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
199
+ const signedUrl = await storage_1.mediaStorage.put(filePath, buffer, "video/mp4");
207
200
  return {
208
201
  videoUrl: signedUrl,
209
202
  status: types_1.EVideoSceneStatus.COMPLETED,
@@ -248,7 +241,6 @@ async function checkAvatarVideoStatus(deps, { task, outputFilename, outputFilePa
248
241
  // status that's already known. Wrap the post-success work in its own
249
242
  // bounded retry so a transient blip doesn't poison the poll loop.
250
243
  const filePath = `${outputFilePath}/${outputFilename}.mp4`;
251
- const file = (0, firebase_1.getBucket)().file(filePath);
252
244
  const maxAttempts = 3;
253
245
  let lastErr;
254
246
  // Force IPv4 on the download. The Kling-returned video URL frequently
@@ -274,11 +266,8 @@ async function checkAvatarVideoStatus(deps, { task, outputFilename, outputFilePa
274
266
  httpsAgent: v4Https,
275
267
  });
276
268
  const buffer = Buffer.from(videoResp.data);
277
- await file.save(buffer, { contentType: "video/mp4" });
278
- const [signedUrl] = await file.getSignedUrl({
279
- action: "read",
280
- expires: "03-09-2491",
281
- });
269
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
270
+ const signedUrl = await storage_1.mediaStorage.put(filePath, buffer, "video/mp4");
282
271
  return {
283
272
  videoUrl: signedUrl,
284
273
  status: types_1.EVideoSceneStatus.COMPLETED,
@@ -1 +1 @@
1
- {"version":3,"file":"minimax.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/minimax/minimax.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAUlB;;;GAGG;AAGH,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AAuHpE,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;YAUlB,OAAO;IAuDf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAgE3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6EjD;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAuDjC;;;;;OAKG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA+CjC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAmB,EACnB,QAAY,EACZ,SAAiB,EACjB,SAAa,EACb,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAgC9B"}
1
+ {"version":3,"file":"minimax.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/minimax/minimax.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAUlB;;;GAGG;AAGH,eAAO,MAAM,+BAA+B,uBAAuB,CAAC;AAuHpE,qBAAa,cAAe,SAAQ,wBAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;YAUlB,OAAO;IAuDf,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAgE3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwEjD;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAqDjC;;;;;OAKG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2CjC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAmB,EACnB,QAAY,EACZ,SAAiB,EACjB,SAAa,EACb,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAgC9B"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MinimaxService = exports.MINIMAX_USER_INPUT_ERROR_PREFIX = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const aiModels_1 = require("../../../../globals/aiModels");
9
- const firebase_1 = require("../../../../libs/firebase");
9
+ const storage_1 = require("../../../../libs/storage");
10
10
  const types_1 = require("../../../../globals/types");
11
11
  const helpers_1 = require("../../helpers");
12
12
  const errors_1 = require("../../../../utils/errors");
@@ -266,12 +266,8 @@ class MinimaxService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
266
266
  }
267
267
  const buffer = Buffer.from(videoResp.data);
268
268
  const filePath = `${outputFilePath}/${outputFilename}.mp4`;
269
- const file = (0, firebase_1.getBucket)().file(filePath);
270
- await file.save(buffer, { contentType: "video/mp4" });
271
- const [signedUrl] = await file.getSignedUrl({
272
- action: "read",
273
- expires: "03-09-2491",
274
- });
269
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
270
+ const signedUrl = await storage_1.mediaStorage.put(filePath, buffer, "video/mp4");
275
271
  return {
276
272
  videoUrl: signedUrl,
277
273
  status: types_1.EVideoSceneStatus.COMPLETED,
@@ -314,7 +310,6 @@ class MinimaxService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
314
310
  if (!remoteUrls.length) {
315
311
  throw new Error("MiniMax image API returned no image_urls");
316
312
  }
317
- const bucket = (0, firebase_1.getBucket)();
318
313
  const ts = Date.now();
319
314
  const urls = [];
320
315
  for (let i = 0; i < remoteUrls.length; i++) {
@@ -324,9 +319,8 @@ class MinimaxService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
324
319
  timeout: 60000,
325
320
  });
326
321
  const path = `images/minimax/${ts}-${Math.random().toString(36).slice(2, 8)}-${i}.png`;
327
- const file = bucket.file(path);
328
- await file.save(Buffer.from(r.data), { contentType: "image/png" });
329
- const [signed] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
322
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
323
+ const signed = await storage_1.mediaStorage.put(path, Buffer.from(r.data), "image/png");
330
324
  urls.push(signed);
331
325
  }
332
326
  return {
@@ -369,12 +363,8 @@ class MinimaxService extends baseAiGenProvider_service_1.BaseAiGenProviderServic
369
363
  }
370
364
  const buffer = Buffer.from(audioHex, "hex");
371
365
  const path = `music/minimax/${params.outputFilename}.mp3`;
372
- const file = (0, firebase_1.getBucket)().file(path);
373
- await file.save(buffer, { contentType: "audio/mpeg" });
374
- const [signed] = await file.getSignedUrl({
375
- action: "read",
376
- expires: "03-09-2491",
377
- });
366
+ // mediaStorage: GCS write + best-effort R2 mirror (zero-egress delivery).
367
+ const signed = await storage_1.mediaStorage.put(path, buffer, "audio/mpeg");
378
368
  return {
379
369
  audioUrl: signed,
380
370
  mimeType: "audio/mpeg",
@@ -1 +1 @@
1
- {"version":3,"file":"openai.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/openai/openai.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAclB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,MAAM,CAAS;;IAQjB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAwF3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsC3C,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IA2ChC;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA6HjC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAuB,EACvB,QAAY,EACZ,SAAiB,EACjB,SAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAqB9B"}
1
+ {"version":3,"file":"openai.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/openai/openai.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAclB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,MAAM,CAAS;;IAQjB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAwF3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B3C,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IA2ChC;;;;OAIG;IACG,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA2HjC,aAAa,CAAC,EACZ,QAAQ,EACR,UAAuB,EACvB,QAAY,EACZ,SAAiB,EACjB,SAAa,EACb,OAAO,EACP,WAAW,GACZ,EAAE,iBAAiB,GAAG,MAAM;CAqB9B"}