List Voices
Query the voices available to the current tenant. Voices are uniformly identified by a voice id, referenced by endpoints such as Single-speaker Speech.
Authentication
Add Authorization: Bearer <API_KEY> to the request headers to authenticate. You can generate a key on the console "API Keys" page.
curl https://api.mosi.cn/v1/audio/voices \
-H "Authorization: Bearer $MOSS_API_KEY"
Request fields
| Query | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Number of results to return; defaults to 20. |
| offset | integer | No | Offset. |
| after | string | No | Pagination cursor; use the |
| status | string | No | Filter by voice status; the exact allowed values are subject to the server. |
Request example
curl "https://api.mosi.cn/v1/audio/voices?limit=20&status=ready" \
-H "Authorization: Bearer $MOSS_API_KEY"
Response fields
| Field | Type | Always returned | Description |
|---|---|---|---|
| object | string | Yes | Fixed as |
| data[].id | string | Yes | voice id; referenced by the TTS/TTSD/voice-generation endpoints. |
| data[].object | string | Yes | Fixed as |
| data[].name | string | Yes | Human-readable name; may be an empty string. |
| data[].created_at | integer | Yes | Creation time, a Unix timestamp in seconds. |
| has_more | boolean | Yes | Whether there are more voices. |
| first_id | string | When data is non-empty | The first voice id on the current page. |
| last_id | string | When data is non-empty | The last voice id on the current page. |
| next_cursor | string | When there is a next page | Cursor for the next page; can be passed as |
Response example
{
"object": "list",
"data": [
{
"id": "<voice_id>",
"object": "audio.voice",
"name": "Alice",
"created_at": 1710000000
}
],
"first_id": "<voice_id>",
"last_id": "<voice_id>",
"has_more": false
}