makefx 1.6.2 → 1.6.3
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/README.md +1 -1
- package/makefx.mjs +29 -11
- package/package.json +1 -1
package/README.md
CHANGED
package/makefx.mjs
CHANGED
|
@@ -4438,7 +4438,7 @@ require_websocket_server();
|
|
|
4438
4438
|
var wrapper_default = import_websocket.default;
|
|
4439
4439
|
//#endregion
|
|
4440
4440
|
//#region src/cli/version.ts
|
|
4441
|
-
var CLI_VERSION = "1.6.
|
|
4441
|
+
var CLI_VERSION = "1.6.3+203ed3ea216e";
|
|
4442
4442
|
var CLI_VERSION_HEADER = "X-MakeFX-CLI-Version";
|
|
4443
4443
|
function cliVersionHeaders() {
|
|
4444
4444
|
return {
|
|
@@ -5780,6 +5780,18 @@ Usage:
|
|
|
5780
5780
|
`);
|
|
5781
5781
|
}
|
|
5782
5782
|
//#endregion
|
|
5783
|
+
//#region src/shared/audioGenerationOptions.ts
|
|
5784
|
+
var DEFAULT_ELEVENLABS_SPEECH_MODEL_ID = "eleven_v3";
|
|
5785
|
+
/**
|
|
5786
|
+
* Keep the provider-native ElevenLabs ID canonical everywhere after an input
|
|
5787
|
+
* boundary. The hyphenated MakeFX slug is accepted only for migration.
|
|
5788
|
+
*/
|
|
5789
|
+
function normalizeElevenLabsSpeechModelId(model) {
|
|
5790
|
+
const normalized = model?.trim();
|
|
5791
|
+
if (!normalized) return void 0;
|
|
5792
|
+
return normalized === "eleven-v3" ? DEFAULT_ELEVENLABS_SPEECH_MODEL_ID : normalized;
|
|
5793
|
+
}
|
|
5794
|
+
//#endregion
|
|
5783
5795
|
//#region src/backend/utils/audio-metadata.ts
|
|
5784
5796
|
function readWavDurationMs(bytes) {
|
|
5785
5797
|
if (bytes.byteLength < 12) return void 0;
|
|
@@ -6870,8 +6882,9 @@ function getAudioModeFromType(type) {
|
|
|
6870
6882
|
}
|
|
6871
6883
|
function validateAudioModelOption(value, mode) {
|
|
6872
6884
|
if (!value) return;
|
|
6873
|
-
const
|
|
6874
|
-
|
|
6885
|
+
const normalized = mode === "speech" || mode === "dialogue" ? normalizeElevenLabsSpeechModelId(value) : value;
|
|
6886
|
+
const supported = mode === "music" ? ["eleven-music", "lyria-3"] : mode === "sfx" ? ["eleven-sfx"] : mode === "speech" || mode === "dialogue" ? [DEFAULT_ELEVENLABS_SPEECH_MODEL_ID] : [];
|
|
6887
|
+
if (!normalized || !supported.includes(normalized)) throw new Error(`Unsupported ${mode ?? "audio"} model: ${value}. Expected ${supported.join(" or ")}`);
|
|
6875
6888
|
}
|
|
6876
6889
|
function parseMusicProviderOption(parsed, mediaKind, assetType) {
|
|
6877
6890
|
const value = parsed.options.model;
|
|
@@ -7434,9 +7447,12 @@ function normalizeCliOption(value) {
|
|
|
7434
7447
|
if (value === void 0 || value === "true") return void 0;
|
|
7435
7448
|
return value.trim() || void 0;
|
|
7436
7449
|
}
|
|
7437
|
-
function parseAudioGenerationOptions(
|
|
7450
|
+
function parseAudioGenerationOptions(parsed, mediaKind) {
|
|
7438
7451
|
if (mediaKind !== "audio") return {};
|
|
7439
|
-
|
|
7452
|
+
const mode = getAudioModeFromType(parsed.options.type);
|
|
7453
|
+
if (mode !== "speech" && mode !== "dialogue") return {};
|
|
7454
|
+
const model = normalizeElevenLabsSpeechModelId(parsed.options.model);
|
|
7455
|
+
return model ? { model } : {};
|
|
7440
7456
|
}
|
|
7441
7457
|
function parseImageGenerationOptions(parsed, mediaKind) {
|
|
7442
7458
|
if (mediaKind !== "image") return {};
|
|
@@ -7637,6 +7653,7 @@ function parseWaitSeconds$1(value) {
|
|
|
7637
7653
|
function buildRegenerationBody(mediaKind, parsed, referenceVariantIds, audioMode, sourceRecipe) {
|
|
7638
7654
|
const prompt = parsed.positionals[1] ?? parsed.options.prompt;
|
|
7639
7655
|
const model = parsed.options.model;
|
|
7656
|
+
const audioModel = mediaKind === "audio" && (audioMode === "speech" || audioMode === "dialogue") ? normalizeElevenLabsSpeechModelId(model) : void 0;
|
|
7640
7657
|
const params = {};
|
|
7641
7658
|
let duration;
|
|
7642
7659
|
let modelProvider;
|
|
@@ -7657,7 +7674,7 @@ function buildRegenerationBody(mediaKind, parsed, referenceVariantIds, audioMode
|
|
|
7657
7674
|
if (parsed.options["no-audio"] === "true") params.generateAudio = false;
|
|
7658
7675
|
} else {
|
|
7659
7676
|
if (!audioMode) throw new Error("Audio regeneration mode is required");
|
|
7660
|
-
validateAudioModel(audioMode, model);
|
|
7677
|
+
validateAudioModel(audioMode, audioModel ?? model);
|
|
7661
7678
|
if (parsed.options.voice) params.voiceId = parsed.options.voice;
|
|
7662
7679
|
if (parsed.options["dialogue-voices"]) params.dialogueVoiceIds = splitList(parsed.options["dialogue-voices"]);
|
|
7663
7680
|
if (audioMode === "music" && model) params.musicProvider = model === "lyria-3" ? "lyria" : "elevenlabs";
|
|
@@ -7666,6 +7683,7 @@ function buildRegenerationBody(mediaKind, parsed, referenceVariantIds, audioMode
|
|
|
7666
7683
|
...prompt ? { prompt } : {},
|
|
7667
7684
|
...model && mediaKind === "image" ? { model } : {},
|
|
7668
7685
|
...model && mediaKind === "video" ? { model: resolveVideoRegenerationModel(model, parsed, sourceRecipe) } : {},
|
|
7686
|
+
...audioModel ? { model: audioModel } : {},
|
|
7669
7687
|
...modelProvider ? { modelProvider } : {},
|
|
7670
7688
|
...referenceVariantIds !== void 0 ? { referenceVariantIds } : {},
|
|
7671
7689
|
...Object.keys(params).length > 0 ? { params } : {},
|
|
@@ -7707,7 +7725,7 @@ function parseStoredRecipe$2(recipe) {
|
|
|
7707
7725
|
}
|
|
7708
7726
|
function validateAudioModel(mode, model) {
|
|
7709
7727
|
if (!model) return;
|
|
7710
|
-
const supported = mode === "music" ? ["eleven-music", "lyria-3"] : mode === "sfx" ? ["eleven-sfx"] : [
|
|
7728
|
+
const supported = mode === "music" ? ["eleven-music", "lyria-3"] : mode === "sfx" ? ["eleven-sfx"] : [DEFAULT_ELEVENLABS_SPEECH_MODEL_ID];
|
|
7711
7729
|
if (!supported.includes(model)) throw new Error(`Unsupported ${mode} model: ${model}. Expected ${supported.join(" or ")}`);
|
|
7712
7730
|
}
|
|
7713
7731
|
function parseReferences(mediaKind, options) {
|
|
@@ -11496,10 +11514,10 @@ Seedance mode is inferred: first/last frame selects frame mode, image/video/audi
|
|
|
11496
11514
|
makefx audio voices [--json]
|
|
11497
11515
|
makefx audio align <variant-ref> "transcript" [--space <id>] [--json]
|
|
11498
11516
|
makefx audio align <variant-ref> --input transcript.txt [--space <id>] [--json]
|
|
11499
|
-
makefx audio speech generate "text" --voice <voice-id> --name <name> -o <file>
|
|
11500
|
-
makefx audio speech regenerate <variant-ref> ["text"] [--voice <voice-id>] [--no-activate] [--wait]
|
|
11501
|
-
makefx audio dialogue generate --input <file> --dialogue-voices <id,id> --name <name> -o <file>
|
|
11502
|
-
makefx audio dialogue regenerate <variant-ref> ["script"] [--dialogue-voices <id,id>] [--no-activate] [--wait]
|
|
11517
|
+
makefx audio speech generate "text" [--model eleven_v3] --voice <voice-id> --name <name> -o <file>
|
|
11518
|
+
makefx audio speech regenerate <variant-ref> ["text"] [--model eleven_v3] [--voice <voice-id>] [--no-activate] [--wait]
|
|
11519
|
+
makefx audio dialogue generate --input <file> [--model eleven_v3] --dialogue-voices <id,id> --name <name> -o <file>
|
|
11520
|
+
makefx audio dialogue regenerate <variant-ref> ["script"] [--model eleven_v3] [--dialogue-voices <id,id>] [--no-activate] [--wait]
|
|
11503
11521
|
makefx audio music generate "prompt" --model eleven-music|lyria-3 --name <name> -o <file>
|
|
11504
11522
|
makefx audio music regenerate <variant-ref> ["prompt"] [--model eleven-music|lyria-3] [--no-activate] [--wait]
|
|
11505
11523
|
makefx audio sfx generate "prompt" --name <name> -o <file>
|