{"_id":"@caleblawson/voice-speechify","name":"@caleblawson/voice-speechify","dist-tags":{"latest":"0.10.3"},"versions":{"0.10.3":{"name":"@caleblawson/voice-speechify","version":"0.10.3","description":"Mastra Speechify 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":{"@speechify/api-sdk":"^2.5.4","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","@internal/lint":"0.0.13","@mastra/core":"npm:@caleblawson/core@0.10.7-alpha.0"},"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":"pnpm build --watch","lint":"eslint .","test":"vitest run"},"gitHead":"c31e90130a5c9765c23f688ecea70adc6164543d","_id":"@caleblawson/voice-speechify@0.10.3","_integrity":"sha512-G+iy6Dwbhg73/uu1wLTuS8p00Obm72nQbHdw702CWmJThJfbcpCZo9sPdir6St3U3e2vqYccT5BgCwdUauDZMQ==","_resolved":"C:\\Users\\caleb\\AppData\\Local\\Temp\\e963077e03f9a97234dcdf23976ec9bb\\caleblawson-voice-speechify-0.10.3.tgz","_from":"file:caleblawson-voice-speechify-0.10.3.tgz","_nodeVersion":"21.2.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-G+iy6Dwbhg73/uu1wLTuS8p00Obm72nQbHdw702CWmJThJfbcpCZo9sPdir6St3U3e2vqYccT5BgCwdUauDZMQ==","shasum":"300d1c4f8945b17d7a21f1a955e03297df7f7f4c","tarball":"https://registry.npmjs.org/@caleblawson/voice-speechify/-/voice-speechify-0.10.3.tgz","fileCount":9,"unpackedSize":75399,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICqRoadKv9DNc4JvNmQaqvW0Aya1UwhAab1aOfjFAEp2AiEAzAIuBGWNBw3jh6QMzkCnLI2ke8sCS8kylb1MAxq+C/Q="}]},"_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-speechify_0.10.3_1750741072177_0.21705818172326086"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-24T04:57:51.784Z","0.10.3":"2025-06-24T04:57:52.361Z","modified":"2025-06-24T04:57:52.616Z"},"maintainers":[{"name":"caleblawson","email":"caleb.lawson@dynapt.com"}],"description":"Mastra Speechify voice integration","license":"Elastic-2.0","readme":"# @mastra/voice-speechify\r\n\r\nMastra Voice integration with Speechify's API.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @mastra/voice-speechify\r\n```\r\n\r\n## Usage\r\n\r\nFirst, set your Speechify API key in your environment:\r\n\r\n```bash\r\nexport SPEECHIFY_API_KEY=your_api_key_here\r\n```\r\n\r\nThen use it in your code:\r\n\r\n```typescript\r\nimport { SpeechifyVoice } from '@mastra/voice-speechify';\r\n\r\nconst voice = new SpeechifyVoice({\r\n  speechModel: {\r\n    name: 'simba-english', // Optional, defaults to 'simba-english'\r\n    apiKey: 'your-api-key', // Optional, can use SPEECHIFY_API_KEY env var\r\n  },\r\n  speaker: 'george', // Optional, defaults to 'george'\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 world', {\r\n  speaker: 'george', // Optional, defaults to constructor speaker\r\n  // Additional Speechify options\r\n  audioFormat: 'mp3',\r\n});\r\n\r\n// The stream can be piped to a destination\r\nstream.pipe(destination);\r\n```\r\n\r\n## Configuration\r\n\r\nThe `SpeechifyVoice` constructor accepts the following options:\r\n\r\n```typescript\r\ninterface SpeechifyConfig {\r\n  name?: string; // Optional Speechify model name (default: 'simba-english')\r\n  apiKey?: string; // Optional API key (can also use env var)\r\n}\r\n\r\nnew SpeechifyVoice({\r\n  speechModel?: SpeechifyConfig,\r\n  speaker?: string // Optional default speaker ID\r\n})\r\n```\r\n\r\n## Available Speakers\r\n\r\nYou can get a list of available speakers:\r\n\r\n```typescript\r\nconst speakers = await voice.getSpeakers();\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-633f73a8665f42338ce3a2340f8d398b"}