@speech-sdk/core 0.0.3 → 0.0.4
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 +37 -0
- package/dist/audio-tags.d.ts +6 -0
- package/dist/audio-tags.d.ts.map +1 -0
- package/dist/audio-tags.js +17 -0
- package/dist/audio-tags.js.map +1 -0
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -5
- package/dist/errors.js.map +1 -1
- package/dist/generate-speech.d.ts +2 -2
- package/dist/generate-speech.d.ts.map +1 -1
- package/dist/generate-speech.js +29 -6
- package/dist/generate-speech.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/provider-utils.d.ts.map +1 -1
- package/dist/provider-utils.js +16 -12
- package/dist/provider-utils.js.map +1 -1
- package/dist/providers/cartesia/index.d.ts +8 -1
- package/dist/providers/cartesia/index.d.ts.map +1 -1
- package/dist/providers/cartesia/index.js +160 -15
- package/dist/providers/cartesia/index.js.map +1 -1
- package/dist/providers/deepgram/index.d.ts +1 -1
- package/dist/providers/deepgram/index.d.ts.map +1 -1
- package/dist/providers/deepgram/index.js +16 -9
- package/dist/providers/deepgram/index.js.map +1 -1
- package/dist/providers/elevenlabs/index.d.ts +6 -1
- package/dist/providers/elevenlabs/index.d.ts.map +1 -1
- package/dist/providers/elevenlabs/index.js +167 -33
- package/dist/providers/elevenlabs/index.js.map +1 -1
- package/dist/providers/fal/index.d.ts +1 -1
- package/dist/providers/fal/index.d.ts.map +1 -1
- package/dist/providers/fal/index.js +52 -17
- package/dist/providers/fal/index.js.map +1 -1
- package/dist/providers/fish-audio/index.d.ts +1 -1
- package/dist/providers/fish-audio/index.d.ts.map +1 -1
- package/dist/providers/fish-audio/index.js +17 -10
- package/dist/providers/fish-audio/index.js.map +1 -1
- package/dist/providers/google/index.d.ts +1 -1
- package/dist/providers/google/index.d.ts.map +1 -1
- package/dist/providers/google/index.js +80 -15
- package/dist/providers/google/index.js.map +1 -1
- package/dist/providers/hume/index.d.ts +1 -1
- package/dist/providers/hume/index.d.ts.map +1 -1
- package/dist/providers/hume/index.js +43 -15
- package/dist/providers/hume/index.js.map +1 -1
- package/dist/providers/mistral/index.d.ts +1 -1
- package/dist/providers/mistral/index.d.ts.map +1 -1
- package/dist/providers/mistral/index.js +33 -16
- package/dist/providers/mistral/index.js.map +1 -1
- package/dist/providers/murf/index.d.ts +1 -1
- package/dist/providers/murf/index.d.ts.map +1 -1
- package/dist/providers/murf/index.js +62 -14
- package/dist/providers/murf/index.js.map +1 -1
- package/dist/providers/openai/index.d.ts +1 -1
- package/dist/providers/openai/index.d.ts.map +1 -1
- package/dist/providers/openai/index.js +99 -18
- package/dist/providers/openai/index.js.map +1 -1
- package/dist/providers/resemble/index.d.ts +1 -1
- package/dist/providers/resemble/index.d.ts.map +1 -1
- package/dist/providers/resemble/index.js +41 -10
- package/dist/providers/resemble/index.js.map +1 -1
- package/dist/providers/unreal-speech/index.d.ts +1 -1
- package/dist/providers/unreal-speech/index.d.ts.map +1 -1
- package/dist/providers/unreal-speech/index.js +20 -13
- package/dist/providers/unreal-speech/index.js.map +1 -1
- package/dist/resolve-provider.d.ts +1 -1
- package/dist/resolve-provider.d.ts.map +1 -1
- package/dist/resolve-provider.js +34 -34
- package/dist/resolve-provider.js.map +1 -1
- package/dist/speech-provider.d.ts +9 -5
- package/dist/speech-provider.d.ts.map +1 -1
- package/dist/speech-result.d.ts +4 -3
- package/dist/speech-result.d.ts.map +1 -1
- package/dist/speech-result.js +9 -7
- package/dist/speech-result.js.map +1 -1
- package/dist/types.d.ts +7 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -1,22 +1,87 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { handleErrorResponse, resolveApiKey } from "../../provider-utils.js";
|
|
2
2
|
export class GoogleSpeechProvider {
|
|
3
|
-
id =
|
|
4
|
-
defaultModel =
|
|
3
|
+
id = "google";
|
|
4
|
+
defaultModel = "gemini-2.5-flash-preview-tts";
|
|
5
5
|
models = [
|
|
6
|
-
{
|
|
7
|
-
|
|
6
|
+
{
|
|
7
|
+
id: "gemini-2.5-flash-preview-tts",
|
|
8
|
+
languages: [
|
|
9
|
+
"en",
|
|
10
|
+
"fr",
|
|
11
|
+
"de",
|
|
12
|
+
"es",
|
|
13
|
+
"pt",
|
|
14
|
+
"zh",
|
|
15
|
+
"ja",
|
|
16
|
+
"ko",
|
|
17
|
+
"hi",
|
|
18
|
+
"it",
|
|
19
|
+
"nl",
|
|
20
|
+
"pl",
|
|
21
|
+
"ru",
|
|
22
|
+
"sv",
|
|
23
|
+
"tr",
|
|
24
|
+
"id",
|
|
25
|
+
"ar",
|
|
26
|
+
"cs",
|
|
27
|
+
"da",
|
|
28
|
+
"fi",
|
|
29
|
+
"el",
|
|
30
|
+
"hu",
|
|
31
|
+
"ro",
|
|
32
|
+
"uk",
|
|
33
|
+
],
|
|
34
|
+
releaseDate: "2025-05-01",
|
|
35
|
+
openSource: false,
|
|
36
|
+
inlineVoiceCloning: false,
|
|
37
|
+
zeroDataRetention: false,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "gemini-2.5-pro-preview-tts",
|
|
41
|
+
languages: [
|
|
42
|
+
"en",
|
|
43
|
+
"fr",
|
|
44
|
+
"de",
|
|
45
|
+
"es",
|
|
46
|
+
"pt",
|
|
47
|
+
"zh",
|
|
48
|
+
"ja",
|
|
49
|
+
"ko",
|
|
50
|
+
"hi",
|
|
51
|
+
"it",
|
|
52
|
+
"nl",
|
|
53
|
+
"pl",
|
|
54
|
+
"ru",
|
|
55
|
+
"sv",
|
|
56
|
+
"tr",
|
|
57
|
+
"id",
|
|
58
|
+
"ar",
|
|
59
|
+
"cs",
|
|
60
|
+
"da",
|
|
61
|
+
"fi",
|
|
62
|
+
"el",
|
|
63
|
+
"hu",
|
|
64
|
+
"ro",
|
|
65
|
+
"uk",
|
|
66
|
+
],
|
|
67
|
+
releaseDate: "2025-05-01",
|
|
68
|
+
openSource: false,
|
|
69
|
+
inlineVoiceCloning: false,
|
|
70
|
+
zeroDataRetention: false,
|
|
71
|
+
},
|
|
8
72
|
];
|
|
9
73
|
apiKey;
|
|
10
74
|
baseURL;
|
|
11
75
|
fetchFn;
|
|
12
76
|
constructor(config) {
|
|
13
77
|
this.apiKey = config.apiKey;
|
|
14
|
-
this.baseURL =
|
|
78
|
+
this.baseURL =
|
|
79
|
+
config.baseURL ?? "https://generativelanguage.googleapis.com/v1beta";
|
|
15
80
|
this.fetchFn = config.fetch ?? globalThis.fetch;
|
|
16
81
|
}
|
|
17
82
|
async generate(options) {
|
|
18
|
-
const apiKey = resolveApiKey(this.apiKey,
|
|
19
|
-
const voiceName = options.voice ??
|
|
83
|
+
const apiKey = resolveApiKey(this.apiKey, "GOOGLE_API_KEY", "Google");
|
|
84
|
+
const voiceName = options.voice ?? "Kore";
|
|
20
85
|
const speechConfig = {
|
|
21
86
|
voice_config: {
|
|
22
87
|
prebuilt_voice_config: {
|
|
@@ -27,35 +92,35 @@ export class GoogleSpeechProvider {
|
|
|
27
92
|
const body = {
|
|
28
93
|
contents: [
|
|
29
94
|
{
|
|
30
|
-
role:
|
|
95
|
+
role: "user",
|
|
31
96
|
parts: [{ text: options.text }],
|
|
32
97
|
},
|
|
33
98
|
],
|
|
34
99
|
generationConfig: {
|
|
35
|
-
responseModalities: [
|
|
100
|
+
responseModalities: ["audio"],
|
|
36
101
|
speech_config: speechConfig,
|
|
37
102
|
...options.providerOptions,
|
|
38
103
|
},
|
|
39
104
|
};
|
|
40
105
|
const url = `${this.baseURL}/models/${options.modelId}:generateContent?key=${apiKey}`;
|
|
41
106
|
const response = await this.fetchFn(url, {
|
|
42
|
-
method:
|
|
107
|
+
method: "POST",
|
|
43
108
|
headers: {
|
|
44
|
-
|
|
109
|
+
"Content-Type": "application/json",
|
|
45
110
|
...options.headers,
|
|
46
111
|
},
|
|
47
112
|
body: JSON.stringify(body),
|
|
48
113
|
signal: options.abortSignal,
|
|
49
114
|
});
|
|
50
115
|
await handleErrorResponse(response, `google/${options.modelId}`);
|
|
51
|
-
const json = await response.json();
|
|
116
|
+
const json = (await response.json());
|
|
52
117
|
const part = json.candidates?.[0]?.content?.parts?.find((p) => p.inlineData != null);
|
|
53
118
|
if (!part?.inlineData) {
|
|
54
|
-
throw new Error(
|
|
119
|
+
throw new Error("No audio data in Gemini TTS response");
|
|
55
120
|
}
|
|
56
121
|
return {
|
|
57
122
|
audio: part.inlineData.data,
|
|
58
|
-
mediaType: part.inlineData.mimeType ??
|
|
123
|
+
mediaType: part.inlineData.mimeType ?? "audio/mp3",
|
|
59
124
|
};
|
|
60
125
|
}
|
|
61
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/hume/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/hume/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,qBAAa,kBAAmB,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IACvE,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,YAAY,cAAc;IAEnC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;OA6BJ;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,wBAAwB;IAM5C,OAAO,CAAC,cAAc;IAUhB,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,CAAC;CAwCH;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,wBAA6B,IAGzC,UAAU,MAAM,KAAG,aAAa,CAAC,MAAM,CAAC,CAM9D"}
|
|
@@ -1,30 +1,58 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { handleErrorResponse, resolveApiKey } from "../../provider-utils.js";
|
|
2
2
|
export class HumeSpeechProvider {
|
|
3
|
-
id =
|
|
4
|
-
defaultModel =
|
|
3
|
+
id = "hume";
|
|
4
|
+
defaultModel = "octave-2";
|
|
5
5
|
models = [
|
|
6
|
-
{
|
|
7
|
-
|
|
6
|
+
{
|
|
7
|
+
id: "octave-2",
|
|
8
|
+
languages: [
|
|
9
|
+
"en",
|
|
10
|
+
"fr",
|
|
11
|
+
"de",
|
|
12
|
+
"es",
|
|
13
|
+
"pt",
|
|
14
|
+
"ja",
|
|
15
|
+
"ko",
|
|
16
|
+
"hi",
|
|
17
|
+
"it",
|
|
18
|
+
"ar",
|
|
19
|
+
"ru",
|
|
20
|
+
],
|
|
21
|
+
releaseDate: "2025-10-01",
|
|
22
|
+
openSource: false,
|
|
23
|
+
inlineVoiceCloning: true,
|
|
24
|
+
zeroDataRetention: false,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: "octave-1",
|
|
28
|
+
languages: ["en"],
|
|
29
|
+
releaseDate: "2025-03-01",
|
|
30
|
+
openSource: false,
|
|
31
|
+
inlineVoiceCloning: false,
|
|
32
|
+
zeroDataRetention: false,
|
|
33
|
+
},
|
|
8
34
|
];
|
|
9
35
|
apiKey;
|
|
10
36
|
baseURL;
|
|
11
37
|
fetchFn;
|
|
12
38
|
constructor(config) {
|
|
13
39
|
this.apiKey = config.apiKey;
|
|
14
|
-
this.baseURL = config.baseURL ??
|
|
40
|
+
this.baseURL = config.baseURL ?? "https://api.hume.ai/v0";
|
|
15
41
|
this.fetchFn = config.fetch ?? globalThis.fetch;
|
|
16
42
|
}
|
|
17
43
|
resolveVersion(modelId) {
|
|
18
|
-
if (modelId ===
|
|
19
|
-
return
|
|
20
|
-
|
|
21
|
-
|
|
44
|
+
if (modelId === "octave-2") {
|
|
45
|
+
return "2";
|
|
46
|
+
}
|
|
47
|
+
if (modelId === "octave-1") {
|
|
48
|
+
return "1";
|
|
49
|
+
}
|
|
22
50
|
return undefined;
|
|
23
51
|
}
|
|
24
52
|
async generate(options) {
|
|
25
53
|
const utterance = { text: options.text };
|
|
26
54
|
if (options.voice) {
|
|
27
|
-
utterance.voice = { name: options.voice, provider:
|
|
55
|
+
utterance.voice = { name: options.voice, provider: "HUME_AI" };
|
|
28
56
|
}
|
|
29
57
|
const version = this.resolveVersion(options.modelId);
|
|
30
58
|
const body = {
|
|
@@ -36,10 +64,10 @@ export class HumeSpeechProvider {
|
|
|
36
64
|
}
|
|
37
65
|
const url = `${this.baseURL}/tts/file`;
|
|
38
66
|
const response = await this.fetchFn(url, {
|
|
39
|
-
method:
|
|
67
|
+
method: "POST",
|
|
40
68
|
headers: {
|
|
41
|
-
|
|
42
|
-
|
|
69
|
+
"Content-Type": "application/json",
|
|
70
|
+
"X-Hume-Api-Key": resolveApiKey(this.apiKey, "HUME_API_KEY", "Hume"),
|
|
43
71
|
...options.headers,
|
|
44
72
|
},
|
|
45
73
|
body: JSON.stringify(body),
|
|
@@ -47,7 +75,7 @@ export class HumeSpeechProvider {
|
|
|
47
75
|
});
|
|
48
76
|
await handleErrorResponse(response, `hume/${options.modelId}`);
|
|
49
77
|
const arrayBuffer = await response.arrayBuffer();
|
|
50
|
-
const mediaType = response.headers.get(
|
|
78
|
+
const mediaType = response.headers.get("content-type") ?? "audio/mpeg";
|
|
51
79
|
return {
|
|
52
80
|
audio: new Uint8Array(arrayBuffer),
|
|
53
81
|
mediaType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/hume/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/hume/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/mistral/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,qBAAa,qBACX,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;IAE1E,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,YAAY,2BAA2B;IAChD,QAAQ,CAAC,MAAM;;;;;;;OAmBJ;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,2BAA2B;IAMzC,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,CAAC;QAChD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CA+CH;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAE,2BAAgC,IAGlE,UAAU,MAAM,KACf,aAAa,CAAC,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC,CAG1D"}
|
|
@@ -1,35 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { handleErrorResponse, resolveApiKey } from "../../provider-utils.js";
|
|
2
2
|
export class MistralSpeechProvider {
|
|
3
|
-
id =
|
|
4
|
-
defaultModel =
|
|
3
|
+
id = "mistral";
|
|
4
|
+
defaultModel = "voxtral-mini-tts-2603";
|
|
5
5
|
models = [
|
|
6
|
-
{
|
|
6
|
+
{
|
|
7
|
+
id: "voxtral-mini-tts-2603",
|
|
8
|
+
languages: [
|
|
9
|
+
"en",
|
|
10
|
+
"fr",
|
|
11
|
+
"de",
|
|
12
|
+
"es",
|
|
13
|
+
"nl",
|
|
14
|
+
"pt",
|
|
15
|
+
"it",
|
|
16
|
+
"hi",
|
|
17
|
+
"ar",
|
|
18
|
+
],
|
|
19
|
+
releaseDate: "2026-03-23",
|
|
20
|
+
openSource: true,
|
|
21
|
+
inlineVoiceCloning: true,
|
|
22
|
+
zeroDataRetention: false,
|
|
23
|
+
},
|
|
7
24
|
];
|
|
8
25
|
apiKey;
|
|
9
26
|
baseURL;
|
|
10
27
|
fetchFn;
|
|
11
28
|
constructor(config) {
|
|
12
29
|
this.apiKey = config.apiKey;
|
|
13
|
-
this.baseURL = config.baseURL ??
|
|
30
|
+
this.baseURL = config.baseURL ?? "https://api.mistral.ai/v1";
|
|
14
31
|
this.fetchFn = config.fetch ?? globalThis.fetch;
|
|
15
32
|
}
|
|
16
33
|
async generate(options) {
|
|
17
34
|
const body = {
|
|
18
|
-
response_format:
|
|
35
|
+
response_format: "mp3",
|
|
19
36
|
...options.providerOptions,
|
|
20
37
|
model: options.modelId,
|
|
21
38
|
input: options.text,
|
|
22
39
|
};
|
|
23
40
|
if (options.voice != null) {
|
|
24
|
-
if (typeof options.voice ===
|
|
41
|
+
if (typeof options.voice === "string") {
|
|
25
42
|
body.voice_id = options.voice;
|
|
26
43
|
}
|
|
27
|
-
else if (
|
|
44
|
+
else if ("audio" in options.voice) {
|
|
28
45
|
const audio = options.voice.audio;
|
|
29
46
|
if (audio instanceof Uint8Array) {
|
|
30
|
-
let binaryString =
|
|
31
|
-
for (
|
|
32
|
-
binaryString += String.fromCharCode(
|
|
47
|
+
let binaryString = "";
|
|
48
|
+
for (const byte of audio) {
|
|
49
|
+
binaryString += String.fromCharCode(byte);
|
|
33
50
|
}
|
|
34
51
|
body.ref_audio = btoa(binaryString);
|
|
35
52
|
}
|
|
@@ -40,20 +57,20 @@ export class MistralSpeechProvider {
|
|
|
40
57
|
}
|
|
41
58
|
const url = `${this.baseURL}/audio/speech`;
|
|
42
59
|
const response = await this.fetchFn(url, {
|
|
43
|
-
method:
|
|
60
|
+
method: "POST",
|
|
44
61
|
headers: {
|
|
45
|
-
|
|
46
|
-
|
|
62
|
+
"Content-Type": "application/json",
|
|
63
|
+
Authorization: `Bearer ${resolveApiKey(this.apiKey, "MISTRAL_API_KEY", "Mistral")}`,
|
|
47
64
|
...options.headers,
|
|
48
65
|
},
|
|
49
66
|
body: JSON.stringify(body),
|
|
50
67
|
signal: options.abortSignal,
|
|
51
68
|
});
|
|
52
69
|
await handleErrorResponse(response, `mistral/${options.modelId}`);
|
|
53
|
-
const json = await response.json();
|
|
70
|
+
const json = (await response.json());
|
|
54
71
|
return {
|
|
55
72
|
audio: json.audio_data,
|
|
56
|
-
mediaType:
|
|
73
|
+
mediaType: "audio/mpeg",
|
|
57
74
|
};
|
|
58
75
|
}
|
|
59
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/mistral/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/mistral/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/murf/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/murf/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,qBAAa,kBAAmB,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IACvE,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,YAAY,UAAU;IAE/B,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;OAmDJ;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,wBAAwB;IAMtC,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,CAAC;CA8CH;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAE,wBAA6B,IAGzC,UAAU,MAAM,KAAG,aAAa,CAAC,MAAM,CAAC,CAM9D"}
|
|
@@ -1,21 +1,69 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { handleErrorResponse, resolveApiKey } from "../../provider-utils.js";
|
|
2
2
|
export class MurfSpeechProvider {
|
|
3
|
-
id =
|
|
4
|
-
defaultModel =
|
|
3
|
+
id = "murf";
|
|
4
|
+
defaultModel = "GEN2";
|
|
5
5
|
models = [
|
|
6
|
-
{
|
|
7
|
-
|
|
6
|
+
{
|
|
7
|
+
id: "GEN2",
|
|
8
|
+
languages: [
|
|
9
|
+
"en",
|
|
10
|
+
"de",
|
|
11
|
+
"es",
|
|
12
|
+
"fr",
|
|
13
|
+
"zh",
|
|
14
|
+
"ar",
|
|
15
|
+
"hi",
|
|
16
|
+
"bn",
|
|
17
|
+
"ta",
|
|
18
|
+
"pt",
|
|
19
|
+
"it",
|
|
20
|
+
"ja",
|
|
21
|
+
"ko",
|
|
22
|
+
"nl",
|
|
23
|
+
"pl",
|
|
24
|
+
"ru",
|
|
25
|
+
"sv",
|
|
26
|
+
"tr",
|
|
27
|
+
"id",
|
|
28
|
+
"ms",
|
|
29
|
+
"tl",
|
|
30
|
+
"cs",
|
|
31
|
+
"fi",
|
|
32
|
+
"th",
|
|
33
|
+
"vi",
|
|
34
|
+
"da",
|
|
35
|
+
"no",
|
|
36
|
+
"ro",
|
|
37
|
+
"el",
|
|
38
|
+
"hu",
|
|
39
|
+
"uk",
|
|
40
|
+
"sk",
|
|
41
|
+
"bg",
|
|
42
|
+
],
|
|
43
|
+
releaseDate: "2025-01-01",
|
|
44
|
+
openSource: false,
|
|
45
|
+
inlineVoiceCloning: false,
|
|
46
|
+
zeroDataRetention: false,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: "FALCON",
|
|
50
|
+
languages: ["en"],
|
|
51
|
+
releaseDate: "2025-01-01",
|
|
52
|
+
openSource: false,
|
|
53
|
+
inlineVoiceCloning: false,
|
|
54
|
+
zeroDataRetention: false,
|
|
55
|
+
},
|
|
8
56
|
];
|
|
9
57
|
apiKey;
|
|
10
58
|
baseURL;
|
|
11
59
|
fetchFn;
|
|
12
60
|
constructor(config) {
|
|
13
61
|
this.apiKey = config.apiKey;
|
|
14
|
-
this.baseURL = config.baseURL ??
|
|
62
|
+
this.baseURL = config.baseURL ?? "https://api.murf.ai/v1";
|
|
15
63
|
this.fetchFn = config.fetch ?? globalThis.fetch;
|
|
16
64
|
}
|
|
17
65
|
async generate(options) {
|
|
18
|
-
const isFalcon = options.modelId ===
|
|
66
|
+
const isFalcon = options.modelId === "FALCON";
|
|
19
67
|
const url = isFalcon
|
|
20
68
|
? `${this.baseURL}/speech/stream`
|
|
21
69
|
: `${this.baseURL}/speech/generate`;
|
|
@@ -25,16 +73,16 @@ export class MurfSpeechProvider {
|
|
|
25
73
|
text: options.text,
|
|
26
74
|
};
|
|
27
75
|
if (isFalcon) {
|
|
28
|
-
body.model =
|
|
76
|
+
body.model = "FALCON";
|
|
29
77
|
}
|
|
30
78
|
else {
|
|
31
79
|
body.encodeAsBase64 = true;
|
|
32
80
|
}
|
|
33
81
|
const response = await this.fetchFn(url, {
|
|
34
|
-
method:
|
|
82
|
+
method: "POST",
|
|
35
83
|
headers: {
|
|
36
|
-
|
|
37
|
-
|
|
84
|
+
"Content-Type": "application/json",
|
|
85
|
+
"api-key": resolveApiKey(this.apiKey, "MURF_API_KEY", "Murf"),
|
|
38
86
|
...options.headers,
|
|
39
87
|
},
|
|
40
88
|
body: JSON.stringify(body),
|
|
@@ -43,16 +91,16 @@ export class MurfSpeechProvider {
|
|
|
43
91
|
await handleErrorResponse(response, `murf/${options.modelId}`);
|
|
44
92
|
if (isFalcon) {
|
|
45
93
|
const arrayBuffer = await response.arrayBuffer();
|
|
46
|
-
const mediaType = response.headers.get(
|
|
94
|
+
const mediaType = response.headers.get("content-type") ?? "audio/wav";
|
|
47
95
|
return {
|
|
48
96
|
audio: new Uint8Array(arrayBuffer),
|
|
49
97
|
mediaType,
|
|
50
98
|
};
|
|
51
99
|
}
|
|
52
|
-
const json = await response.json();
|
|
100
|
+
const json = (await response.json());
|
|
53
101
|
return {
|
|
54
102
|
audio: json.encodedAudio,
|
|
55
|
-
mediaType:
|
|
103
|
+
mediaType: "audio/wav",
|
|
56
104
|
};
|
|
57
105
|
}
|
|
58
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/murf/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/murf/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/openai/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,qBAAa,oBAAqB,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;IACzE,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,YAAY,qBAAqB;IAE1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAoEtB;IAEX,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;OAyBJ;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,0BAA0B;IAMxC,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,UAAU,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,CAAC;CA+BH;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAE,0BAA+B,IAG3C,UAAU,MAAM,KAAG,aAAa,CAAC,MAAM,CAAC,CAMhE"}
|