xAI Text to Speech
xai/grok-ttsGrok Tts by xAI - convert text to natural-sounding speech with AI. Supports multiple voices, languages, emotions, and speaking styles for content creation and accessibility.
- Base price
- $0.01USD / run
- Execution
- async
- Model type
- audio
- Input fields
- 2
Try the model
Playground
What would you like to do next?
Examples
Select an example to load its inputs and result into the playground.
- Open result ↗
Input
{}
Model card
Specifications
Pricing
- Base price
- $0.01 / run
Context & modalities
- Input
- Schema-defined
- Output
- audio
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- xAI
- Model ID
- xai/grok-tts
- Execution
- async
- Base URL
- https://api.sandbase.ai
- API
- Unified Run API
- Endpoint
- /v1/run
API README
xAI Text to Speech
xAI text-to-speech with five voices (Eve, Ara, Rex, Sal, Leo).
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
text | string | — | Text to speak. |
voice | eve / ara / rex / sal / leo | — | Voice. |
Billing
$0.015 per started 1,000 characters, with a one-unit minimum.
| Text | Price |
|---|---|
| 200 characters | $0.015 |
| 1,000 characters | $0.015 |
| 2,500 characters | $0.045 |
Failed runs are not charged.
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "xai/grok-tts",
"text": "Hello! This is xAI text to speech, brought to you by Fal AI."
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Type | Default price | Released |
|---|---|---|---|
xAI Text to SpeechThis model xAI | Audio | $0.01 / run | Mar 17, 2026 |
xAI | Video | $0.19 / run | Oct 1, 2026 |
xAI | Video | $0.18 / run | Oct 1, 2026 |
xAI | llm | — | Sep 21, 2026 |
xAI | llm | — | Aug 12, 2026 |
xAI | Image | $0.06 / run | Aug 11, 2026 |
Questions
FAQ
How do I call xAI Text to Speech through SandBase?
Create a SandBase API key, then send requests with the model ID "xai/grok-tts" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.
Do I need a separate xAI account?
No. One SandBase API key and balance gives you access to xAI Text to Speech and the other models in the catalog; you do not need to sign up with xAI separately.
