{"_id":"@caleblawson/voice-elevenlabs","name":"@caleblawson/voice-elevenlabs","dist-tags":{"latest":"0.10.3"},"versions":{"0.10.3":{"name":"@caleblawson/voice-elevenlabs","version":"0.10.3","description":"Mastra ElevenLabs voice integration","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"license":"Elastic-2.0","dependencies":{"elevenlabs":"^1.59.0","zod":"^3.25.57"},"devDependencies":{"@microsoft/api-extractor":"^7.52.8","@types/node":"^20.19.0","eslint":"^9.28.0","tsup":"^8.5.0","typescript":"^5.8.3","vitest":"^2.1.9","@mastra/core":"npm:@caleblawson/core@0.10.7-alpha.0","@internal/lint":"0.0.13"},"peerDependencies":{"@mastra/core":"^0.10.0-alpha.0"},"scripts":{"build":"tsup src/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting","build:watch":"tsup build --watch","test":"vitest run","lint":"eslint ."},"gitHead":"c31e90130a5c9765c23f688ecea70adc6164543d","_id":"@caleblawson/voice-elevenlabs@0.10.3","_integrity":"sha512-dsfKsoNdohEQTD0WOlktdCrG39rHRMr8ajfuRsdH2XwYzhVy2skcRUCWv5j9OARP0iwh+e3h6q9+wM59PJ0G/w==","_resolved":"C:\\Users\\caleb\\AppData\\Local\\Temp\\b3f3344893c6aae9d6e39d007493425e\\caleblawson-voice-elevenlabs-0.10.3.tgz","_from":"file:caleblawson-voice-elevenlabs-0.10.3.tgz","_nodeVersion":"21.2.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-dsfKsoNdohEQTD0WOlktdCrG39rHRMr8ajfuRsdH2XwYzhVy2skcRUCWv5j9OARP0iwh+e3h6q9+wM59PJ0G/w==","shasum":"5874f18aa8be4869e076e332c1b4025b944028f7","tarball":"https://registry.npmjs.org/@caleblawson/voice-elevenlabs/-/voice-elevenlabs-0.10.3.tgz","fileCount":9,"unpackedSize":26180,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBIFHHDKfGlzQcVgx1fZT72f2fVN+GAds5TYijQV3upjAiEAlXhP0mX73dOxPZIU0PAtvUxyyemW80+SPSNowQ1MWaI="}]},"_npmUser":{"name":"caleblawson","email":"caleb.lawson@dynapt.com","actor":{"name":"caleblawson","email":"caleb.lawson@dynapt.com","type":"user"}},"directories":{},"maintainers":[{"name":"caleblawson","email":"caleb.lawson@dynapt.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/voice-elevenlabs_0.10.3_1750741043371_0.30406441082828106"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-24T04:57:23.265Z","0.10.3":"2025-06-24T04:57:23.540Z","modified":"2025-06-24T04:57:23.818Z"},"maintainers":[{"name":"caleblawson","email":"caleb.lawson@dynapt.com"}],"description":"Mastra ElevenLabs voice integration","license":"Elastic-2.0","readme":"# @mastra/voice-elevenlabs\r\n\r\nElevenLabs Voice integration for Mastra, providing Text-to-Speech (TTS) capabilities using ElevenLabs' advanced AI voice technology.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @mastra/voice-elevenlabs\r\n```\r\n\r\n## Configuration\r\n\r\nThe module requires the following environment variable:\r\n\r\n```bash\r\nELEVENLABS_API_KEY=your_api_key\r\n```\r\n\r\n## Usage\r\n\r\n```typescript\r\nimport { ElevenLabsVoice } from '@mastra/voice-elevenlabs';\r\n\r\n// Initialize with configuration\r\nconst voice = new ElevenLabsVoice({\r\n  speechModel: {\r\n    name: 'eleven_multilingual_v2',\r\n    apiKey: 'your-api-key', // Optional, can use ELEVENLABS_API_KEY env var\r\n  },\r\n  speaker: 'Adam', // Default speaker\r\n});\r\n\r\n// List available speakers\r\nconst speakers = await voice.getSpeakers();\r\n\r\n// Generate speech\r\nconst stream = await voice.speak('Hello from Mastra!', {\r\n  speaker: 'Adam', // Optional, defaults to constructor speaker\r\n});\r\n```\r\n\r\n## Features\r\n\r\n- High-fidelity Text-to-Speech synthesis\r\n\r\n## Voice Options\r\n\r\nElevenLabs provides a variety of premium voices with different characteristics:\r\n\r\n- Adam (Male)\r\n- Antoni (Male)\r\n- Arnold (Male)\r\n- Bella (Female)\r\n- Dorothy (Female)\r\n- Elli (Female)\r\n- Josh (Male)\r\n- Rachel (Female)\r\n- Sam (Male)\r\n\r\nView the complete list of voices through the `getSpeakers()` method or in [ElevenLabs' documentation](https://docs.elevenlabs.io/api-reference/voices).\r\n\r\n## API Reference\r\n\r\n### Constructor\r\n\r\n```typescript\r\nnew ElevenLabsVoice({\r\n  speechModel?: {\r\n    name?: ElevenLabsModel, // Default: 'eleven_multilingual_v2'\r\n    apiKey?: string,        // Optional, can use ELEVENLABS_API_KEY env var\r\n  },\r\n  speaker?: string         // Default speaker ID\r\n})\r\n```\r\n\r\n### Methods\r\n\r\n#### `getSpeakers()`\r\n\r\nReturns a list of available speakers with their details.\r\n\r\n#### `speak(input: string | NodeJS.ReadableStream, options?: { speaker?: string })`\r\n\r\nConverts text to speech. Returns a readable stream of audio data.\r\n\r\n#### `listen()`\r\n\r\nNot supported - ElevenLabs does not provide speech recognition.\r\n","readmeFilename":"README.md","_rev":"1-23818da7c48be0bbde467a89708b7fb1"}