curl --request POST \
--url https://api.poyo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "xai-tts-1",
"callback_url": "https://your-domain.com/callback",
"input": {
"text": "Welcome to the xAI text to speech demo. [pause] <whisper>This line is softer.</whisper> [laugh] Now back to a clear product narration voice.",
"voice": "eve",
"language_code": "auto",
"output_format": {
"codec": "mp3",
"sample_rate": 24000,
"bit_rate": 128000
}
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-1757165031-uyujaw3d",
"status": "not_started",
"created_time": "2026-06-25T10:30:00"
}
}{
"code": 123,
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"code": 123,
"error": {
"message": "<string>",
"type": "<string>"
}
}xAI
xAI TTS 1
Generate low-latency expressive multilingual speech using xAI TTS 1
POST
/
api
/
generate
/
submit
curl --request POST \
--url https://api.poyo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "xai-tts-1",
"callback_url": "https://your-domain.com/callback",
"input": {
"text": "Welcome to the xAI text to speech demo. [pause] <whisper>This line is softer.</whisper> [laugh] Now back to a clear product narration voice.",
"voice": "eve",
"language_code": "auto",
"output_format": {
"codec": "mp3",
"sample_rate": 24000,
"bit_rate": 128000
}
}
}
'{
"code": 200,
"data": {
"task_id": "task-unified-1757165031-uyujaw3d",
"status": "not_started",
"created_time": "2026-06-25T10:30:00"
}
}{
"code": 123,
"error": {
"message": "<string>",
"type": "<string>"
}
}{
"code": 123,
"error": {
"message": "<string>",
"type": "<string>"
}
}- After submission, a
task_idwill be returned. If you provided acallback_url, when the task status becomesfinishedorfailed, a POST request will be sent to thecallback_url. - Regardless of whether
callback_urlis provided, you can retrieve the result through the unified Query Task Status endpoint.
xAI TTS 1
xai-tts-1 converts a text into low-latency expressive speech audio using xAI TTS through fal. Results are returned as task files, matching the standard image, video, 3D, and audio task response structure.
Available Model
- xai-tts-1 - xAI TTS v1 text-to-speech generation
Required Parameters
- text: Text to convert to speech
- Length:
1-15000characters - Supports expressive speech tags such as
[laugh],[pause],[sigh],<whisper>text</whisper>, and<slow>text</slow>
- Length:
Optional Parameters
- voice: Voice preset. Supported values:
eve,ara,rex,sal,leo. Default:eve - language_code: BCP-47 language code or
autofor automatic detection. Default:auto - output_format: Audio output configuration object:
codec:mp3,wav,pcm,mulaw, oralaw. Default:mp3sample_rate:8000,16000,22050,24000,44100, or48000. Default:24000bit_rate:32000,64000,96000,128000,192000, ornull. Only applicable for MP3. Default:128000
Supported Languages
Supported values: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.
Credit Billing
Billing is calculated by text length:2.4 credits per 1000 characters, equal to $0.012 per 1000 characters.
Request Example
Estimated usage:140 billable characters, 0.336000 credits.
{
"model": "xai-tts-1",
"callback_url": "https://your-domain.com/callback",
"input": {
"text": "Welcome to the xAI text to speech demo. [pause] <whisper>This line is softer.</whisper> [laugh] Now back to a clear product narration voice.",
"voice": "eve",
"language_code": "auto",
"output_format": {
"codec": "mp3",
"sample_rate": 24000,
"bit_rate": 128000
}
}
}
Notes
- PoYo’s public parameter name is
language_code; it is mapped to fal’slanguagefield upstream. - PoYo’s public parameter name is
text; it is mapped to fal’stextfield upstream. - Query status through the standard task status API.
- Successful responses return
files, where the generated speech usesfile_type: audio.
Authorizations
All API endpoints require Bearer Token authentication.
Get your API Key from the API Key Management Page.
Add it to the request header:
Authorization: Bearer YOUR_API_KEY
Body
application/json
