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.
External speaker object
| Field | Type | Default | Description |
|---|---|---|---|
| name | string | - | Unique speaker identifier |
| provider | string | - | Provider name, such as elevenlabs |
| voice_id | string | - | Provider-side voice identifier |
| model_id | string | - | Provider-side model identifier |
| stability | float | - | Provider tuning value, 0.0–1.0 |
| similarity_boost | float | - | Provider tuning value, 0.0–1.0 |
| style | float | - | Provider tuning value, 0.0–1.0 |
| use_speaker_boost | boolean | - | Provider tuning flag |
| created_at | string | - | ISO creation timestamp |
| updated_at | string | - | ISO update timestamp |
| client | string | - | API key client name that created the speaker |
| version | integer | - | Revision counter; increments on update |
| deleted | boolean | - | Whether the speaker is soft-deleted |
List and get
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.
curl "https://api.lucidweights.ai/v1/tts/external-speakers" \ -H "x-api-key: YOUR_DEV_API_KEY"
Create
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.
| Field | Type | Default | Description |
|---|---|---|---|
| name | string | required | Unique local speaker identifier |
| voice_id | string | required | Provider-side voice identifier |
| provider | string | elevenlabs | Provider name |
| model_id | string | - | Provider-side model identifier |
| stability | float | - | Provider tuning value, 0.0–1.0 |
| similarity_boost | float | - | Provider tuning value, 0.0–1.0 |
| style | float | - | Provider tuning value, 0.0–1.0 |
| use_speaker_boost | boolean | - | Provider tuning flag |
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
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.
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
Delete is soft and returns the object with deleted: true. Restore returns it with deleted: false. An unknown name returns 404.