@speech-sdk/core 0.6.2 → 0.8.0-alpha

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.
Files changed (202) hide show
  1. package/LICENSE +202 -21
  2. package/README.md +267 -264
  3. package/dist/__tests__/e2e/_save-audio.d.ts +5 -24
  4. package/dist/__tests__/e2e/_save-audio.d.ts.map +1 -1
  5. package/dist/__tests__/e2e/_save-audio.js +19 -42
  6. package/dist/__tests__/e2e/_save-audio.js.map +1 -1
  7. package/dist/audio-duration.d.ts +0 -5
  8. package/dist/audio-duration.d.ts.map +1 -1
  9. package/dist/audio-duration.js +3 -10
  10. package/dist/audio-duration.js.map +1 -1
  11. package/dist/audio-utils.d.ts +1 -9
  12. package/dist/audio-utils.d.ts.map +1 -1
  13. package/dist/audio-utils.js +10 -13
  14. package/dist/audio-utils.js.map +1 -1
  15. package/dist/captions.d.ts +29 -0
  16. package/dist/captions.d.ts.map +1 -0
  17. package/dist/captions.js +193 -0
  18. package/dist/captions.js.map +1 -0
  19. package/dist/conversation/attribute-timestamps.d.ts +26 -0
  20. package/dist/conversation/attribute-timestamps.d.ts.map +1 -0
  21. package/dist/conversation/attribute-timestamps.js +276 -0
  22. package/dist/conversation/attribute-timestamps.js.map +1 -0
  23. package/dist/conversation/dispatch.d.ts +5 -5
  24. package/dist/conversation/dispatch.d.ts.map +1 -1
  25. package/dist/conversation/dispatch.js +18 -8
  26. package/dist/conversation/dispatch.js.map +1 -1
  27. package/dist/conversation/errors.d.ts +3 -0
  28. package/dist/conversation/errors.d.ts.map +1 -1
  29. package/dist/conversation/errors.js +6 -0
  30. package/dist/conversation/errors.js.map +1 -1
  31. package/dist/conversation/pcm-concat.d.ts +0 -23
  32. package/dist/conversation/pcm-concat.d.ts.map +1 -1
  33. package/dist/conversation/pcm-concat.js +5 -43
  34. package/dist/conversation/pcm-concat.js.map +1 -1
  35. package/dist/conversation/proportional-fill.d.ts +10 -0
  36. package/dist/conversation/proportional-fill.d.ts.map +1 -0
  37. package/dist/conversation/proportional-fill.js +64 -0
  38. package/dist/conversation/proportional-fill.js.map +1 -0
  39. package/dist/conversation/silence-detection.d.ts +14 -0
  40. package/dist/conversation/silence-detection.d.ts.map +1 -0
  41. package/dist/conversation/silence-detection.js +52 -0
  42. package/dist/conversation/silence-detection.js.map +1 -0
  43. package/dist/conversation/stitch.d.ts +3 -1
  44. package/dist/conversation/stitch.d.ts.map +1 -1
  45. package/dist/conversation/stitch.js +54 -13
  46. package/dist/conversation/stitch.js.map +1 -1
  47. package/dist/conversation/types.d.ts +1 -19
  48. package/dist/conversation/types.d.ts.map +1 -1
  49. package/dist/conversation/validate.d.ts +1 -16
  50. package/dist/conversation/validate.d.ts.map +1 -1
  51. package/dist/conversation/validate.js +29 -29
  52. package/dist/conversation/validate.js.map +1 -1
  53. package/dist/default-stt-fallback.d.ts +3 -0
  54. package/dist/default-stt-fallback.d.ts.map +1 -0
  55. package/dist/default-stt-fallback.js +11 -0
  56. package/dist/default-stt-fallback.js.map +1 -0
  57. package/dist/derive-timestamps.d.ts +10 -0
  58. package/dist/derive-timestamps.d.ts.map +1 -0
  59. package/dist/derive-timestamps.js +24 -0
  60. package/dist/derive-timestamps.js.map +1 -0
  61. package/dist/errors.d.ts +20 -2
  62. package/dist/errors.d.ts.map +1 -1
  63. package/dist/errors.js +28 -2
  64. package/dist/errors.js.map +1 -1
  65. package/dist/generate-conversation.d.ts +5 -4
  66. package/dist/generate-conversation.d.ts.map +1 -1
  67. package/dist/generate-conversation.js +191 -38
  68. package/dist/generate-conversation.js.map +1 -1
  69. package/dist/generate-speech.d.ts +2 -10
  70. package/dist/generate-speech.d.ts.map +1 -1
  71. package/dist/generate-speech.js +111 -33
  72. package/dist/generate-speech.js.map +1 -1
  73. package/dist/index.d.ts +5 -8
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +6 -4
  76. package/dist/index.js.map +1 -1
  77. package/dist/logger.d.ts +2 -0
  78. package/dist/logger.d.ts.map +1 -0
  79. package/dist/logger.js +29 -0
  80. package/dist/logger.js.map +1 -0
  81. package/dist/metadata.d.ts +0 -22
  82. package/dist/metadata.d.ts.map +1 -1
  83. package/dist/provider-utils.d.ts +3 -1
  84. package/dist/provider-utils.d.ts.map +1 -1
  85. package/dist/provider-utils.js +36 -39
  86. package/dist/provider-utils.js.map +1 -1
  87. package/dist/providers/cartesia/alignment.d.ts +8 -0
  88. package/dist/providers/cartesia/alignment.d.ts.map +1 -0
  89. package/dist/providers/cartesia/alignment.js +18 -0
  90. package/dist/providers/cartesia/alignment.js.map +1 -0
  91. package/dist/providers/cartesia/index.d.ts +11 -13
  92. package/dist/providers/cartesia/index.d.ts.map +1 -1
  93. package/dist/providers/cartesia/index.js +184 -61
  94. package/dist/providers/cartesia/index.js.map +1 -1
  95. package/dist/providers/deepgram/index.d.ts +7 -8
  96. package/dist/providers/deepgram/index.d.ts.map +1 -1
  97. package/dist/providers/deepgram/index.js +17 -18
  98. package/dist/providers/deepgram/index.js.map +1 -1
  99. package/dist/providers/elevenlabs/alignment.d.ts +10 -0
  100. package/dist/providers/elevenlabs/alignment.d.ts.map +1 -0
  101. package/dist/providers/elevenlabs/alignment.js +47 -0
  102. package/dist/providers/elevenlabs/alignment.js.map +1 -0
  103. package/dist/providers/elevenlabs/index.d.ts +10 -26
  104. package/dist/providers/elevenlabs/index.d.ts.map +1 -1
  105. package/dist/providers/elevenlabs/index.js +216 -154
  106. package/dist/providers/elevenlabs/index.js.map +1 -1
  107. package/dist/providers/fal/index.d.ts +7 -43
  108. package/dist/providers/fal/index.d.ts.map +1 -1
  109. package/dist/providers/fal/index.js +37 -86
  110. package/dist/providers/fal/index.js.map +1 -1
  111. package/dist/providers/fish-audio/index.d.ts +7 -8
  112. package/dist/providers/fish-audio/index.d.ts.map +1 -1
  113. package/dist/providers/fish-audio/index.js +23 -19
  114. package/dist/providers/fish-audio/index.js.map +1 -1
  115. package/dist/providers/gateway/index.d.ts +68 -0
  116. package/dist/providers/gateway/index.d.ts.map +1 -0
  117. package/dist/providers/gateway/index.js +236 -0
  118. package/dist/providers/gateway/index.js.map +1 -0
  119. package/dist/providers/google/index.d.ts +7 -20
  120. package/dist/providers/google/index.d.ts.map +1 -1
  121. package/dist/providers/google/index.js +161 -151
  122. package/dist/providers/google/index.js.map +1 -1
  123. package/dist/providers/hume/alignment.d.ts +33 -0
  124. package/dist/providers/hume/alignment.d.ts.map +1 -0
  125. package/dist/providers/hume/alignment.js +37 -0
  126. package/dist/providers/hume/alignment.js.map +1 -0
  127. package/dist/providers/hume/index.d.ts +11 -13
  128. package/dist/providers/hume/index.d.ts.map +1 -1
  129. package/dist/providers/hume/index.js +105 -41
  130. package/dist/providers/hume/index.js.map +1 -1
  131. package/dist/providers/inworld/alignment.d.ts +11 -0
  132. package/dist/providers/inworld/alignment.d.ts.map +1 -0
  133. package/dist/providers/inworld/alignment.js +24 -0
  134. package/dist/providers/inworld/alignment.js.map +1 -0
  135. package/dist/providers/inworld/index.d.ts +10 -14
  136. package/dist/providers/inworld/index.d.ts.map +1 -1
  137. package/dist/providers/inworld/index.js +55 -38
  138. package/dist/providers/inworld/index.js.map +1 -1
  139. package/dist/providers/mistral/index.d.ts +7 -8
  140. package/dist/providers/mistral/index.d.ts.map +1 -1
  141. package/dist/providers/mistral/index.js +39 -38
  142. package/dist/providers/mistral/index.js.map +1 -1
  143. package/dist/providers/murf/alignment.d.ts +13 -0
  144. package/dist/providers/murf/alignment.d.ts.map +1 -0
  145. package/dist/providers/murf/alignment.js +22 -0
  146. package/dist/providers/murf/alignment.js.map +1 -0
  147. package/dist/providers/murf/index.d.ts +11 -13
  148. package/dist/providers/murf/index.d.ts.map +1 -1
  149. package/dist/providers/murf/index.js +73 -56
  150. package/dist/providers/murf/index.js.map +1 -1
  151. package/dist/providers/openai/index.d.ts +36 -20
  152. package/dist/providers/openai/index.d.ts.map +1 -1
  153. package/dist/providers/openai/index.js +270 -102
  154. package/dist/providers/openai/index.js.map +1 -1
  155. package/dist/providers/resemble/alignment.d.ts +11 -0
  156. package/dist/providers/resemble/alignment.d.ts.map +1 -0
  157. package/dist/providers/resemble/alignment.js +54 -0
  158. package/dist/providers/resemble/alignment.js.map +1 -0
  159. package/dist/providers/resemble/index.d.ts +10 -8
  160. package/dist/providers/resemble/index.d.ts.map +1 -1
  161. package/dist/providers/resemble/index.js +58 -40
  162. package/dist/providers/resemble/index.js.map +1 -1
  163. package/dist/providers/xai/index.d.ts +7 -9
  164. package/dist/providers/xai/index.d.ts.map +1 -1
  165. package/dist/providers/xai/index.js +37 -40
  166. package/dist/providers/xai/index.js.map +1 -1
  167. package/dist/providers.d.ts +29 -0
  168. package/dist/providers.d.ts.map +1 -0
  169. package/dist/providers.js +15 -0
  170. package/dist/providers.js.map +1 -0
  171. package/dist/resolve-provider.d.ts.map +1 -1
  172. package/dist/resolve-provider.js +7 -59
  173. package/dist/resolve-provider.js.map +1 -1
  174. package/dist/speech-provider.d.ts +19 -15
  175. package/dist/speech-provider.d.ts.map +1 -1
  176. package/dist/speech-provider.js +9 -14
  177. package/dist/speech-provider.js.map +1 -1
  178. package/dist/speech-result.d.ts +5 -0
  179. package/dist/speech-result.d.ts.map +1 -1
  180. package/dist/speech-result.js.map +1 -1
  181. package/dist/speech-to-text-provider.d.ts +28 -0
  182. package/dist/speech-to-text-provider.d.ts.map +1 -0
  183. package/dist/speech-to-text-provider.js +2 -0
  184. package/dist/speech-to-text-provider.js.map +1 -0
  185. package/dist/stream-speech.d.ts.map +1 -1
  186. package/dist/stream-speech.js +2 -3
  187. package/dist/stream-speech.js.map +1 -1
  188. package/dist/timestamps.d.ts +9 -0
  189. package/dist/timestamps.d.ts.map +1 -0
  190. package/dist/timestamps.js +2 -0
  191. package/dist/timestamps.js.map +1 -0
  192. package/dist/turns.d.ts +9 -0
  193. package/dist/turns.d.ts.map +1 -0
  194. package/dist/turns.js +21 -0
  195. package/dist/turns.js.map +1 -0
  196. package/dist/types.d.ts +25 -0
  197. package/dist/types.d.ts.map +1 -1
  198. package/dist/volume-adjust.d.ts +0 -6
  199. package/dist/volume-adjust.d.ts.map +1 -1
  200. package/dist/volume-adjust.js +0 -6
  201. package/dist/volume-adjust.js.map +1 -1
  202. package/package.json +12 -63
@@ -1,149 +1,159 @@
1
+ import { z } from "zod";
1
2
  import { stripAudioTags } from "../../audio-tags.js";
3
+ import { base64ToUint8Array } from "../../audio-utils.js";
2
4
  import { SpeechSDKError } from "../../errors.js";
3
5
  import { handleErrorResponse, resolveApiKey, SDK_USER_AGENT, } from "../../provider-utils.js";
4
6
  import { hasFeature, } from "../../speech-provider.js";
7
+ import { alignmentToWordTimestamps, elevenLabsAlignmentSchema, } from "./alignment.js";
8
+ const withTimestampsResponseSchema = z.object({
9
+ audio_base64: z.string().optional(),
10
+ alignment: elevenLabsAlignmentSchema.optional(),
11
+ normalized_alignment: elevenLabsAlignmentSchema.optional(),
12
+ });
13
+ export const ELEVENLABS_PROVIDER_ID = "elevenlabs";
14
+ const ELEVENLABS_V2_LANGUAGES = [
15
+ "ar",
16
+ "bg",
17
+ "cs",
18
+ "da",
19
+ "de",
20
+ "el",
21
+ "en",
22
+ "es",
23
+ "fi",
24
+ "fil",
25
+ "fr",
26
+ "he",
27
+ "hi",
28
+ "hr",
29
+ "id",
30
+ "it",
31
+ "ja",
32
+ "ko",
33
+ "ms",
34
+ "nl",
35
+ "pl",
36
+ "pt",
37
+ "ro",
38
+ "ru",
39
+ "sk",
40
+ "sv",
41
+ "ta",
42
+ "uk",
43
+ "zh",
44
+ ];
45
+ const ELEVENLABS_FLASH_V2_5_LANGUAGES = [
46
+ ...ELEVENLABS_V2_LANGUAGES,
47
+ "hu",
48
+ "no",
49
+ "vi",
50
+ ];
51
+ const ELEVENLABS_V3_LANGUAGES = [
52
+ "af",
53
+ "ar",
54
+ "hy",
55
+ "as",
56
+ "az",
57
+ "be",
58
+ "bn",
59
+ "bs",
60
+ "bg",
61
+ "ca",
62
+ "ceb",
63
+ "ny",
64
+ "hr",
65
+ "cs",
66
+ "da",
67
+ "nl",
68
+ "en",
69
+ "et",
70
+ "fil",
71
+ "fi",
72
+ "fr",
73
+ "gl",
74
+ "ka",
75
+ "de",
76
+ "el",
77
+ "gu",
78
+ "ha",
79
+ "he",
80
+ "hi",
81
+ "hu",
82
+ "is",
83
+ "id",
84
+ "ga",
85
+ "it",
86
+ "ja",
87
+ "jv",
88
+ "kn",
89
+ "kk",
90
+ "ky",
91
+ "ko",
92
+ "lv",
93
+ "ln",
94
+ "lt",
95
+ "lb",
96
+ "mk",
97
+ "ms",
98
+ "ml",
99
+ "zh",
100
+ "mr",
101
+ "ne",
102
+ "no",
103
+ "ps",
104
+ "fa",
105
+ "pl",
106
+ "pt",
107
+ "pa",
108
+ "ro",
109
+ "ru",
110
+ "sr",
111
+ "sd",
112
+ "sk",
113
+ "sl",
114
+ "so",
115
+ "es",
116
+ "sw",
117
+ "sv",
118
+ "ta",
119
+ "te",
120
+ "th",
121
+ "tr",
122
+ "uk",
123
+ "ur",
124
+ "vi",
125
+ "cy",
126
+ ];
127
+ export const ELEVENLABS_MODELS = [
128
+ {
129
+ id: "eleven_v3",
130
+ releaseDate: "2025-06-08",
131
+ languages: ELEVENLABS_V3_LANGUAGES,
132
+ features: ["streaming", "audio-tags", "timestamps"],
133
+ },
134
+ {
135
+ id: "eleven_multilingual_v2",
136
+ releaseDate: "2023-08-22",
137
+ languages: ELEVENLABS_V2_LANGUAGES,
138
+ features: ["streaming", "timestamps"],
139
+ },
140
+ {
141
+ id: "eleven_flash_v2_5",
142
+ releaseDate: "2024-12-01",
143
+ languages: ELEVENLABS_FLASH_V2_5_LANGUAGES,
144
+ features: ["streaming", "timestamps"],
145
+ },
146
+ {
147
+ id: "eleven_flash_v2",
148
+ releaseDate: "2024-12-01",
149
+ languages: ["en"],
150
+ features: ["streaming", "timestamps"],
151
+ },
152
+ ];
5
153
  export class ElevenLabsSpeechProvider {
6
- id = "elevenlabs";
154
+ id = ELEVENLABS_PROVIDER_ID;
7
155
  defaultModel = "eleven_multilingual_v2";
8
- static V2_LANGUAGES = [
9
- "ar",
10
- "bg",
11
- "cs",
12
- "da",
13
- "de",
14
- "el",
15
- "en",
16
- "es",
17
- "fi",
18
- "fil",
19
- "fr",
20
- "he",
21
- "hi",
22
- "hr",
23
- "id",
24
- "it",
25
- "ja",
26
- "ko",
27
- "ms",
28
- "nl",
29
- "pl",
30
- "pt",
31
- "ro",
32
- "ru",
33
- "sk",
34
- "sv",
35
- "ta",
36
- "uk",
37
- "zh",
38
- ];
39
- static FLASH_V2_5_LANGUAGES = [
40
- ...ElevenLabsSpeechProvider.V2_LANGUAGES,
41
- "hu",
42
- "no",
43
- "vi",
44
- ];
45
- static V3_LANGUAGES = [
46
- "af",
47
- "ar",
48
- "hy",
49
- "as",
50
- "az",
51
- "be",
52
- "bn",
53
- "bs",
54
- "bg",
55
- "ca",
56
- "ceb",
57
- "ny",
58
- "hr",
59
- "cs",
60
- "da",
61
- "nl",
62
- "en",
63
- "et",
64
- "fil",
65
- "fi",
66
- "fr",
67
- "gl",
68
- "ka",
69
- "de",
70
- "el",
71
- "gu",
72
- "ha",
73
- "he",
74
- "hi",
75
- "hu",
76
- "is",
77
- "id",
78
- "ga",
79
- "it",
80
- "ja",
81
- "jv",
82
- "kn",
83
- "kk",
84
- "ky",
85
- "ko",
86
- "lv",
87
- "ln",
88
- "lt",
89
- "lb",
90
- "mk",
91
- "ms",
92
- "ml",
93
- "zh",
94
- "mr",
95
- "ne",
96
- "no",
97
- "ps",
98
- "fa",
99
- "pl",
100
- "pt",
101
- "pa",
102
- "ro",
103
- "ru",
104
- "sr",
105
- "sd",
106
- "sk",
107
- "sl",
108
- "so",
109
- "es",
110
- "sw",
111
- "sv",
112
- "ta",
113
- "te",
114
- "th",
115
- "tr",
116
- "uk",
117
- "ur",
118
- "vi",
119
- "cy",
120
- ];
121
- models = [
122
- {
123
- id: "eleven_v3",
124
- releaseDate: "2025-06-08",
125
- languages: ElevenLabsSpeechProvider.V3_LANGUAGES,
126
- features: ["streaming", "audio-tags"],
127
- },
128
- {
129
- id: "eleven_multilingual_v2",
130
- releaseDate: "2023-08-22",
131
- languages: ElevenLabsSpeechProvider.V2_LANGUAGES,
132
- features: ["streaming"],
133
- },
134
- {
135
- id: "eleven_flash_v2_5",
136
- releaseDate: "2024-12-01",
137
- languages: ElevenLabsSpeechProvider.FLASH_V2_5_LANGUAGES,
138
- features: ["streaming"],
139
- },
140
- {
141
- id: "eleven_flash_v2",
142
- releaseDate: "2024-12-01",
143
- languages: ["en"],
144
- features: ["streaming"],
145
- },
146
- ];
156
+ models = ELEVENLABS_MODELS;
147
157
  apiKey;
148
158
  baseURL;
149
159
  fetchFn;
@@ -161,8 +171,9 @@ export class ElevenLabsSpeechProvider {
161
171
  model_id: modelId,
162
172
  };
163
173
  const queryParams = new URLSearchParams();
164
- if (output_format != null) {
165
- queryParams.set("output_format", String(output_format));
174
+ const outputFormat = output_format == null ? undefined : String(output_format);
175
+ if (outputFormat != null) {
176
+ queryParams.set("output_format", outputFormat);
166
177
  }
167
178
  if (enable_logging != null) {
168
179
  queryParams.set("enable_logging", String(enable_logging));
@@ -170,7 +181,7 @@ export class ElevenLabsSpeechProvider {
170
181
  if (optimize_streaming_latency != null) {
171
182
  queryParams.set("optimize_streaming_latency", String(optimize_streaming_latency));
172
183
  }
173
- return { body, queryString: queryParams.toString() };
184
+ return { body, queryString: queryParams.toString(), outputFormat };
174
185
  }
175
186
  processAudioTags(text, modelId) {
176
187
  if (this.models.some((m) => m.id === modelId && hasFeature(m, "audio-tags"))) {
@@ -182,8 +193,12 @@ export class ElevenLabsSpeechProvider {
182
193
  if (!options.voice) {
183
194
  throw new SpeechSDKError("ElevenLabs requires a voice ID. Pass it via the voice option.");
184
195
  }
185
- const { body, queryString } = this.buildRequest(options.text, options.modelId, options.providerOptions);
186
- let url = `${this.baseURL}/v1/text-to-speech/${options.voice}`;
196
+ const { body, queryString, outputFormat } = this.buildRequest(options.text, options.modelId, options.providerOptions);
197
+ // /with-timestamps returns base64 audio + character-level alignment in JSON; we aggregate characters → words before returning.
198
+ const path = options.includeTimestamps
199
+ ? `/v1/text-to-speech/${options.voice}/with-timestamps`
200
+ : `/v1/text-to-speech/${options.voice}`;
201
+ let url = `${this.baseURL}${path}`;
187
202
  if (queryString) {
188
203
  url += `?${queryString}`;
189
204
  }
@@ -198,18 +213,38 @@ export class ElevenLabsSpeechProvider {
198
213
  body: JSON.stringify(body),
199
214
  signal: options.abortSignal,
200
215
  });
201
- await handleErrorResponse(response, `elevenlabs/${options.modelId}`);
202
- const arrayBuffer = await response.arrayBuffer();
203
- const mediaType = response.headers.get("content-type") ?? "audio/mpeg";
216
+ await handleErrorResponse(response);
204
217
  const requestId = response.headers.get("request-id");
205
218
  const durationHeader = response.headers.get("audio-duration-seconds");
206
219
  const parsedDuration = durationHeader == null ? Number.NaN : Number.parseFloat(durationHeader);
207
- const audioDurationMs = Number.isFinite(parsedDuration)
220
+ const headerDurationMs = Number.isFinite(parsedDuration)
208
221
  ? Math.round(parsedDuration * 1000)
209
222
  : undefined;
223
+ if (options.includeTimestamps) {
224
+ const payload = withTimestampsResponseSchema.parse(await response.json());
225
+ if (!payload.audio_base64) {
226
+ throw new SpeechSDKError(`elevenlabs/${options.modelId}: /with-timestamps response missing audio_base64`);
227
+ }
228
+ const audio = base64ToUint8Array(payload.audio_base64);
229
+ // normalized_alignment matches what was actually spoken (expanded numbers/abbreviations).
230
+ const alignment = payload.normalized_alignment ?? payload.alignment ?? null;
231
+ const timestamps = alignment
232
+ ? alignmentToWordTimestamps(alignment)
233
+ : undefined;
234
+ return {
235
+ audio,
236
+ audioDurationMs: headerDurationMs,
237
+ // No Content-Type for base64-in-JSON audio bytes; derive from output_format.
238
+ mediaType: elevenLabsFormatToMediaType(outputFormat),
239
+ providerMetadata: requestId ? { requestId } : undefined,
240
+ timestamps,
241
+ };
242
+ }
243
+ const arrayBuffer = await response.arrayBuffer();
244
+ const mediaType = response.headers.get("content-type") ?? "audio/mpeg";
210
245
  return {
211
246
  audio: new Uint8Array(arrayBuffer),
212
- audioDurationMs,
247
+ audioDurationMs: headerDurationMs,
213
248
  mediaType,
214
249
  providerMetadata: requestId ? { requestId } : undefined,
215
250
  };
@@ -234,7 +269,7 @@ export class ElevenLabsSpeechProvider {
234
269
  body: JSON.stringify(body),
235
270
  signal: options.abortSignal,
236
271
  });
237
- await handleErrorResponse(response, `elevenlabs/${options.modelId}`);
272
+ await handleErrorResponse(response);
238
273
  if (!response.body) {
239
274
  throw new Error(`elevenlabs/${options.modelId}: response has no body`);
240
275
  }
@@ -258,13 +293,13 @@ export class ElevenLabsSpeechProvider {
258
293
  mediaType: "audio/pcm;rate=24000",
259
294
  };
260
295
  }
261
- return undefined;
296
+ return;
262
297
  }
263
298
  dialogueCapabilities(modelId) {
264
299
  if (modelId === "eleven_v3") {
265
300
  return { minVoices: 1, maxVoices: 10, maxTotalChars: 2000 };
266
301
  }
267
- return undefined;
302
+ return;
268
303
  }
269
304
  async generateDialogue(options) {
270
305
  if (options.modelId !== "eleven_v3") {
@@ -294,7 +329,7 @@ export class ElevenLabsSpeechProvider {
294
329
  body: JSON.stringify(body),
295
330
  signal: options.abortSignal,
296
331
  });
297
- await handleErrorResponse(response, `elevenlabs/${options.modelId}`);
332
+ await handleErrorResponse(response);
298
333
  const arrayBuffer = await response.arrayBuffer();
299
334
  const mediaType = response.headers.get("content-type") ?? "audio/mpeg";
300
335
  const requestId = response.headers.get("request-id");
@@ -307,11 +342,38 @@ export class ElevenLabsSpeechProvider {
307
342
  }
308
343
  export function createElevenLabs(config = {}) {
309
344
  const provider = new ElevenLabsSpeechProvider(config);
345
+ const fallbackSTT = config.fallbackSTT;
310
346
  return function elevenlabs(modelId) {
311
347
  return {
312
348
  provider,
313
349
  modelId: modelId ?? provider.defaultModel,
350
+ ...(fallbackSTT && { fallbackSTT }),
314
351
  };
315
352
  };
316
353
  }
354
+ // Unknown formats fall back to mp3 (the endpoint's default).
355
+ function elevenLabsFormatToMediaType(format) {
356
+ if (!format) {
357
+ return "audio/mpeg";
358
+ }
359
+ if (format.startsWith("mp3_")) {
360
+ return "audio/mpeg";
361
+ }
362
+ if (format.startsWith("pcm_")) {
363
+ const rate = Number.parseInt(format.slice(4), 10);
364
+ return Number.isFinite(rate) && rate > 0
365
+ ? `audio/pcm;rate=${rate}`
366
+ : "audio/pcm";
367
+ }
368
+ if (format.startsWith("ulaw_")) {
369
+ const rate = Number.parseInt(format.slice(5), 10);
370
+ return Number.isFinite(rate) && rate > 0
371
+ ? `audio/basic;rate=${rate}`
372
+ : "audio/basic";
373
+ }
374
+ if (format.startsWith("opus_")) {
375
+ return "audio/opus";
376
+ }
377
+ return "audio/mpeg";
378
+ }
317
379
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/elevenlabs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/elevenlabs/index.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,19 @@
1
- import type { ResolvedModel, SpeechProvider } from "../../speech-provider.js";
1
+ import type { ModelInfo, ResolvedModel, SpeechProvider } from "../../speech-provider.js";
2
+ import type { ResolvedSTTModel } from "../../speech-to-text-provider.js";
2
3
  export interface FalSpeechProviderConfig {
3
4
  apiKey?: string;
4
5
  baseURL?: string;
6
+ fallbackSTT?: ResolvedSTTModel;
5
7
  fetch?: typeof globalThis.fetch;
6
8
  }
9
+ export declare const FAL_PROVIDER_ID: "fal-ai";
10
+ export declare const FAL_MODELS: readonly ModelInfo[];
7
11
  export declare class FalSpeechProvider implements SpeechProvider<string, string | {
8
12
  url: string;
9
13
  }> {
10
- readonly id = "fal-ai";
14
+ readonly id: "fal-ai";
11
15
  readonly defaultModel = "";
12
- readonly models: readonly [{
13
- readonly id: "f5-tts";
14
- readonly releaseDate: "2024-10-08";
15
- readonly languages: readonly ["en", "zh", "fr", "it", "hi", "ja", "ru", "es", "fi"];
16
- readonly features: readonly ["open-source", "inline-voice-cloning"];
17
- }, {
18
- readonly id: "kokoro";
19
- readonly releaseDate: "2025-01-27";
20
- readonly languages: readonly ["en", "fr", "ko", "ja", "zh"];
21
- readonly features: readonly ["open-source"];
22
- }, {
23
- readonly id: "dia-tts";
24
- readonly releaseDate: "2025-04-21";
25
- readonly languages: readonly ["en"];
26
- readonly features: readonly ["open-source", "inline-voice-cloning"];
27
- }, {
28
- readonly id: "orpheus-tts";
29
- readonly releaseDate: "2025-03-18";
30
- readonly languages: readonly ["en", "es", "fr", "de", "it", "pt", "zh"];
31
- readonly features: readonly ["open-source"];
32
- }];
16
+ readonly models: readonly ModelInfo[];
33
17
  private readonly apiKey;
34
18
  private readonly baseURL;
35
19
  private readonly fetchFn;
@@ -56,26 +40,6 @@ export declare class FalSpeechProvider implements SpeechProvider<string, string
56
40
  providerOptions: {};
57
41
  mediaType: string;
58
42
  } | undefined;
59
- dialogueCapabilities(modelId: string): {
60
- minVoices: number;
61
- maxVoices: number;
62
- } | undefined;
63
- generateDialogue(options: {
64
- modelId: string;
65
- turns: readonly {
66
- voice: string | {
67
- url: string;
68
- };
69
- text: string;
70
- }[];
71
- providerOptions?: Record<string, unknown>;
72
- abortSignal?: AbortSignal;
73
- headers?: Record<string, string>;
74
- }): Promise<{
75
- audio: Uint8Array;
76
- mediaType: string;
77
- providerMetadata?: Record<string, unknown>;
78
- }>;
79
43
  }
80
44
  export declare function createFal(config?: FalSpeechProviderConfig): (modelId?: string) => ResolvedModel<string | {
81
45
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/fal/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,qBAAa,iBACX,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;IAE3D,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,YAAY,MAAM;IAE3B,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,uBAAuB;IAMrC,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,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;YA0CY,UAAU;IA4BxB,MAAM,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpD,gBAAgB,CAAC,OAAO,EAAE,MAAM;;;;IAahC,oBAAoB,CAAC,OAAO,EAAE,MAAM;;;;IAO9B,gBAAgB,CAAC,OAAO,EAAE;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,SAAS;YAAE,KAAK,EAAE,MAAM,GAAG;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACpE,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;CAyDH;AAED,wBAAgB,SAAS,CAAC,MAAM,GAAE,uBAA4B,IAI1D,UAAU,MAAM,KACf,aAAa,CAAC,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAM3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/fal/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AASzE,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AAEjD,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAmBjC,CAAC;AAEX,qBAAa,iBACX,YAAW,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;IAE3D,QAAQ,CAAC,EAAE,WAAmB;IAC9B,QAAQ,CAAC,YAAY,MAAM;IAE3B,QAAQ,CAAC,MAAM,uBAAc;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,MAAM,EAAE,uBAAuB;IAMrC,QAAQ,CAAC,OAAO,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,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;YAwCY,UAAU;IAyBxB,MAAM,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpD,gBAAgB,CAAC,OAAO,EAAE,MAAM;;;;CAUjC;AAED,wBAAgB,SAAS,CAAC,MAAM,GAAE,uBAA4B,IAK1D,UAAU,MAAM,KACf,aAAa,CAAC,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3C"}