@mux/ai 0.28.0 → 0.28.1
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/dist/index.d.ts +1 -1
- package/dist/index.js +18 -45
- package/dist/index.js.map +1 -1
- package/dist/workflows/index.js +17 -44
- package/dist/workflows/index.js.map +1 -1
- package/package.json +1 -1
package/dist/workflows/index.js
CHANGED
|
@@ -6407,9 +6407,16 @@ async function checkElevenLabsDubbingStatus({
|
|
|
6407
6407
|
targetLanguages: statusData.target_languages ?? []
|
|
6408
6408
|
};
|
|
6409
6409
|
}
|
|
6410
|
-
async function
|
|
6410
|
+
async function downloadAndUploadDubbedAudio({
|
|
6411
6411
|
dubbingId,
|
|
6412
6412
|
languageCode,
|
|
6413
|
+
assetId,
|
|
6414
|
+
toLanguageCode,
|
|
6415
|
+
s3Endpoint,
|
|
6416
|
+
s3Region,
|
|
6417
|
+
s3Bucket,
|
|
6418
|
+
storageAdapter,
|
|
6419
|
+
s3SignedUrlExpirySeconds,
|
|
6413
6420
|
credentials
|
|
6414
6421
|
}) {
|
|
6415
6422
|
"use step";
|
|
@@ -6423,19 +6430,7 @@ async function downloadDubbedAudioFromElevenLabs({
|
|
|
6423
6430
|
if (!audioResponse.ok) {
|
|
6424
6431
|
throw new Error(`Failed to fetch dubbed audio: ${audioResponse.statusText}`);
|
|
6425
6432
|
}
|
|
6426
|
-
|
|
6427
|
-
}
|
|
6428
|
-
async function uploadDubbedAudioToS3({
|
|
6429
|
-
dubbedAudioBuffer,
|
|
6430
|
-
assetId,
|
|
6431
|
-
toLanguageCode,
|
|
6432
|
-
s3Endpoint,
|
|
6433
|
-
s3Region,
|
|
6434
|
-
s3Bucket,
|
|
6435
|
-
storageAdapter,
|
|
6436
|
-
s3SignedUrlExpirySeconds
|
|
6437
|
-
}) {
|
|
6438
|
-
"use step";
|
|
6433
|
+
const dubbedAudio = new Uint8Array(await audioResponse.arrayBuffer());
|
|
6439
6434
|
const s3AccessKeyId = env_default.S3_ACCESS_KEY_ID;
|
|
6440
6435
|
const s3SecretAccessKey = env_default.S3_SECRET_ACCESS_KEY;
|
|
6441
6436
|
const audioKey = `audio-translations/${assetId}/auto-to-${toLanguageCode}-${Date.now()}.m4a`;
|
|
@@ -6446,7 +6441,7 @@ async function uploadDubbedAudioToS3({
|
|
|
6446
6441
|
region: s3Region,
|
|
6447
6442
|
bucket: s3Bucket,
|
|
6448
6443
|
key: audioKey,
|
|
6449
|
-
body:
|
|
6444
|
+
body: dubbedAudio,
|
|
6450
6445
|
contentType: "audio/mp4"
|
|
6451
6446
|
}, storageAdapter);
|
|
6452
6447
|
const presignedUrl = await createPresignedGetUrlWithStorageAdapter({
|
|
@@ -6580,46 +6575,24 @@ async function translateAudio(assetId, toLanguageCode, options = {}) {
|
|
|
6580
6575
|
let presignedUrl;
|
|
6581
6576
|
let uploadedTrackId;
|
|
6582
6577
|
if (uploadToS3) {
|
|
6583
|
-
console.warn("\u{1F4E5} Downloading dubbed audio from ElevenLabs...");
|
|
6584
|
-
let dubbedAudioBuffer;
|
|
6578
|
+
console.warn("\u{1F4E5} Downloading dubbed audio from ElevenLabs and staging to S3...");
|
|
6585
6579
|
try {
|
|
6586
|
-
const
|
|
6587
|
-
|
|
6588
|
-
(lang) => lang === requestedLangCode
|
|
6589
|
-
) ?? targetLanguages.find(
|
|
6590
|
-
(lang) => lang.toLowerCase() === requestedLangCode.toLowerCase()
|
|
6591
|
-
);
|
|
6592
|
-
if (!downloadLangCode && targetLanguages.length > 0) {
|
|
6593
|
-
downloadLangCode = targetLanguages[0];
|
|
6594
|
-
console.warn(`\u26A0\uFE0F Requested language "${requestedLangCode}" not found in target_languages. Using "${downloadLangCode}" instead.`);
|
|
6595
|
-
}
|
|
6596
|
-
if (!downloadLangCode) {
|
|
6597
|
-
downloadLangCode = requestedLangCode;
|
|
6598
|
-
console.warn(`\u26A0\uFE0F No target_languages available from ElevenLabs status. Using requested language code: ${requestedLangCode}`);
|
|
6599
|
-
}
|
|
6600
|
-
dubbedAudioBuffer = await downloadDubbedAudioFromElevenLabs({
|
|
6580
|
+
const downloadLangCode = targetLanguages[0] ?? toISO639_1(toLanguageCode);
|
|
6581
|
+
presignedUrl = await downloadAndUploadDubbedAudio({
|
|
6601
6582
|
dubbingId,
|
|
6602
6583
|
languageCode: downloadLangCode,
|
|
6603
|
-
credentials
|
|
6604
|
-
});
|
|
6605
|
-
console.warn("\u2705 Dubbed audio downloaded successfully!");
|
|
6606
|
-
} catch (error) {
|
|
6607
|
-
wrapError(error, "Failed to download dubbed audio");
|
|
6608
|
-
}
|
|
6609
|
-
console.warn("\u{1F4E4} Uploading dubbed audio to S3-compatible storage...");
|
|
6610
|
-
try {
|
|
6611
|
-
presignedUrl = await uploadDubbedAudioToS3({
|
|
6612
|
-
dubbedAudioBuffer,
|
|
6613
6584
|
assetId,
|
|
6614
6585
|
toLanguageCode,
|
|
6615
6586
|
s3Endpoint,
|
|
6616
6587
|
s3Region,
|
|
6617
6588
|
s3Bucket,
|
|
6618
6589
|
storageAdapter: effectiveStorageAdapter,
|
|
6619
|
-
s3SignedUrlExpirySeconds: options.s3SignedUrlExpirySeconds
|
|
6590
|
+
s3SignedUrlExpirySeconds: options.s3SignedUrlExpirySeconds,
|
|
6591
|
+
credentials
|
|
6620
6592
|
});
|
|
6593
|
+
console.warn("\u2705 Dubbed audio staged to S3 successfully!");
|
|
6621
6594
|
} catch (error) {
|
|
6622
|
-
wrapError(error, "Failed to upload audio
|
|
6595
|
+
wrapError(error, "Failed to download and upload dubbed audio");
|
|
6623
6596
|
}
|
|
6624
6597
|
if (uploadToMux) {
|
|
6625
6598
|
console.warn("\u{1F4F9} Adding dubbed audio track to Mux asset...");
|