Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
text
string
required

Text to synthesize (max 15,000 characters). Supports inline speech tags such as [pause], [laugh], and wrapping tags like ....

Required string length: 1 - 15000
language
enum<string>
required

BCP-47 language code, or auto for automatic detection.

Available options:
auto,
en,
ar-EG,
ar-SA,
ar-AE,
bn,
zh,
fr,
de,
hi,
id,
it,
ja,
ko,
pt-BR,
pt-PT,
ru,
es-MX,
es-ES,
tr,
vi
voice_id
default:eve

Voice ID for synthesis. Built-in voices are listed below (26 total, case-insensitive). Custom voice IDs from your xAI voice library are also accepted.

Available options:
eve,
ara,
leo,
rex,
sal,
altair,
atlas,
carina,
castor,
celeste,
cosmo,
helios,
helix,
iris,
kepler,
lumen,
luna,
lux,
naksh,
orion,
perseus,
rigel,
sirius,
ursa,
zagan,
zenith
codec
enum<string>
default:mp3

Audio codec. Default mp3.

Available options:
mp3,
wav,
pcm,
mulaw,
alaw
sample_rate
enum<integer>
default:24000

Sample rate in Hz. Default 24000.

Available options:
8000,
16000,
22050,
24000,
44100,
48000
bit_rate
enum<integer>
default:128000

MP3 bit rate in bps. Only applied when codec is mp3. Default 128000.

Available options:
32000,
64000,
96000,
128000,
192000
speed
number
default:1

Speech speed multiplier. Range 0.7–1.5. Default 1.0.

Required range: 0.7 <= x <= 1.5
text_normalization
boolean
default:false

When true, normalize written-form text (numbers, abbreviations) before synthesis.

optimize_streaming_latency
enum<integer>
default:0

Latency vs quality trade-off: 0 best quality (default), 1 lower first-byte latency, 2 lowest first-byte latency.

Available options:
0,
1,
2

Response

Task submitted successfully. Poll GET /api/v1/tasks/{task_id} until the task completes; synthesized audio is returned on the task result.

Response object for asynchronous task submission.

code
integer
required

Response code, 0 indicates success

Example:

0

message
string
required

Response message

Example:

"success"

data
object
required

Task submission details. Poll GET /api/v1/tasks/{task_id} until status is success; audio appears in result.resources.