vidspotai-shared 1.0.69-dev.0 → 1.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/globals/aiModels/enums.d.ts +6 -63
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +9 -78
- package/lib/globals/aiModels/index.d.ts +30 -2
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +35 -7
- package/lib/globals/aiModels/providers/bytedance.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/bytedance.js +0 -19
- package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/google.js +2 -150
- package/lib/globals/aiModels/providers/kling.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/kling.js +37 -280
- package/lib/globals/aiModels/providers/minimax.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/minimax.js +11 -76
- package/lib/globals/aiModels/providers/openai.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/openai.js +6 -90
- package/lib/globals/aiModels/providers/pixverse.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/pixverse.js +29 -111
- package/lib/globals/aiModels/providers/runway.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/runway.js +2 -64
- package/lib/globals/aiModels/types.d.ts +1 -20
- package/lib/globals/aiModels/types.d.ts.map +1 -1
- package/lib/globals/ttsModels/index.d.ts +0 -2
- package/lib/globals/ttsModels/index.d.ts.map +1 -1
- package/lib/globals/ttsModels/index.js +1 -9
- package/lib/globals/ttsModels/types.d.ts +1 -1
- package/lib/globals/ttsModels/types.d.ts.map +1 -1
- package/lib/globals/ttsModels/voices.d.ts +4 -39
- package/lib/globals/ttsModels/voices.d.ts.map +1 -1
- package/lib/globals/ttsModels/voices.js +26 -273
- package/lib/globals/types.d.ts +1 -59
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +2 -81
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/models/index.d.ts +0 -6
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +0 -6
- package/lib/models/user.model.d.ts +1 -12
- package/lib/models/user.model.d.ts.map +1 -1
- package/lib/models/video.model.d.ts +8 -120
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/models/video.model.js +0 -10
- package/lib/services/aiGen/aiGenFactory.service.d.ts +1 -21
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +21 -84
- package/lib/services/aiGen/helpers.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.js +0 -10
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts +3 -14
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
- package/lib/services/aiGen/providers/alibaba/alibaba.js +22 -155
- package/lib/services/aiGen/providers/azure/azure.service.d.ts +14 -0
- package/lib/services/aiGen/providers/azure/azure.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/azure/azure.service.js +108 -0
- package/lib/services/aiGen/providers/azure/index.d.ts +2 -0
- package/lib/services/aiGen/providers/azure/index.d.ts.map +1 -0
- package/lib/services/aiGen/providers/{pexels → azure}/index.js +1 -1
- package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts +4 -22
- package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/baseAiGenProvider.service.js +0 -32
- package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/bytedance/bytedance.service.js +25 -13
- package/lib/services/aiGen/providers/google/google.service.d.ts +2 -11
- package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/google.service.js +28 -245
- package/lib/services/aiGen/providers/index.d.ts +0 -3
- package/lib/services/aiGen/providers/index.d.ts.map +1 -1
- package/lib/services/aiGen/providers/index.js +0 -3
- package/lib/services/aiGen/providers/kling/index.d.ts +0 -1
- package/lib/services/aiGen/providers/kling/index.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/index.js +0 -1
- package/lib/services/aiGen/providers/kling/kling.service.d.ts +1 -12
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +26 -357
- package/lib/services/aiGen/providers/kling/types.d.ts +0 -105
- package/lib/services/aiGen/providers/kling/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts +2 -15
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.js +5 -128
- package/lib/services/aiGen/providers/minimax/types.d.ts +1 -10
- package/lib/services/aiGen/providers/minimax/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/openai/openai.service.d.ts +2 -8
- package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/openai/openai.service.js +7 -184
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +2 -125
- package/lib/services/aiGen/providers/runway/runway.service.d.ts +2 -12
- package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/runway/runway.service.js +21 -224
- package/lib/services/aiGen/providers/types.d.ts +6 -263
- package/lib/services/aiGen/providers/types.d.ts.map +1 -1
- package/lib/services/analytics.service.js +4 -2
- package/lib/services/bullmq.service.d.ts +1 -6
- package/lib/services/bullmq.service.d.ts.map +1 -1
- package/lib/services/bullmq.service.js +14 -62
- package/lib/services/credit.service.d.ts.map +1 -1
- package/lib/services/credit.service.js +7 -45
- package/lib/services/firestore.service.d.ts +0 -17
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +0 -30
- package/lib/services/gcp/index.d.ts +0 -1
- package/lib/services/gcp/index.d.ts.map +1 -1
- package/lib/services/gcp/index.js +0 -1
- package/lib/services/index.d.ts +0 -13
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +0 -13
- package/lib/services/redis.service.d.ts +0 -9
- package/lib/services/redis.service.d.ts.map +1 -1
- package/lib/services/redis.service.js +11 -20
- package/lib/services/tts/index.d.ts +0 -2
- package/lib/services/tts/index.d.ts.map +1 -1
- package/lib/services/tts/index.js +0 -2
- package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
- package/lib/services/tts/providers/elevenlabs.service.js +24 -91
- package/lib/services/tts/ttsFactory.service.d.ts.map +1 -1
- package/lib/services/tts/ttsFactory.service.js +0 -6
- package/lib/services/tts/types.d.ts +0 -33
- package/lib/services/tts/types.d.ts.map +1 -1
- package/lib/utils/errors.d.ts +0 -8
- package/lib/utils/errors.d.ts.map +1 -1
- package/lib/utils/errors.js +0 -8
- package/lib/utils/helpers.d.ts +0 -13
- package/lib/utils/helpers.d.ts.map +1 -1
- package/lib/utils/helpers.js +11 -48
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +1 -37
- package/package.json +1 -5
- package/lib/globals/aiModels/providers/alibaba.d.ts +0 -4
- package/lib/globals/aiModels/providers/alibaba.d.ts.map +0 -1
- package/lib/globals/aiModels/providers/alibaba.js +0 -194
- package/lib/globals/aiModels/providers/elevenlabs.d.ts +0 -14
- package/lib/globals/aiModels/providers/elevenlabs.d.ts.map +0 -1
- package/lib/globals/aiModels/providers/elevenlabs.js +0 -29
- package/lib/globals/aiModels/providers/pixverseTemplates.d.ts +0 -36
- package/lib/globals/aiModels/providers/pixverseTemplates.d.ts.map +0 -1
- package/lib/globals/aiModels/providers/pixverseTemplates.js +0 -42
- package/lib/globals/aiModels/tierHelpers.d.ts +0 -33
- package/lib/globals/aiModels/tierHelpers.d.ts.map +0 -1
- package/lib/globals/aiModels/tierHelpers.js +0 -109
- package/lib/globals/ttsModels/providers/minimax.d.ts +0 -8
- package/lib/globals/ttsModels/providers/minimax.d.ts.map +0 -1
- package/lib/globals/ttsModels/providers/minimax.js +0 -18
- package/lib/globals/ttsModels/providers/openai.d.ts +0 -12
- package/lib/globals/ttsModels/providers/openai.d.ts.map +0 -1
- package/lib/globals/ttsModels/providers/openai.js +0 -22
- package/lib/models/agent.model.d.ts +0 -357
- package/lib/models/agent.model.d.ts.map +0 -1
- package/lib/models/agent.model.js +0 -21
- package/lib/models/cachedAsset.model.d.ts +0 -18
- package/lib/models/cachedAsset.model.d.ts.map +0 -1
- package/lib/models/cachedAsset.model.js +0 -2
- package/lib/models/cachedRawAsset.model.d.ts +0 -20
- package/lib/models/cachedRawAsset.model.d.ts.map +0 -1
- package/lib/models/cachedRawAsset.model.js +0 -2
- package/lib/models/image.model.d.ts +0 -47
- package/lib/models/image.model.d.ts.map +0 -1
- package/lib/models/image.model.js +0 -2
- package/lib/models/notification.model.d.ts +0 -25
- package/lib/models/notification.model.d.ts.map +0 -1
- package/lib/models/notification.model.js +0 -2
- package/lib/models/ref.model.d.ts +0 -80
- package/lib/models/ref.model.d.ts.map +0 -1
- package/lib/models/ref.model.js +0 -13
- package/lib/models/share.model.d.ts +0 -29
- package/lib/models/share.model.d.ts.map +0 -1
- package/lib/models/share.model.js +0 -2
- package/lib/schemas/agentPersona.schema.d.ts +0 -10
- package/lib/schemas/agentPersona.schema.d.ts.map +0 -1
- package/lib/schemas/agentPersona.schema.js +0 -11
- package/lib/schemas/agentRunJob.schema.d.ts +0 -105
- package/lib/schemas/agentRunJob.schema.d.ts.map +0 -1
- package/lib/schemas/agentRunJob.schema.js +0 -88
- package/lib/schemas/brandKit.schema.d.ts +0 -113
- package/lib/schemas/brandKit.schema.d.ts.map +0 -1
- package/lib/schemas/brandKit.schema.js +0 -46
- package/lib/schemas/brief.schema.d.ts +0 -263
- package/lib/schemas/brief.schema.d.ts.map +0 -1
- package/lib/schemas/brief.schema.js +0 -157
- package/lib/schemas/index.d.ts +0 -7
- package/lib/schemas/index.d.ts.map +0 -1
- package/lib/schemas/index.js +0 -22
- package/lib/schemas/project.schema.d.ts +0 -1025
- package/lib/schemas/project.schema.d.ts.map +0 -1
- package/lib/schemas/project.schema.js +0 -256
- package/lib/schemas/videoPlan.schema.d.ts +0 -590
- package/lib/schemas/videoPlan.schema.d.ts.map +0 -1
- package/lib/schemas/videoPlan.schema.js +0 -412
- package/lib/services/agent/beatSnap.d.ts +0 -10
- package/lib/services/agent/beatSnap.d.ts.map +0 -1
- package/lib/services/agent/beatSnap.js +0 -128
- package/lib/services/agent/bibleBuilder.d.ts +0 -43
- package/lib/services/agent/bibleBuilder.d.ts.map +0 -1
- package/lib/services/agent/bibleBuilder.js +0 -102
- package/lib/services/agent/bibleImageVision.d.ts +0 -45
- package/lib/services/agent/bibleImageVision.d.ts.map +0 -1
- package/lib/services/agent/bibleImageVision.js +0 -169
- package/lib/services/agent/chatAgent.d.ts +0 -79
- package/lib/services/agent/chatAgent.d.ts.map +0 -1
- package/lib/services/agent/chatAgent.js +0 -136
- package/lib/services/agent/costPreflight.d.ts +0 -61
- package/lib/services/agent/costPreflight.d.ts.map +0 -1
- package/lib/services/agent/costPreflight.js +0 -143
- package/lib/services/agent/critic.d.ts +0 -103
- package/lib/services/agent/critic.d.ts.map +0 -1
- package/lib/services/agent/critic.js +0 -139
- package/lib/services/agent/editClassifier.d.ts +0 -262
- package/lib/services/agent/editClassifier.d.ts.map +0 -1
- package/lib/services/agent/editClassifier.js +0 -186
- package/lib/services/agent/eval/index.d.ts +0 -5
- package/lib/services/agent/eval/index.d.ts.map +0 -1
- package/lib/services/agent/eval/index.js +0 -20
- package/lib/services/agent/eval/judge.d.ts +0 -14
- package/lib/services/agent/eval/judge.d.ts.map +0 -1
- package/lib/services/agent/eval/judge.js +0 -96
- package/lib/services/agent/eval/recorder.d.ts +0 -28
- package/lib/services/agent/eval/recorder.d.ts.map +0 -1
- package/lib/services/agent/eval/recorder.js +0 -100
- package/lib/services/agent/eval/seedBriefs.d.ts +0 -16
- package/lib/services/agent/eval/seedBriefs.d.ts.map +0 -1
- package/lib/services/agent/eval/seedBriefs.js +0 -1188
- package/lib/services/agent/eval/types.d.ts +0 -230
- package/lib/services/agent/eval/types.d.ts.map +0 -1
- package/lib/services/agent/eval/types.js +0 -73
- package/lib/services/agent/executor.d.ts +0 -141
- package/lib/services/agent/executor.d.ts.map +0 -1
- package/lib/services/agent/executor.js +0 -561
- package/lib/services/agent/globalActions.d.ts +0 -49
- package/lib/services/agent/globalActions.d.ts.map +0 -1
- package/lib/services/agent/globalActions.js +0 -328
- package/lib/services/agent/index.d.ts +0 -38
- package/lib/services/agent/index.d.ts.map +0 -1
- package/lib/services/agent/index.js +0 -53
- package/lib/services/agent/llmCaller.d.ts +0 -144
- package/lib/services/agent/llmCaller.d.ts.map +0 -1
- package/lib/services/agent/llmCaller.js +0 -16
- package/lib/services/agent/llmCallerAnthropic.d.ts +0 -90
- package/lib/services/agent/llmCallerAnthropic.d.ts.map +0 -1
- package/lib/services/agent/llmCallerAnthropic.js +0 -255
- package/lib/services/agent/llmCallerGateway.d.ts +0 -61
- package/lib/services/agent/llmCallerGateway.d.ts.map +0 -1
- package/lib/services/agent/llmCallerGateway.js +0 -360
- package/lib/services/agent/llmCallerRegistry.d.ts +0 -6
- package/lib/services/agent/llmCallerRegistry.d.ts.map +0 -1
- package/lib/services/agent/llmCallerRegistry.js +0 -39
- package/lib/services/agent/modelQualityNotes.d.ts +0 -100
- package/lib/services/agent/modelQualityNotes.d.ts.map +0 -1
- package/lib/services/agent/modelQualityNotes.js +0 -248
- package/lib/services/agent/modelRouter.d.ts +0 -41
- package/lib/services/agent/modelRouter.d.ts.map +0 -1
- package/lib/services/agent/modelRouter.js +0 -65
- package/lib/services/agent/musicSelect.d.ts +0 -23
- package/lib/services/agent/musicSelect.d.ts.map +0 -1
- package/lib/services/agent/musicSelect.js +0 -109
- package/lib/services/agent/overlayRenderer.d.ts +0 -67
- package/lib/services/agent/overlayRenderer.d.ts.map +0 -1
- package/lib/services/agent/overlayRenderer.js +0 -253
- package/lib/services/agent/perSceneCritic.d.ts +0 -90
- package/lib/services/agent/perSceneCritic.d.ts.map +0 -1
- package/lib/services/agent/perSceneCritic.js +0 -125
- package/lib/services/agent/personas.d.ts +0 -78
- package/lib/services/agent/personas.d.ts.map +0 -1
- package/lib/services/agent/personas.js +0 -177
- package/lib/services/agent/planDiff.d.ts +0 -76
- package/lib/services/agent/planDiff.d.ts.map +0 -1
- package/lib/services/agent/planDiff.js +0 -182
- package/lib/services/agent/planMutations.d.ts +0 -46
- package/lib/services/agent/planMutations.d.ts.map +0 -1
- package/lib/services/agent/planMutations.js +0 -120
- package/lib/services/agent/planner/Planner.d.ts +0 -107
- package/lib/services/agent/planner/Planner.d.ts.map +0 -1
- package/lib/services/agent/planner/Planner.js +0 -591
- package/lib/services/agent/planner/overlaySanity.d.ts +0 -7
- package/lib/services/agent/planner/overlaySanity.d.ts.map +0 -1
- package/lib/services/agent/planner/overlaySanity.js +0 -86
- package/lib/services/agent/planner/promptSections.d.ts +0 -25
- package/lib/services/agent/planner/promptSections.d.ts.map +0 -1
- package/lib/services/agent/planner/promptSections.js +0 -174
- package/lib/services/agent/planner/repair.d.ts +0 -16
- package/lib/services/agent/planner/repair.d.ts.map +0 -1
- package/lib/services/agent/planner/repair.js +0 -51
- package/lib/services/agent/planner/structuralRules.d.ts +0 -10
- package/lib/services/agent/planner/structuralRules.d.ts.map +0 -1
- package/lib/services/agent/planner/structuralRules.js +0 -111
- package/lib/services/agent/planner/validators.d.ts +0 -65
- package/lib/services/agent/planner/validators.d.ts.map +0 -1
- package/lib/services/agent/planner/validators.js +0 -284
- package/lib/services/agent/planner.d.ts +0 -3
- package/lib/services/agent/planner.d.ts.map +0 -1
- package/lib/services/agent/planner.js +0 -14
- package/lib/services/agent/providerFallback/chains.d.ts +0 -100
- package/lib/services/agent/providerFallback/chains.d.ts.map +0 -1
- package/lib/services/agent/providerFallback/chains.js +0 -198
- package/lib/services/agent/providerFallback/classifier.d.ts +0 -36
- package/lib/services/agent/providerFallback/classifier.d.ts.map +0 -1
- package/lib/services/agent/providerFallback/classifier.js +0 -103
- package/lib/services/agent/providerFallback/index.d.ts +0 -4
- package/lib/services/agent/providerFallback/index.d.ts.map +0 -1
- package/lib/services/agent/providerFallback/index.js +0 -19
- package/lib/services/agent/providerFallback/withFallback.d.ts +0 -60
- package/lib/services/agent/providerFallback/withFallback.d.ts.map +0 -1
- package/lib/services/agent/providerFallback/withFallback.js +0 -93
- package/lib/services/agent/providerTaskCache.d.ts +0 -50
- package/lib/services/agent/providerTaskCache.d.ts.map +0 -1
- package/lib/services/agent/providerTaskCache.js +0 -98
- package/lib/services/agent/qualityGate.d.ts +0 -82
- package/lib/services/agent/qualityGate.d.ts.map +0 -1
- package/lib/services/agent/qualityGate.js +0 -232
- package/lib/services/agent/referenceImageRenderer.d.ts +0 -37
- package/lib/services/agent/referenceImageRenderer.d.ts.map +0 -1
- package/lib/services/agent/referenceImageRenderer.js +0 -92
- package/lib/services/agent/regenCore.d.ts +0 -60
- package/lib/services/agent/regenCore.d.ts.map +0 -1
- package/lib/services/agent/regenCore.js +0 -487
- package/lib/services/agent/runHelpers.d.ts +0 -44
- package/lib/services/agent/runHelpers.d.ts.map +0 -1
- package/lib/services/agent/runHelpers.js +0 -196
- package/lib/services/agent/sceneLayoutVision.d.ts +0 -90
- package/lib/services/agent/sceneLayoutVision.d.ts.map +0 -1
- package/lib/services/agent/sceneLayoutVision.js +0 -212
- package/lib/services/agent/stitchedVideoCritic.d.ts +0 -136
- package/lib/services/agent/stitchedVideoCritic.d.ts.map +0 -1
- package/lib/services/agent/stitchedVideoCritic.gemini.d.ts +0 -26
- package/lib/services/agent/stitchedVideoCritic.gemini.d.ts.map +0 -1
- package/lib/services/agent/stitchedVideoCritic.gemini.js +0 -198
- package/lib/services/agent/stitchedVideoCritic.js +0 -162
- package/lib/services/agent/taskPoller.d.ts +0 -65
- package/lib/services/agent/taskPoller.d.ts.map +0 -1
- package/lib/services/agent/taskPoller.js +0 -176
- package/lib/services/agent/textOverlayStyles.d.ts +0 -60
- package/lib/services/agent/textOverlayStyles.d.ts.map +0 -1
- package/lib/services/agent/textOverlayStyles.js +0 -174
- package/lib/services/agent/toolRegistry.d.ts +0 -73
- package/lib/services/agent/toolRegistry.d.ts.map +0 -1
- package/lib/services/agent/toolRegistry.js +0 -95
- package/lib/services/agent/tools/analyzeReference.tool.d.ts +0 -36
- package/lib/services/agent/tools/analyzeReference.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/analyzeReference.tool.js +0 -44
- package/lib/services/agent/tools/animateImage.tool.d.ts +0 -24
- package/lib/services/agent/tools/animateImage.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/animateImage.tool.js +0 -115
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +0 -32
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +0 -135
- package/lib/services/agent/tools/composeScene.tool.d.ts +0 -978
- package/lib/services/agent/tools/composeScene.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/composeScene.tool.js +0 -90
- package/lib/services/agent/tools/estimateCost.tool.d.ts +0 -352
- package/lib/services/agent/tools/estimateCost.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/estimateCost.tool.js +0 -62
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +0 -32
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/generateAvatarVideo.tool.js +0 -143
- package/lib/services/agent/tools/generateCaptions.tool.d.ts +0 -42
- package/lib/services/agent/tools/generateCaptions.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/generateCaptions.tool.js +0 -196
- package/lib/services/agent/tools/generateImage.tool.d.ts +0 -74
- package/lib/services/agent/tools/generateImage.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/generateImage.tool.js +0 -206
- package/lib/services/agent/tools/generateVideo.tool.d.ts +0 -31
- package/lib/services/agent/tools/generateVideo.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/generateVideo.tool.js +0 -153
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts +0 -44
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/generateVoiceover.tool.js +0 -206
- package/lib/services/agent/tools/index.d.ts +0 -20
- package/lib/services/agent/tools/index.d.ts.map +0 -1
- package/lib/services/agent/tools/index.js +0 -35
- package/lib/services/agent/tools/planVideo.tool.d.ts +0 -343
- package/lib/services/agent/tools/planVideo.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/planVideo.tool.js +0 -46
- package/lib/services/agent/tools/render.tool.d.ts +0 -367
- package/lib/services/agent/tools/render.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/render.tool.js +0 -48
- package/lib/services/agent/tools/searchMusic.tool.d.ts +0 -49
- package/lib/services/agent/tools/searchMusic.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/searchMusic.tool.js +0 -74
- package/lib/services/agent/tools/searchStock.tool.d.ts +0 -41
- package/lib/services/agent/tools/searchStock.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/searchStock.tool.js +0 -314
- package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +0 -59
- package/lib/services/agent/tools/searchUserLibrary.tool.d.ts.map +0 -1
- package/lib/services/agent/tools/searchUserLibrary.tool.js +0 -58
- package/lib/services/agent/ttsDuration.d.ts +0 -29
- package/lib/services/agent/ttsDuration.d.ts.map +0 -1
- package/lib/services/agent/ttsDuration.js +0 -60
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +0 -31
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +0 -1
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +0 -2
- package/lib/services/aiGen/canonicalAdapters/index.d.ts +0 -3
- package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +0 -1
- package/lib/services/aiGen/canonicalAdapters/index.js +0 -18
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +0 -23
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +0 -1
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.js +0 -12
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts +0 -18
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +0 -102
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts +0 -15
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/fal/falImage.service.js +0 -141
- package/lib/services/aiGen/providers/fal/index.d.ts +0 -2
- package/lib/services/aiGen/providers/fal/index.d.ts.map +0 -1
- package/lib/services/aiGen/providers/fal/index.js +0 -17
- package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts +0 -4
- package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts.map +0 -1
- package/lib/services/aiGen/providers/kling/cameraAdapter.js +0 -53
- package/lib/services/aiGen/providers/kling/klingImage.service.d.ts +0 -21
- package/lib/services/aiGen/providers/kling/klingImage.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/kling/klingImage.service.js +0 -208
- package/lib/services/aiGen/providers/pexels/index.d.ts +0 -2
- package/lib/services/aiGen/providers/pexels/index.d.ts.map +0 -1
- package/lib/services/aiGen/providers/pexels/pexels.service.d.ts +0 -11
- package/lib/services/aiGen/providers/pexels/pexels.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/pexels/pexels.service.js +0 -150
- package/lib/services/aiGen/providers/pixabay/index.d.ts +0 -2
- package/lib/services/aiGen/providers/pixabay/index.d.ts.map +0 -1
- package/lib/services/aiGen/providers/pixabay/index.js +0 -17
- package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts +0 -12
- package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/pixabay/pixabay.service.js +0 -156
- package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts +0 -3
- package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts.map +0 -1
- package/lib/services/aiGen/providers/runway/cameraAdapter.js +0 -46
- package/lib/services/aiGen/providers/unsplash/index.d.ts +0 -2
- package/lib/services/aiGen/providers/unsplash/index.d.ts.map +0 -1
- package/lib/services/aiGen/providers/unsplash/index.js +0 -17
- package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts +0 -16
- package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/unsplash/unsplash.service.js +0 -131
- package/lib/services/apiUsageCounter.service.d.ts +0 -20
- package/lib/services/apiUsageCounter.service.d.ts.map +0 -1
- package/lib/services/apiUsageCounter.service.js +0 -84
- package/lib/services/asr/assemblyai.service.d.ts +0 -72
- package/lib/services/asr/assemblyai.service.d.ts.map +0 -1
- package/lib/services/asr/assemblyai.service.js +0 -89
- package/lib/services/asr/index.d.ts +0 -3
- package/lib/services/asr/index.d.ts.map +0 -1
- package/lib/services/asr/index.js +0 -18
- package/lib/services/asr/whisper.service.d.ts +0 -18
- package/lib/services/asr/whisper.service.d.ts.map +0 -1
- package/lib/services/asr/whisper.service.js +0 -151
- package/lib/services/assetCache.service.d.ts +0 -54
- package/lib/services/assetCache.service.d.ts.map +0 -1
- package/lib/services/assetCache.service.js +0 -109
- package/lib/services/audioAnalysis/index.d.ts +0 -2
- package/lib/services/audioAnalysis/index.d.ts.map +0 -1
- package/lib/services/audioAnalysis/index.js +0 -17
- package/lib/services/audioAnalysis/onsetDetection.service.d.ts +0 -50
- package/lib/services/audioAnalysis/onsetDetection.service.d.ts.map +0 -1
- package/lib/services/audioAnalysis/onsetDetection.service.js +0 -140
- package/lib/services/credits/pricing.d.ts +0 -58
- package/lib/services/credits/pricing.d.ts.map +0 -1
- package/lib/services/credits/pricing.js +0 -111
- package/lib/services/editor/designToProject.d.ts +0 -75
- package/lib/services/editor/designToProject.d.ts.map +0 -1
- package/lib/services/editor/designToProject.js +0 -295
- package/lib/services/editor/planToProject.d.ts +0 -84
- package/lib/services/editor/planToProject.d.ts.map +0 -1
- package/lib/services/editor/planToProject.js +0 -395
- package/lib/services/editor/projectToDesign.d.ts +0 -4
- package/lib/services/editor/projectToDesign.d.ts.map +0 -1
- package/lib/services/editor/projectToDesign.js +0 -186
- package/lib/services/gcp/uploadAudioBuffer.d.ts +0 -13
- package/lib/services/gcp/uploadAudioBuffer.d.ts.map +0 -1
- package/lib/services/gcp/uploadAudioBuffer.js +0 -28
- package/lib/services/musicGen/index.d.ts +0 -6
- package/lib/services/musicGen/index.d.ts.map +0 -1
- package/lib/services/musicGen/index.js +0 -26
- package/lib/services/musicGen/musicSearchFactory.service.d.ts +0 -14
- package/lib/services/musicGen/musicSearchFactory.service.d.ts.map +0 -1
- package/lib/services/musicGen/musicSearchFactory.service.js +0 -59
- package/lib/services/musicGen/providers/curated.service.d.ts +0 -24
- package/lib/services/musicGen/providers/curated.service.d.ts.map +0 -1
- package/lib/services/musicGen/providers/curated.service.js +0 -173
- package/lib/services/musicGen/providers/jamendo.service.d.ts +0 -8
- package/lib/services/musicGen/providers/jamendo.service.d.ts.map +0 -1
- package/lib/services/musicGen/providers/jamendo.service.js +0 -113
- package/lib/services/musicGen/providers/mubert.service.d.ts +0 -10
- package/lib/services/musicGen/providers/mubert.service.d.ts.map +0 -1
- package/lib/services/musicGen/providers/mubert.service.js +0 -128
- package/lib/services/musicGen/types.d.ts +0 -46
- package/lib/services/musicGen/types.d.ts.map +0 -1
- package/lib/services/musicGen/types.js +0 -10
- package/lib/services/notification.service.d.ts +0 -22
- package/lib/services/notification.service.d.ts.map +0 -1
- package/lib/services/notification.service.js +0 -76
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts +0 -78
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts.map +0 -1
- package/lib/services/rateLimiter/distributedRateLimiter.service.js +0 -269
- package/lib/services/rateLimiter/index.d.ts +0 -2
- package/lib/services/rateLimiter/index.d.ts.map +0 -1
- package/lib/services/rateLimiter/index.js +0 -17
- package/lib/services/redisOptions.d.ts +0 -22
- package/lib/services/redisOptions.d.ts.map +0 -1
- package/lib/services/redisOptions.js +0 -51
- package/lib/services/tts/providers/minimax.service.d.ts +0 -14
- package/lib/services/tts/providers/minimax.service.d.ts.map +0 -1
- package/lib/services/tts/providers/minimax.service.js +0 -78
- package/lib/services/tts/providers/openai.service.d.ts +0 -14
- package/lib/services/tts/providers/openai.service.d.ts.map +0 -1
- package/lib/services/tts/providers/openai.service.js +0 -73
|
@@ -15,7 +15,6 @@ const logger_1 = require("../../../../utils/logger");
|
|
|
15
15
|
const errors_1 = require("../../../../utils/errors");
|
|
16
16
|
const helpers_2 = require("../../helpers");
|
|
17
17
|
const baseAiGenProvider_service_1 = require("../baseAiGenProvider.service");
|
|
18
|
-
const google_auth_library_1 = require("google-auth-library");
|
|
19
18
|
const fs_1 = require("fs");
|
|
20
19
|
const promises_2 = require("stream/promises");
|
|
21
20
|
// Codes from undici / Node net layer that indicate a transient network failure
|
|
@@ -72,41 +71,6 @@ function isTransientFetchError(err) {
|
|
|
72
71
|
const code = err.code ?? err.cause?.code;
|
|
73
72
|
return !!code && TRANSIENT_NETWORK_CODES.has(code);
|
|
74
73
|
}
|
|
75
|
-
const VEO_3_1_MODELS = new Set([
|
|
76
|
-
aiModels_1.EVideoGenModels.GOOGLE_VEO_3_1,
|
|
77
|
-
aiModels_1.EVideoGenModels.GOOGLE_VEO_3_1_FAST,
|
|
78
|
-
aiModels_1.EVideoGenModels.GOOGLE_VEO_3_1_LITE,
|
|
79
|
-
]);
|
|
80
|
-
function inferImageMime(url) {
|
|
81
|
-
const lower = (url.split("?")[0] ?? url).toLowerCase();
|
|
82
|
-
if (lower.endsWith(".jpg") || lower.endsWith(".jpeg"))
|
|
83
|
-
return "image/jpeg";
|
|
84
|
-
if (lower.endsWith(".webp"))
|
|
85
|
-
return "image/webp";
|
|
86
|
-
return "image/png";
|
|
87
|
-
}
|
|
88
|
-
async function fetchAsImage(url) {
|
|
89
|
-
const resp = await fetch(url);
|
|
90
|
-
// fetch() does NOT throw on 4xx/5xx — surface the HTTP error so we don't
|
|
91
|
-
// encode an HTML error page as image bytes (Veo silently rejects them).
|
|
92
|
-
if (!resp.ok) {
|
|
93
|
-
throw new errors_1.UserFacingError(`Input image could not be downloaded (HTTP ${resp.status}). The image URL may have expired or been deleted.`);
|
|
94
|
-
}
|
|
95
|
-
const buf = Buffer.from(await resp.arrayBuffer());
|
|
96
|
-
// 0-byte body slips through resp.ok if the upstream wrote an empty file.
|
|
97
|
-
// Veo treats empty bytes as content-filtered (no error, no video).
|
|
98
|
-
if (buf.length === 0) {
|
|
99
|
-
throw new errors_1.UserFacingError("Input image is empty (0 bytes). Please re-upload the image.");
|
|
100
|
-
}
|
|
101
|
-
// Prefer Content-Type from the response (authoritative — set by Firebase
|
|
102
|
-
// Storage upload metadata) over URL-extension inference. Hardcoded
|
|
103
|
-
// image/png caused Veo to reject JPEG bytes labelled PNG with no detail.
|
|
104
|
-
const respContentType = resp.headers.get("content-type") ?? "";
|
|
105
|
-
return {
|
|
106
|
-
mimeType: pickImageMimeType(respContentType, url),
|
|
107
|
-
imageBytes: buf.toString("base64"),
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
74
|
/**
|
|
111
75
|
* Maps `@google/genai` `ApiError` failures (whose message is a JSON string)
|
|
112
76
|
* to a `UserFacingError` with a stable code the frontend can translate.
|
|
@@ -182,46 +146,42 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
|
|
|
182
146
|
(0, helpers_2.validateParams)(params);
|
|
183
147
|
const modelConfig = aiModels_1.aiModelConfigs[params.modelKey];
|
|
184
148
|
const modelId = modelConfig.modelId;
|
|
185
|
-
const isVeo3_1 = VEO_3_1_MODELS.has(params.modelKey);
|
|
186
149
|
const request = {
|
|
187
150
|
model: modelId,
|
|
188
151
|
prompt: params.prompt,
|
|
152
|
+
// image:
|
|
189
153
|
config: {
|
|
190
154
|
aspectRatio: params.aspectRatio,
|
|
191
155
|
resolution: params.resolution,
|
|
192
156
|
durationSeconds: params.duration,
|
|
193
|
-
...(params.seed !== undefined ? { seed: params.seed } : {}),
|
|
194
|
-
...(params.personGeneration ? { personGeneration: params.personGeneration } : {}),
|
|
195
|
-
...(params.negativePrompt ? { negativePrompt: params.negativePrompt } : {}),
|
|
196
|
-
...(params.audio !== undefined ? { generateAudio: params.audio } : {}),
|
|
197
|
-
...(params.promptOptimizer !== undefined ? { enhancePrompt: params.promptOptimizer } : {}),
|
|
198
157
|
},
|
|
199
158
|
};
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
// Last-frame image for first-last-frame interpolation. Mutually exclusive with referenceImages.
|
|
208
|
-
if (params.lastFrameImageUrl) {
|
|
209
|
-
request.config.lastFrame = await this.withTransientRetry("last-frame fetch", () => fetchAsImage(params.lastFrameImageUrl));
|
|
210
|
-
}
|
|
211
|
-
// Reference images (Veo 3.1 only — up to 3 asset images for character/scene consistency).
|
|
212
|
-
// When references are provided the API requires durationSeconds=8 and forbids image/video/lastFrame.
|
|
213
|
-
if (params.referenceImageUrls?.length) {
|
|
214
|
-
if (!isVeo3_1) {
|
|
215
|
-
logger_1.logger.warn(`Google Veo: referenceImages provided but model ${params.modelKey} does not support them — ignoring.`);
|
|
159
|
+
if (params.inputImageUrl) {
|
|
160
|
+
const imgResp = await this.withTransientRetry("input-image fetch", () => fetch(params.inputImageUrl));
|
|
161
|
+
// BUG #3 fix: fetch() does NOT throw on 4xx/5xx — it returns a Response
|
|
162
|
+
// with the error body. Without this check we'd encode an HTML error page
|
|
163
|
+
// as if it were image bytes, and Veo would silently reject it.
|
|
164
|
+
if (!imgResp.ok) {
|
|
165
|
+
throw new errors_1.UserFacingError(`Input image could not be downloaded (HTTP ${imgResp.status}). The image URL may have expired or been deleted.`);
|
|
216
166
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}));
|
|
167
|
+
const imgBuffer = Buffer.from(await imgResp.arrayBuffer());
|
|
168
|
+
// BUG #2 fix: a 0-byte body slips through fetch().ok if the upstream
|
|
169
|
+
// wrote an empty file. Veo treats empty bytes as content-filtered (no
|
|
170
|
+
// error, no video). Surface the real cause to the user.
|
|
171
|
+
if (imgBuffer.length === 0) {
|
|
172
|
+
throw new errors_1.UserFacingError("Input image is empty (0 bytes). Please re-upload the image.");
|
|
224
173
|
}
|
|
174
|
+
// BUG #1 fix: previously hardcoded "image/png" regardless of the actual
|
|
175
|
+
// upload type. Veo rejects JPEG bytes labeled as PNG, with no error
|
|
176
|
+
// detail. Prefer the Content-Type from the response (authoritative —
|
|
177
|
+
// Firebase Storage sets it from upload metadata), fall back to URL
|
|
178
|
+
// extension, then default to JPEG (modern phone-camera default).
|
|
179
|
+
const respContentType = imgResp.headers.get("content-type") ?? "";
|
|
180
|
+
const mimeType = pickImageMimeType(respContentType, params.inputImageUrl);
|
|
181
|
+
request.image = {
|
|
182
|
+
mimeType,
|
|
183
|
+
imageBytes: imgBuffer.toString("base64"),
|
|
184
|
+
};
|
|
225
185
|
}
|
|
226
186
|
const operation = await this.withTransientRetry("generateVideos", () => this.ai.models.generateVideos(request));
|
|
227
187
|
if (!operation || !operation.name) {
|
|
@@ -285,11 +245,8 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
|
|
|
285
245
|
.then(() => {
|
|
286
246
|
// console.log("Local file deleted:", localPath);
|
|
287
247
|
})
|
|
288
|
-
.catch((
|
|
289
|
-
|
|
290
|
-
localPath,
|
|
291
|
-
err: err?.stack ?? err?.message ?? String(err),
|
|
292
|
-
});
|
|
248
|
+
.catch(() => {
|
|
249
|
+
console.warn("Failed to delete local file:", localPath);
|
|
293
250
|
});
|
|
294
251
|
return {
|
|
295
252
|
videoUrl: signedUrl,
|
|
@@ -298,184 +255,10 @@ class GoogleService extends baseAiGenProvider_service_1.BaseAiGenProviderService
|
|
|
298
255
|
}
|
|
299
256
|
return { status: types_1.EVideoSceneStatus.PENDING };
|
|
300
257
|
}
|
|
301
|
-
|
|
302
|
-
const modelConfig = aiModels_1.aiModelConfigs[params.modelKey];
|
|
303
|
-
const modelId = modelConfig?.modelId;
|
|
304
|
-
if (!modelId)
|
|
305
|
-
throw new Error(`Unknown image modelKey: ${params.modelKey}`);
|
|
306
|
-
const isImagen = modelId.startsWith("imagen-");
|
|
307
|
-
const isNanoBanana = modelId.startsWith("gemini-") && modelId.includes("image");
|
|
308
|
-
const allBytes = [];
|
|
309
|
-
if (isImagen) {
|
|
310
|
-
const resp = await this.ai.models.generateImages({
|
|
311
|
-
model: modelId,
|
|
312
|
-
prompt: params.prompt,
|
|
313
|
-
config: {
|
|
314
|
-
numberOfImages: params.numImages ?? 1,
|
|
315
|
-
...(params.aspectRatio ? { aspectRatio: params.aspectRatio } : {}),
|
|
316
|
-
...(params.personGeneration
|
|
317
|
-
? { personGeneration: params.personGeneration }
|
|
318
|
-
: {}),
|
|
319
|
-
...(params.negativePrompt ? { negativePrompt: params.negativePrompt } : {}),
|
|
320
|
-
...(params.outputFormat ? { outputMimeType: `image/${params.outputFormat}` } : {}),
|
|
321
|
-
},
|
|
322
|
-
});
|
|
323
|
-
for (const gen of resp.generatedImages ?? []) {
|
|
324
|
-
const b64 = gen.image?.imageBytes;
|
|
325
|
-
if (!b64)
|
|
326
|
-
continue;
|
|
327
|
-
allBytes.push({
|
|
328
|
-
bytes: Buffer.from(b64, "base64"),
|
|
329
|
-
mime: gen.image?.mimeType ?? "image/png",
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
else if (isNanoBanana) {
|
|
334
|
-
// Nano Banana (Gemini image-gen via generateContent) has no structured
|
|
335
|
-
// aspectRatio knob — Imagen does, this path doesn't. Without the hint
|
|
336
|
-
// in the prompt it defaults to landscape, so a 9:16 project ended up
|
|
337
|
-
// with horizontal images that didn't cover the vertical canvas.
|
|
338
|
-
// Prefix the requested ratio so the model produces an output that at
|
|
339
|
-
// least matches orientation (Gemini still won't honor exact pixel
|
|
340
|
-
// dimensions, but landscape vs portrait is reliable).
|
|
341
|
-
const aspectHint = params.aspectRatio
|
|
342
|
-
? `Generate the image with a ${params.aspectRatio} aspect ratio (${params.aspectRatio === "9:16" || params.aspectRatio === "3:4" || params.aspectRatio === "4:5"
|
|
343
|
-
? "vertical portrait"
|
|
344
|
-
: params.aspectRatio === "1:1"
|
|
345
|
-
? "square"
|
|
346
|
-
: "horizontal landscape"} orientation). `
|
|
347
|
-
: "";
|
|
348
|
-
const parts = [{ text: `${aspectHint}${params.prompt}` }];
|
|
349
|
-
const refs = [
|
|
350
|
-
...(params.inputImageUrl ? [params.inputImageUrl] : []),
|
|
351
|
-
...(params.inputImageUrls ?? []),
|
|
352
|
-
];
|
|
353
|
-
for (const url of refs) {
|
|
354
|
-
const ref = await fetchAsImage(url);
|
|
355
|
-
parts.push({ inlineData: { mimeType: ref.mimeType, data: ref.imageBytes } });
|
|
356
|
-
}
|
|
357
|
-
const resp = await this.ai.models.generateContent({
|
|
358
|
-
model: modelId,
|
|
359
|
-
contents: [{ role: "user", parts }],
|
|
360
|
-
});
|
|
361
|
-
const candidates = resp.candidates ?? [];
|
|
362
|
-
for (const cand of candidates) {
|
|
363
|
-
for (const part of cand.content?.parts ?? []) {
|
|
364
|
-
const inline = part.inlineData;
|
|
365
|
-
if (inline?.data) {
|
|
366
|
-
allBytes.push({
|
|
367
|
-
bytes: Buffer.from(inline.data, "base64"),
|
|
368
|
-
mime: inline.mimeType ?? "image/png",
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
else {
|
|
375
|
-
throw new Error(`Unsupported Google image modelId: ${modelId}`);
|
|
376
|
-
}
|
|
377
|
-
if (!allBytes.length) {
|
|
378
|
-
throw new Error("Google image generation returned no image bytes");
|
|
379
|
-
}
|
|
380
|
-
const bucket = (0, firebase_1.getBucket)();
|
|
381
|
-
const ts = Date.now();
|
|
382
|
-
const urls = [];
|
|
383
|
-
for (let i = 0; i < allBytes.length; i++) {
|
|
384
|
-
const item = allBytes[i];
|
|
385
|
-
const { bytes, mime } = item;
|
|
386
|
-
const ext = (mime.split("/")[1] ?? "png").toLowerCase();
|
|
387
|
-
const path = `images/google/${ts}-${Math.random().toString(36).slice(2, 8)}-${i}.${ext}`;
|
|
388
|
-
const file = bucket.file(path);
|
|
389
|
-
await file.save(bytes, { contentType: mime });
|
|
390
|
-
const [signed] = await file.getSignedUrl({ action: "read", expires: "03-09-2491" });
|
|
391
|
-
urls.push(signed);
|
|
392
|
-
}
|
|
393
|
-
return {
|
|
394
|
-
imageUrl: urls[0],
|
|
395
|
-
imageUrls: urls.length > 1 ? urls : undefined,
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* Lyria 2 (Vertex AI). Sync — POST {region}-aiplatform.googleapis.com/.../lyria-002:predict
|
|
400
|
-
* returns base64-encoded WAV audio inline. Auth via ADC on the function service
|
|
401
|
-
* account (or GOOGLE_APPLICATION_CREDENTIALS locally).
|
|
402
|
-
*
|
|
403
|
-
* Required env: GCP_PROJECT_ID. Optional: GCP_LOCATION (default us-central1).
|
|
404
|
-
*/
|
|
405
|
-
async generateMusic(params) {
|
|
406
|
-
const modelConfig = aiModels_1.aiModelConfigs[params.modelKey];
|
|
407
|
-
const modelId = modelConfig?.modelId ?? "lyria-002";
|
|
408
|
-
const projectId = process.env.GCP_PROJECT_ID;
|
|
409
|
-
if (!projectId) {
|
|
410
|
-
throw new Error("Missing GCP_PROJECT_ID env var (required for Vertex Lyria)");
|
|
411
|
-
}
|
|
412
|
-
const location = process.env.GCP_LOCATION ?? "us-central1";
|
|
413
|
-
const auth = new google_auth_library_1.GoogleAuth({
|
|
414
|
-
scopes: ["https://www.googleapis.com/auth/cloud-platform"],
|
|
415
|
-
});
|
|
416
|
-
const client = await auth.getClient();
|
|
417
|
-
const tokenRes = await client.getAccessToken();
|
|
418
|
-
const token = tokenRes?.token;
|
|
419
|
-
if (!token)
|
|
420
|
-
throw new Error("Failed to obtain GCP access token for Vertex Lyria");
|
|
421
|
-
const url = `https://${location}-aiplatform.googleapis.com/v1/projects/${projectId}` +
|
|
422
|
-
`/locations/${location}/publishers/google/models/${modelId}:predict`;
|
|
423
|
-
const instance = { prompt: params.prompt };
|
|
424
|
-
const parameters = {
|
|
425
|
-
sample_count: 1,
|
|
426
|
-
};
|
|
427
|
-
if (params.negativePrompt) {
|
|
428
|
-
instance.negative_prompt = params.negativePrompt;
|
|
429
|
-
}
|
|
430
|
-
if (params.seed !== undefined) {
|
|
431
|
-
parameters.seed = params.seed;
|
|
432
|
-
}
|
|
433
|
-
const resp = await fetch(url, {
|
|
434
|
-
method: "POST",
|
|
435
|
-
headers: {
|
|
436
|
-
Authorization: `Bearer ${token}`,
|
|
437
|
-
"Content-Type": "application/json",
|
|
438
|
-
},
|
|
439
|
-
body: JSON.stringify({ instances: [instance], parameters }),
|
|
440
|
-
});
|
|
441
|
-
if (!resp.ok) {
|
|
442
|
-
const errText = await resp.text();
|
|
443
|
-
throw new Error(`Vertex Lyria failed (${resp.status}): ${errText}`);
|
|
444
|
-
}
|
|
445
|
-
const data = await resp.json();
|
|
446
|
-
const audioB64 = data?.predictions?.[0]?.bytesBase64Encoded;
|
|
447
|
-
if (!audioB64) {
|
|
448
|
-
throw new Error("Vertex Lyria returned no audio data");
|
|
449
|
-
}
|
|
450
|
-
const buffer = Buffer.from(audioB64, "base64");
|
|
451
|
-
const path = `music/lyria/${params.outputFilename}.wav`;
|
|
452
|
-
const file = (0, firebase_1.getBucket)().file(path);
|
|
453
|
-
await file.save(buffer, { contentType: "audio/wav" });
|
|
454
|
-
const [signed] = await file.getSignedUrl({
|
|
455
|
-
action: "read",
|
|
456
|
-
expires: "03-09-2491",
|
|
457
|
-
});
|
|
458
|
-
return {
|
|
459
|
-
audioUrl: signed,
|
|
460
|
-
mimeType: "audio/wav",
|
|
461
|
-
extension: "wav",
|
|
462
|
-
};
|
|
463
|
-
}
|
|
464
|
-
getCreditUsed({ modelKey, duration = 8, resolution = "720p", multiClip = false, numImages = 1, imageSize }) {
|
|
258
|
+
getCreditUsed({ modelKey, duration = 8, resolution = "720p", multiClip = false }) {
|
|
465
259
|
const modelConfig = aiModels_1.aiModelConfigs[modelKey];
|
|
466
260
|
const cost = modelConfig.cost;
|
|
467
261
|
const applyFloor = !multiClip;
|
|
468
|
-
// Image-gen per-image cost keyed by output size (nano-banana-pro). Falls
|
|
469
|
-
// back to `cost.fixed` if `imageSize` isn't supplied by the caller.
|
|
470
|
-
if (cost?.perImageSize) {
|
|
471
|
-
const key = imageSize ?? "2K";
|
|
472
|
-
const perImage = cost.perImageSize[key] ?? cost.fixed ?? 0;
|
|
473
|
-
return (0, helpers_1.getCreditsFromCost)(perImage * Math.max(1, numImages), applyFloor);
|
|
474
|
-
}
|
|
475
|
-
// Image-gen flat per-image cost (Imagen / Nano Banana).
|
|
476
|
-
if (cost?.fixed !== undefined) {
|
|
477
|
-
return (0, helpers_1.getCreditsFromCost)(cost.fixed * Math.max(1, numImages), applyFloor);
|
|
478
|
-
}
|
|
479
262
|
if (cost?.perResolution) {
|
|
480
263
|
const ratePerSecond = cost.perResolution[resolution] ?? cost.perResolution["720p"];
|
|
481
264
|
return (0, helpers_1.getCreditsFromCost)(ratePerSecond * duration, applyFloor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/aiGen/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/aiGen/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -21,6 +21,3 @@ __exportStar(require("./openai"), exports);
|
|
|
21
21
|
__exportStar(require("./kling"), exports);
|
|
22
22
|
__exportStar(require("./runway"), exports);
|
|
23
23
|
__exportStar(require("./minimax"), exports);
|
|
24
|
-
__exportStar(require("./fal"), exports);
|
|
25
|
-
__exportStar(require("./pexels"), exports);
|
|
26
|
-
__exportStar(require("./unsplash"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/kling/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
|
|
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./kling.service"), exports);
|
|
18
|
-
__exportStar(require("./klingImage.service"), exports);
|
|
19
18
|
__exportStar(require("./types"), exports);
|
|
@@ -4,26 +4,15 @@ export declare class KlingService extends BaseAiGenProviderService {
|
|
|
4
4
|
private readonly baseUrl;
|
|
5
5
|
private readonly generateTimeout;
|
|
6
6
|
private readonly statusTimeout;
|
|
7
|
-
private readonly v4HttpAgent;
|
|
8
|
-
private readonly v4HttpsAgent;
|
|
9
7
|
constructor();
|
|
10
8
|
private request;
|
|
11
9
|
generateVideo(params: VideoGenerationParams): Promise<VideoGenerationResult>;
|
|
12
|
-
/**
|
|
13
|
-
* Extend a previously-generated Kling video by ~4-5s. Takes the Kling task id
|
|
14
|
-
* of the source video (must have been generated by this Kling account).
|
|
15
|
-
* Cost is the same per-second as the base model.
|
|
16
|
-
*/
|
|
17
|
-
private extendVideo;
|
|
18
|
-
private generateOmniVideo;
|
|
19
|
-
private generateMotionControl;
|
|
20
|
-
private generateLipSync;
|
|
21
10
|
private generateAvatarVideo;
|
|
22
11
|
private requestWithTimeoutRetry;
|
|
23
12
|
checkVideoStatus(params: VideoStatusParams): Promise<VideoStatusResult>;
|
|
24
13
|
private checkRegularVideoStatus;
|
|
25
14
|
private checkAvatarVideoStatus;
|
|
26
15
|
encodeJwtToken(): string;
|
|
27
|
-
getCreditUsed({ modelKey, mode, duration, multiClip,
|
|
16
|
+
getCreditUsed({ modelKey, mode, duration, multiClip, }: CreditUsageParams): number;
|
|
28
17
|
}
|
|
29
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":"
|
|
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;AAalB,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;IAwF/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"}
|