REVERIE · TTS

External speakers

Register a speaker hosted by another provider under a local name. The registry stores the provider voice ID, model ID, and optional tuning values.

WARNING
All /v1/tts/external-speakers endpoints require a Dev API key in the x-api-key header.

External speaker object

FieldTypeDefaultDescription
namestring-Unique speaker identifier
providerstring-Provider name, such as elevenlabs
voice_idstring-Provider-side voice identifier
model_idstring-Provider-side model identifier
stabilityfloat-Provider tuning value, 0.0–1.0
similarity_boostfloat-Provider tuning value, 0.0–1.0
stylefloat-Provider tuning value, 0.0–1.0
use_speaker_boostboolean-Provider tuning flag
created_atstring-ISO creation timestamp
updated_atstring-ISO update timestamp
clientstring-API key client name that created the speaker
versioninteger-Revision counter; increments on update
deletedboolean-Whether the speaker is soft-deleted

List and get

GEThttps://api.lucidweights.ai/v1/tts/external-speakers
GEThttps://api.lucidweights.ai/v1/tts/external-speakers/{name}

The list returns {"speakers": [...]}. Soft-deleted records are excluded by default. Use include_deleted=true to include or fetch them. Getting an unknown name returns 404.

Example
curl "https://api.lucidweights.ai/v1/tts/external-speakers" \
  -H "x-api-key: YOUR_DEV_API_KEY"

Create

POSThttps://api.lucidweights.ai/v1/tts/external-speakers

Send JSON with a unique name and provider voice_id. Omitted tuning fields use the provider's defaults. A successful create returns the speaker object with HTTP 201; a duplicate name returns 409.

FieldTypeDefaultDescription
namestringrequiredUnique local speaker identifier
voice_idstringrequiredProvider-side voice identifier
providerstringelevenlabsProvider name
model_idstring-Provider-side model identifier
stabilityfloat-Provider tuning value, 0.0–1.0
similarity_boostfloat-Provider tuning value, 0.0–1.0
stylefloat-Provider tuning value, 0.0–1.0
use_speaker_boostboolean-Provider tuning flag
Example
curl -X POST "https://api.lucidweights.ai/v1/tts/external-speakers" \
  -H "x-api-key: YOUR_DEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "rosa",
    "voice_id": "PROVIDER_VOICE_ID",
    "provider": "elevenlabs",
    "model_id": "eleven_multilingual_v2",
    "stability": 0.5,
    "similarity_boost": 0.75
  }'

Update

PATCHhttps://api.lucidweights.ai/v1/tts/external-speakers/{name}

Send only the fields to change: voice_id, model_id, or any tuning value above. The response is the updated object; an unknown name returns 404.

Example
curl -X PATCH "https://api.lucidweights.ai/v1/tts/external-speakers/rosa" \
  -H "x-api-key: YOUR_DEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stability":0.65}'

Delete and restore

DELETEhttps://api.lucidweights.ai/v1/tts/external-speakers/{name}
POSThttps://api.lucidweights.ai/v1/tts/external-speakers/{name}/restore

Delete is soft and returns the object with deleted: true. Restore returns it with deleted: false. An unknown name returns 404.