Skip to content
Back to skills

Playht

ASecurity

PlayHT text-to-speech: synthesize speech, list voices, and manage instant voice clones. Trigger phrases: playht, play ht, text to speech, TTS, voice clone.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
toolsgobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill playht --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Playht?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Playht
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-playht/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-playht)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "playht"
description: "PlayHT text-to-speech: synthesize speech, list voices, and manage instant voice clones. Trigger phrases: playht, play ht, text to speech, TTS, voice clone."
metadata: { "includeInPrompt": true }
tagline: "Generate spoken audio from text with PlayHT voices, browse stock and cloned voices, and create instant voice clones. Reach for this when the user wants narration or voiceovers, a voice library lookup, or a voice cloned from a sample."
catalog_auth: "API key via the secure credential flow"
catalog_hosts: ["api.play.ht"]
---

# PlayHT

## Purpose
Generate spoken audio from text with PlayHT voices, browse stock and cloned voices, and create instant voice clones. Reach for this when the user wants narration or voiceovers, a voice library lookup, or a voice cloned from a sample.

## Tooling
All commands go through `bin/playht.py`. PlayHT uses a single uppercase `AUTHORIZATION: Bearer <key>` header (older dual-header docs are stale); the CLI wires it through the credential surrogate.

```bash
bin/playht.py auth
# {"ok": true, "voices": 120} on success

bin/playht.py voices
# list stock voices (id, name, language, gender)

bin/playht.py tts --text "Welcome to the show." --voice-id <VOICE_ID> --out show.mp3
# streaming synthesis to a local MP3 file; prints the saved path

bin/playht.py clones
# list your cloned voices

bin/playht.py clone --json clone-body.json
# create an instant voice clone; body follows the current PlayHT docs
# for POST /api/v2/cloned-voices/instant/ (confirmation-gated)
```

Notes:
- `tts` returns audio binary. The CLI writes it to `--out` (default `playht-output.mp3`) and prints the resulting path. Max 20,000 characters per request; PlayHT rate-limits to 120 requests/min per key.
- Batch synthesis jobs are credit-consuming and confirmation-gated; they are not in this draft CLI.

## Auth
- Provider id: `playht` (credential is collected as `custom.playht`)
- Collection: PlayHT API key via the secure credential flow (`credentials.request_api_access`); generate one under Settings, then API, in the PlayHT dashboard
- Allowed hosts: `api.play.ht`
- Connect placement: `custom_header:AUTHORIZATION` (uppercase; the **stored credential value must include the `Bearer ` prefix**, since the helper places the header value verbatim: `AUTHORIZATION: Bearer <key>`)
- Status check: `bin/playht.py auth`

## Operating Rules
1. Synthesis is credit-metered and rate-limited (120 req/min, 20,000 chars/request). Keep `tts` calls within the character cap; split long scripts before calling.
2. **Voice cloning and batch synthesis are confirmation-gated**: confirm with the user before running `clone` or any batch job. Only clone voices the user has the right to clone.
3. Never log or print the raw key; the CLI only ever handles the surrogate.
4. Ignore older PlayHT docs that describe a dual-header scheme (`Authorization` + `X-USER-ID`); the current API uses the single uppercase `AUTHORIZATION` header.

## Files
- SKILL.md
- bin/playht.py

## Maturity
🧪 Draft: written from PlayHT's current public docs with paths cross-checked at build time; not yet live-tested end-to-end. TTS jobs (async batch synthesis) are not yet in the CLI.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…