summaryrefslogtreecommitdiff
path: root/packages/ai/src/tts/eleven.ts
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-11-23 01:12:53 +0700
committerpolwex <polwex@sortug.com>2025-11-23 01:12:53 +0700
commitcb1b56f5a0eddbf77446f415f2beda57c8305f85 (patch)
treed333ca5c143063af8ee1b2f9e2d1d25f8ef2007c /packages/ai/src/tts/eleven.ts
wut
Diffstat (limited to 'packages/ai/src/tts/eleven.ts')
-rw-r--r--packages/ai/src/tts/eleven.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/ai/src/tts/eleven.ts b/packages/ai/src/tts/eleven.ts
new file mode 100644
index 0000000..c870b11
--- /dev/null
+++ b/packages/ai/src/tts/eleven.ts
@@ -0,0 +1,20 @@
+import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
+
+const elevenlabs = new ElevenLabsClient({
+ apiKey: Bun.env.ELEVEN_KEY!, // Defaults to process.env.ELEVENLABS_API_KEY
+});
+
+const models = await elevenlabs.models.list();
+for (const model of models) {
+ const langs = model.languages || [];
+ for (const lang of langs) {
+ if (lang.name === "Thai") console.log(model.modelId);
+ }
+}
+// ONLY eleven_v3 has Thai!
+// const audio = await elevenlabs.textToSpeech.convert("Xb7hH8MSUJpSbSDYk0k2", {
+// text: "Hello! 你好! Hola! नमस्ते! Bonjour! こんにちは! مرحبا! 안녕하세요! Ciao! Cześć! Привіт! வணக்கம்!",
+// modelId: "eleven_multilingual_v2",
+// });
+
+// await play(audio);