elevenlabs-text-to-speech
Requires internet access and ELEVENLABS_API_KEY. Use the direct API, SDK, or CLI; no connected plugin or browser OAuth is required. If credentials are missing, use API-key setup. Load a chosen .env explicitly when needed; saving it does not automatically configure the process environment.
ElevenLabs Text-to-Speech
Generate natural speech from text - supports 90+ languages, multiple models for quality vs latency tradeoffs. Examples default to eleven_v4, the latest and highest-quality model.
Setup: See Installation Guide. For JavaScript, use
@elevenlabs/*packages only.
Local output and remote cleanup
Default: retain outputs locally and remove this task's remote generations after saving them. This also applies to previews, retries, test clips and streamed output. The examples below show generation only; complete these cleanup steps before reporting success.
- Capture response headers and returned resource IDs alongside the local output path. Finish the download or stream, then verify the actual audio/video decodes or the transcript parses and contains the expected result. A filename or nonzero size alone is insufficient.
- After verification and any dependent calls finish, delete only remote resources positively identified as created by this task. Keep IDs needed for cleanup locally until deletion is confirmed. Do not delete on a failed local save, while a dependent generation still needs the resource, or based only on voice, prompt or recency. Never bulk-delete unrelated history or voice profiles.
- Verify removal using the resource lookup or a fully paginated, appropriately filtered listing. An authentication error or missing item on just the first page is not proof. If cleanup fails, retry once for a transient failure, then report the remaining IDs and reason. Preserve local files.
Do not treat HTTP success with enable_logging=false as proof of zero retention. Our Creator-plan test accepted that parameter but still stored downloadable audio. Use it only where supported and verify the outcome. Report verified API removal, not guaranteed erasure from provider logs or backups. If deletion is unsupported or cannot be verified, report cleanup as incomplete.
For this skill, capture history-item-id when returned. Otherwise use the response request-id to match the exact item in GET /v1/history, following pagination. Do not substitute a request ID for a history item ID or guess from matching text. Use DELETE /v1/history/{history_item_id}, then verify the exact item is no longer available through GET /v1/history/{history_item_id}. If attribution is ambiguous, report the unresolved cleanup instead of deleting a candidate.