{"_id":"@elizaos/plugin-elevenlabs-root","_rev":"4-484ddc932735b31720c3e53e2733b30d","name":"@elizaos/plugin-elevenlabs-root","dist-tags":{"next":"2.0.0-alpha.1","latest":"2.0.0-alpha.1"},"versions":{"2.0.0-alpha.1":{"name":"@elizaos/plugin-elevenlabs-root","version":"2.0.0-alpha.1","keywords":["elizaos","plugin","tts","stt","text-to-speech","speech-to-text","elevenlabs","voice-synthesis","transcription","ai"],"author":{"name":"ElizaOS Team"},"license":"MIT","_id":"@elizaos/plugin-elevenlabs-root@2.0.0-alpha.1","maintainers":[{"name":"shawticus","email":"shawmakesmagic@gmail.com"},{"name":"shakkernerd","email":"shakkerdroid@gmail.com"},{"name":"wtfsayo","email":"hi@sayo.wtf"},{"name":"odilitime","email":"janesmith@airmail.cc"},{"name":"cjft","email":"cjft@trimboli.io"}],"homepage":"https://github.com/elizaos-plugins/plugin-elevenlabs#readme","bugs":{"url":"https://github.com/elizaos-plugins/plugin-elevenlabs/issues"},"dist":{"shasum":"41880123f7376cc9783878ba9485aa43bada4225","tarball":"https://registry.npmjs.org/@elizaos/plugin-elevenlabs-root/-/plugin-elevenlabs-root-2.0.0-alpha.1.tgz","fileCount":59,"integrity":"sha512-juOmE2QQFbjupxlutKk9bFBGsUxTlzuEZ0uMdj1KCS7a5WpWNVk6Druoc7ImyC9mhx1e2dgu1EPOKQHv4UXWng==","signatures":[{"sig":"MEUCIQDg5749hHsJaH6novsg0grY4e1QgmUCUb0j0xbLm+tLngIgGJJhL7rUDI37Mi7l6FTa+Y/Avwj5I2soeJkzZmvmFfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29739798},"main":"typescript/dist/node/index.node.js","type":"module","types":"typescript/dist/index.d.ts","browser":"typescript/dist/browser/index.browser.js","exports":{".":{"node":{"types":"./typescript/dist/node/index.d.ts","import":"./typescript/dist/node/index.node.js","default":"./typescript/dist/node/index.node.js","require":"./typescript/dist/cjs/index.node.cjs"},"types":"./typescript/dist/index.d.ts","browser":{"types":"./typescript/dist/browser/index.d.ts","import":"./typescript/dist/browser/index.browser.js","default":"./typescript/dist/browser/index.browser.js"},"default":"./typescript/dist/node/index.node.js"},"./package.json":"./package.json"},"gitHead":"05d4ca11d769db8c7f54a722ee24b2ce2b951543","scripts":{"dev":"cd typescript && bun --hot build.ts","lint":"bun run lint:ts && bun run lint:rust && bun run lint:python","test":"bun run test:ts && bun run test:rust && bun run test:python","build":"bun run build:ts && bun run build:rust && bun run build:python","clean":"rm -rf typescript/dist python/dist rust/target .turbo node_modules","lint:ts":"prettier --write ./typescript/src","test:ts":"cd typescript && elizaos test || echo 'TypeScript tests skipped'","build:ts":"cd typescript && bun run build.ts","lint:rust":"test -d rust && cd rust && cargo clippy --all-targets --fix --allow-dirty --allow-staged -- -D warnings && cargo fmt || echo 'Rust lint skipped'","test:rust":"test -d rust && cd rust && cargo test || echo 'Rust tests skipped'","typecheck":"tsc --noEmit -p typescript/tsconfig.json","build:rust":"test -d rust && cd rust && cargo build --release || echo 'Rust build skipped - no rust directory'","lint:check":"prettier --check ./typescript/src","lint:python":"test -d python && cd python && ruff check --fix . && ruff format . || echo 'Python lint skipped'","test:python":"test -d python && cd python && pip install pytest pytest-asyncio pytest-cov --quiet && pytest || echo 'Python tests skipped'","build:python":"test -d python && cd python && (python3 -m build 2>/dev/null || pyproject-build) || echo 'Python build skipped - no python directory'"},"_npmUser":{"name":"shawticus","email":"shawmakesmagic@gmail.com"},"repository":{"url":"git+https://github.com/elizaos-plugins/plugin-elevenlabs.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v22.20.0+arm64 (darwin)","description":"High-quality text-to-speech and speech-to-text plugin for ElizaOS using ElevenLabs API","directories":{},"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.6.2","@types/bun":"^1.2.22","typescript":"^5.9.2","@types/node":"^24.5.2"},"peerDependencies":{"@elizaos/core":"2.0.0-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/plugin-elevenlabs-root_2.0.0-alpha.1_1769033601060_0.9613572198572888","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-21T22:13:20.967Z","modified":"2026-06-16T05:14:17.168Z","2.0.0-alpha.1":"2026-01-21T22:13:21.265Z"},"bugs":{"url":"https://github.com/elizaos-plugins/plugin-elevenlabs/issues"},"author":{"name":"ElizaOS Team"},"license":"MIT","homepage":"https://github.com/elizaos-plugins/plugin-elevenlabs#readme","keywords":["elizaos","plugin","tts","stt","text-to-speech","speech-to-text","elevenlabs","voice-synthesis","transcription","ai"],"repository":{"url":"git+https://github.com/elizaos-plugins/plugin-elevenlabs.git","type":"git"},"description":"High-quality text-to-speech and speech-to-text plugin for ElizaOS using ElevenLabs API","maintainers":[{"email":"shawmakesmagic@gmail.com","name":"shawticus"},{"email":"janesmith@airmail.cc","name":"odilitime"}],"readme":"# ElevenLabs Plugin for ElizaOS\n\nHigh-quality text-to-speech (TTS) and speech-to-text (STT) plugin for ElizaOS using the ElevenLabs API.\n\n## Features\n\n- **Text-to-Speech (TTS)**: High-quality voice synthesis with multiple voice models\n- **Speech-to-Text (STT)**: Accurate transcription with Scribe v1 model\n- **Speaker Diarization**: Identify up to 32 different speakers\n- **Multi-language Support**: 99 languages for STT\n- **Audio Event Detection**: Detect laughter, applause, and other audio events\n- **Streaming Support**: Efficient memory usage with streaming audio output\n- **Multi-runtime**: Available for TypeScript, Python, and Rust\n\n## Installation\n\n### TypeScript (npm)\n\n```bash\nnpm install @elizaos/plugin-elevenlabs\n# or\nbun add @elizaos/plugin-elevenlabs\n```\n\n### Python (PyPI)\n\n```bash\npip install eliza-plugin-elevenlabs\n```\n\n### Rust (crates.io)\n\nAdd to your `Cargo.toml`:\n\n```toml\n[dependencies]\neliza-plugin-elevenlabs = \"0.1.0\"\n```\n\n## Quick Start\n\n### TypeScript\n\n```typescript\nimport { elevenLabsPlugin } from '@elizaos/plugin-elevenlabs';\n\n// Add to your character configuration\nconst character = {\n  plugins: ['@elizaos/plugin-elevenlabs'],\n  settings: {\n    ELEVENLABS_API_KEY: 'your-api-key',\n  },\n};\n```\n\n### Python\n\n```python\nfrom eliza_plugin_elevenlabs import ElevenLabsService\n\nasync with ElevenLabsService(api_key=\"your-api-key\") as service:\n    # Text-to-speech\n    audio = await service.text_to_speech_bytes(\"Hello, world!\")\n    \n    # Speech-to-text\n    transcript = await service.speech_to_text(audio_bytes)\n```\n\n### Rust\n\n```rust\nuse eliza_plugin_elevenlabs::ElevenLabsService;\n\n#[tokio::main]\nasync fn main() -> Result<(), Box<dyn std::error::Error>> {\n    let service = ElevenLabsService::new(\"your-api-key\");\n    \n    // Text-to-speech\n    let audio = service.text_to_speech(\"Hello, world!\").await?;\n    \n    // Speech-to-text\n    let transcript = service.speech_to_text(&audio).await?;\n    \n    Ok(())\n}\n```\n\n## Configuration\n\n| Environment Variable | Description | Default |\n|---------------------|-------------|---------|\n| `ELEVENLABS_API_KEY` | ElevenLabs API key | **Required** |\n| `ELEVENLABS_VOICE_ID` | Voice ID for TTS | `EXAVITQu4vr4xnSDxMaL` |\n| `ELEVENLABS_MODEL_ID` | TTS model ID | `eleven_monolingual_v1` |\n| `ELEVENLABS_VOICE_STABILITY` | Voice stability (0-1) | `0.5` |\n| `ELEVENLABS_VOICE_SIMILARITY_BOOST` | Similarity boost (0-1) | `0.75` |\n| `ELEVENLABS_VOICE_STYLE` | Voice style intensity (0-1) | `0` |\n| `ELEVENLABS_VOICE_USE_SPEAKER_BOOST` | Enable speaker boost | `true` |\n| `ELEVENLABS_OPTIMIZE_STREAMING_LATENCY` | Latency optimization (0-4) | `0` |\n| `ELEVENLABS_OUTPUT_FORMAT` | Audio output format | `mp3_44100_128` |\n| `ELEVENLABS_BROWSER_URL` | Browser proxy URL | - |\n| `ELEVENLABS_STT_MODEL_ID` | STT model ID | `scribe_v1` |\n| `ELEVENLABS_STT_LANGUAGE_CODE` | Language code for STT | auto-detect |\n| `ELEVENLABS_STT_TIMESTAMPS_GRANULARITY` | Timestamp detail level | `word` |\n| `ELEVENLABS_STT_DIARIZE` | Enable speaker diarization | `false` |\n| `ELEVENLABS_STT_NUM_SPEAKERS` | Expected number of speakers (1-32) | - |\n| `ELEVENLABS_STT_TAG_AUDIO_EVENTS` | Tag audio events | `false` |\n\n## Project Structure\n\n```\nplugin-elevenlabs/\n├── package.json          # Root package with multi-language scripts\n├── README.md             # This file\n├── .gitignore\n├── .github/\n│   └── workflows/\n│       ├── ci.yml        # CI for all languages\n│       ├── npm-deploy.yml    # npm publishing\n│       ├── pypi-deploy.yml   # PyPI publishing\n│       └── crates-deploy.yml # crates.io publishing\n├── typescript/           # TypeScript implementation\n│   ├── package.json\n│   ├── src/\n│   └── README.md\n├── python/               # Python implementation\n│   ├── pyproject.toml\n│   ├── src/\n│   └── README.md\n└── rust/                 # Rust implementation\n    ├── Cargo.toml\n    ├── src/\n    └── README.md\n```\n\n## Development\n\n### Build All\n\n```bash\nbun run build\n```\n\n### Build Individual Languages\n\n```bash\nbun run build:ts      # TypeScript\nbun run build:python  # Python\nbun run build:rust    # Rust\n```\n\n### Test All\n\n```bash\nbun run test\n```\n\n### Test Individual Languages\n\n```bash\nbun run test:ts      # TypeScript\nbun run test:python  # Python\nbun run test:rust    # Rust\n```\n\n### Lint\n\n```bash\nbun run lint         # All languages\nbun run lint:ts      # TypeScript\nbun run lint:python  # Python\nbun run lint:rust    # Rust\n```\n\n## Model Types\n\n### TEXT_TO_SPEECH\n\nConverts text into spoken audio. Supports:\n- Multiple voice models\n- Configurable voice parameters\n- Streaming output\n- Various audio formats (MP3, PCM, etc.)\n\n### TRANSCRIPTION\n\nConverts audio/video into text transcripts. Supports:\n- 99 languages with auto-detection\n- Speaker diarization (up to 32 speakers)\n- Word/character-level timestamps\n- Audio event tagging\n\n## Supported Models\n\n### TTS Models\n- `eleven_monolingual_v1`\n- `eleven_multilingual_v1`\n- `eleven_multilingual_v2`\n- `eleven_turbo_v2`\n- `eleven_turbo_v2_5`\n\n### STT Models\n- `scribe_v1`\n\n## License\n\nMIT\n\n## Links\n\n- [ElevenLabs API Documentation](https://docs.elevenlabs.io/)\n- [ElizaOS Documentation](https://elizaos.github.io/)\n- [GitHub Repository](https://github.com/elizaos-plugins/plugin-elevenlabs)\n","readmeFilename":"README.md"}