For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DocumentationAPI ReferenceSelf HostModel CardsClient LibrariesIntegrationsDeveloper ToolsChangelog
DocumentationAPI ReferenceSelf HostModel CardsClient LibrariesIntegrationsDeveloper ToolsChangelog
  • API References
    • Authentication
    • Concurrency and Limits
    • WebSocket
  • Text to Speech
    • POSTSynthesize Speech
    • STREAMStream Speech (SSE)
    • WSSStream Speech (WebSocket)
    • POSTLightning v3.1 (endpoint will be deprecated)
    • POSTLightning v3.1 SSE (endpoint will be deprecated)
    • WSSLightning v3.1 WebSocket (endpoint will be deprecated)
    • POSTLightning v2 (Deprecated)
    • POSTLightning v2 SSE (Deprecated)
    • WSSLightning v2 WebSocket (Deprecated)
    • GETGet Voices
    • POSTCreate a Voice Clone
    • GETList Voice Clones
    • DELDelete a Voice Clone
    • POSTAdd Voice (Deprecated)
    • GETGet Cloned Voices (Deprecated)
    • GETGet Pronunciation Dictionaries
    • POSTCreate Pronunciation Dictionary
    • PUTUpdate Pronunciation Dictionary
    • DELDelete Pronunciation Dictionary
  • Speech to Text
    • POSTPulse (Pre-Recorded)
    • WSSPulse (Realtime)
  • LLM (Chat Completions)
    • POSTElectron — Chat Completions
LogoLogo
Voice AgentsModels
Voice AgentsModels
Text to Speech

Add Voice (Deprecated)

Deprecated
||View as Markdown|
POST
https://api.smallest.ai/waves/v1/lightning-large/add_voice
POST
/waves/v1/lightning-large/add_voice
1import requests
2
3url = "https://api.smallest.ai/waves/v1/lightning-large/add_voice"
4
5files = { "file": "open('string', 'rb')" }
6payload = { "displayName": "string" }
7headers = {"Authorization": "Bearer <BearerAuth>"}
8
9response = requests.post(url, data=payload, files=files, headers=headers)
10
11print(response.json())
1{
2 "message": "string",
3 "data": {
4 "voiceId": "string",
5 "model": "string",
6 "status": "string"
7 }
8}
**Deprecated** — use `POST /waves/v1/voice-cloning` instead. The new endpoint defaults to `lightning-v3.1`, supports optional metadata, and returns pre-generated sample clips. This endpoint only clones onto `lightning-large` and the resulting voices do not work on `lightning-v3.1` (returns an empty WAV). Kept live for backward compatibility; new integrations should migrate.
Was this page helpful?
Previous

Delete a Voice Clone

Next

Get Cloned Voices (Deprecated)

Built with

Deprecated — use POST /waves/v1/voice-cloning instead. The new endpoint defaults to lightning-v3.1, supports optional metadata, and returns pre-generated sample clips. This endpoint only clones onto lightning-large and the resulting voices do not work on lightning-v3.1 (returns an empty WAV). Kept live for backward compatibility; new integrations should migrate.

Authentication

AuthorizationBearer

Header authentication of the form Bearer <token>

Request

This endpoint expects a multipart form containing a file.
displayNamestringRequired
Display name for the voice clone.
filefileRequired
Audio file to create voice clone from.

Response

Voice clone created successfully
messagestring
Message if the voice clone was created successfully.
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
500
Internal Server Error