@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 CHANGED
@@ -9,7 +9,7 @@ import '@ai-sdk/google';
9
9
  import '@ai-sdk/openai';
10
10
  import '@mux/mux-node';
11
11
 
12
- var version = "0.28.0";
12
+ var version = "0.28.1";
13
13
 
14
14
  type MuxAiErrorType = "validation_error" | "processing_error" | "timeout_error";
15
15
  /**
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // package.json
8
- var version = "0.28.0";
8
+ var version = "0.28.1";
9
9
 
10
10
  // src/lib/language-codes.ts
11
11
  var ISO639_1_TO_3 = {
@@ -6729,9 +6729,16 @@ async function checkElevenLabsDubbingStatus({
6729
6729
  targetLanguages: statusData.target_languages ?? []
6730
6730
  };
6731
6731
  }
6732
- async function downloadDubbedAudioFromElevenLabs({
6732
+ async function downloadAndUploadDubbedAudio({
6733
6733
  dubbingId,
6734
6734
  languageCode,
6735
+ assetId,
6736
+ toLanguageCode,
6737
+ s3Endpoint,
6738
+ s3Region,
6739
+ s3Bucket,
6740
+ storageAdapter,
6741
+ s3SignedUrlExpirySeconds,
6735
6742
  credentials
6736
6743
  }) {
6737
6744
  "use step";
@@ -6745,19 +6752,7 @@ async function downloadDubbedAudioFromElevenLabs({
6745
6752
  if (!audioResponse.ok) {
6746
6753
  throw new Error(`Failed to fetch dubbed audio: ${audioResponse.statusText}`);
6747
6754
  }
6748
- return audioResponse.arrayBuffer();
6749
- }
6750
- async function uploadDubbedAudioToS3({
6751
- dubbedAudioBuffer,
6752
- assetId,
6753
- toLanguageCode,
6754
- s3Endpoint,
6755
- s3Region,
6756
- s3Bucket,
6757
- storageAdapter,
6758
- s3SignedUrlExpirySeconds
6759
- }) {
6760
- "use step";
6755
+ const dubbedAudio = new Uint8Array(await audioResponse.arrayBuffer());
6761
6756
  const s3AccessKeyId = env_default.S3_ACCESS_KEY_ID;
6762
6757
  const s3SecretAccessKey = env_default.S3_SECRET_ACCESS_KEY;
6763
6758
  const audioKey = `audio-translations/${assetId}/auto-to-${toLanguageCode}-${Date.now()}.m4a`;
@@ -6768,7 +6763,7 @@ async function uploadDubbedAudioToS3({
6768
6763
  region: s3Region,
6769
6764
  bucket: s3Bucket,
6770
6765
  key: audioKey,
6771
- body: new Uint8Array(dubbedAudioBuffer),
6766
+ body: dubbedAudio,
6772
6767
  contentType: "audio/mp4"
6773
6768
  }, storageAdapter);
6774
6769
  const presignedUrl = await createPresignedGetUrlWithStorageAdapter({
@@ -6902,46 +6897,24 @@ async function translateAudio(assetId, toLanguageCode, options = {}) {
6902
6897
  let presignedUrl;
6903
6898
  let uploadedTrackId;
6904
6899
  if (uploadToS3) {
6905
- console.warn("\u{1F4E5} Downloading dubbed audio from ElevenLabs...");
6906
- let dubbedAudioBuffer;
6900
+ console.warn("\u{1F4E5} Downloading dubbed audio from ElevenLabs and staging to S3...");
6907
6901
  try {
6908
- const requestedLangCode = toISO639_3(toLanguageCode);
6909
- let downloadLangCode = targetLanguages.find(
6910
- (lang) => lang === requestedLangCode
6911
- ) ?? targetLanguages.find(
6912
- (lang) => lang.toLowerCase() === requestedLangCode.toLowerCase()
6913
- );
6914
- if (!downloadLangCode && targetLanguages.length > 0) {
6915
- downloadLangCode = targetLanguages[0];
6916
- console.warn(`\u26A0\uFE0F Requested language "${requestedLangCode}" not found in target_languages. Using "${downloadLangCode}" instead.`);
6917
- }
6918
- if (!downloadLangCode) {
6919
- downloadLangCode = requestedLangCode;
6920
- console.warn(`\u26A0\uFE0F No target_languages available from ElevenLabs status. Using requested language code: ${requestedLangCode}`);
6921
- }
6922
- dubbedAudioBuffer = await downloadDubbedAudioFromElevenLabs({
6902
+ const downloadLangCode = targetLanguages[0] ?? toISO639_1(toLanguageCode);
6903
+ presignedUrl = await downloadAndUploadDubbedAudio({
6923
6904
  dubbingId,
6924
6905
  languageCode: downloadLangCode,
6925
- credentials
6926
- });
6927
- console.warn("\u2705 Dubbed audio downloaded successfully!");
6928
- } catch (error) {
6929
- wrapError(error, "Failed to download dubbed audio");
6930
- }
6931
- console.warn("\u{1F4E4} Uploading dubbed audio to S3-compatible storage...");
6932
- try {
6933
- presignedUrl = await uploadDubbedAudioToS3({
6934
- dubbedAudioBuffer,
6935
6906
  assetId,
6936
6907
  toLanguageCode,
6937
6908
  s3Endpoint,
6938
6909
  s3Region,
6939
6910
  s3Bucket,
6940
6911
  storageAdapter: effectiveStorageAdapter,
6941
- s3SignedUrlExpirySeconds: options.s3SignedUrlExpirySeconds
6912
+ s3SignedUrlExpirySeconds: options.s3SignedUrlExpirySeconds,
6913
+ credentials
6942
6914
  });
6915
+ console.warn("\u2705 Dubbed audio staged to S3 successfully!");
6943
6916
  } catch (error) {
6944
- wrapError(error, "Failed to upload audio to S3");
6917
+ wrapError(error, "Failed to download and upload dubbed audio");
6945
6918
  }
6946
6919
  if (uploadToMux) {
6947
6920
  console.warn("\u{1F4F9} Adding dubbed audio track to Mux asset...");