Skip to main content
POST
List available speech voices, your saved custom voices, playable unexpired previews, and your voice creation allowances.

Authentication and permissions

string
required
Send a VoiceCheap API key in this header. Authorization: Bearer with the same API key is also supported. OAuth access tokens are accepted only by MCP, not by this REST endpoint.
Required permissions: voices:read. An active paid subscription is required. Permissions do not change team roles, resource ownership, media credits, or plan limits.

Parameters

Send an empty JSON object. This action has no input fields.
The JSON Schema below preserves the exact field names, nested types, defaults, bounds, and accepted values exposed by discovery. Additional cross-field rules are listed in the operation notes.

Request examples

Replace example resource identifiers and media keys with values returned for your account. Keep the request identifier stable when retrying the same mutation.

Response

A successful first execution returns HTTP 200 with the operation result under data. A replay may return saved request state instead. The example shows one supported response, not every optional field. Available TTS catalog voices and owned saved custom voices, saved-slot allowance, active unsaved previews, and voice creation allowances.

Result fields

Operation notes

  • The example catalog is shortened. The action returns the available TTS library with saved custom voices before catalog entries.
  • Use voices[].id in tts_generate. Saved voices use clone:<UUID>; catalog IDs are opaque. These IDs are separate from dubbing_voices_list.
  • Catalog entries include accent, gender, style, and previewFileName; previewUrl is optional. Saved custom entries include accent: original, source: clone, and a temporary previewUrl.
  • canClone indicates whether the plan supports saved custom TTS voices; remaining indicates free slots. Reserved creations can count toward used.
  • voicePreviews includes only owned, unsaved, ready candidates that have not expired. A preview lasts 24 hours; its playable URL can expire sooner.
  • cloneTrial is a lifetime allowance of one clone preview. Paid plans have five design requests per UTC day; each successful design creates two candidates. creationUsage reports the current allowance and reset time.
  • Speech history and custom voices belong to the authenticated account. Team billing does not grant access to another member’s speech or voices.

Usage

Each successful invocation consumes one monthly API/MCP call. Media credits and the operation’s own generation allowances also apply.

Errors