# xAI text to speech

Needs text. Served by fal.ai.

xAI Text to Speech, served by fal.ai. The OpenAPI schema for the xai/tts/v1 queue. Price: Your request will cost $0.015 per 1000 characters. Queued execution; final USD charge comes from the unique billing event matching this exact endpoint and request_id. A missing receipt retains the reservation; no guessed final fee. Asynchronous: returns a request_id; poll fal/status and fetch fal/result with model "xai/tts" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/xai-tts-v1`
- Name in the catalog: xAI Text to Speech
- Provider: [fal.ai](/providers/fal.md)
- Capability: [AI audio](/tools/audio-generation.md)
- Price: $0.015 per 1,000 characters
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_unit",
  "amountUsd": 0.015,
  "unitsField": "text",
  "unitsMeasure": "chars",
  "unitsPer": 1000,
  "fractional": true,
  "maxUnits": 15,
  "unitsDefault": 1
}
```

Pricing source: [https://fal.ai/models/xai/tts/v1](https://fal.ai/models/xai/tts/v1). Your request will cost $0.015 per 1000 characters. Queued execution; final USD charge comes from the unique billing event matching this exact endpoint and request_id. A missing receipt retains the reservation; no guessed final fee..

Price verification date: 2026-10-07.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "text": {
      "maxLength": 15000,
      "title": "Text",
      "description": "The text to convert to speech. Maximum 15,000 characters. Supports speech tags for expressive delivery: inline tags like [laugh], [pause], [sigh] and wrapping tags like <whisper>text</whisper>, <slow>text</slow>.",
      "minLength": 1,
      "type": "string"
    },
    "language": {
      "enum": [
        "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"
      ],
      "description": "BCP-47 language code or 'auto' for automatic detection. Supported: en, zh, fr, de, hi, id, it, ja, ko, pt-BR, pt-PT, ru, es-MX, es-ES, tr, vi, bn, ar-EG, ar-SA, ar-AE.",
      "title": "Language",
      "default": "auto",
      "type": "string"
    },
    "output_format": {
      "properties": {
        "sample_rate": {
          "enum": [
            8000,
            16000,
            22050,
            24000,
            44100,
            48000
          ],
          "description": "Sample rate in Hz.",
          "title": "Sample Rate",
          "default": 24000,
          "type": "integer"
        },
        "bit_rate": {
          "description": "Bit rate in bps. Only applicable for MP3 codec. Defaults to 128000 for MP3.",
          "title": "Bit Rate",
          "anyOf": [
            {
              "enum": [
                32000,
                64000,
                96000,
                128000,
                192000
              ],
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "codec": {
          "enum": [
            "mp3",
            "wav",
            "pcm",
            "mulaw",
            "alaw"
          ],
          "description": "Audio codec. Supported: mp3, wav, pcm, mulaw, alaw.",
          "title": "Codec",
          "default": "mp3",
          "type": "string"
        }
      },
      "description": "Output format configuration for the TTS API.",
      "title": "OutputFormat",
      "x-fal-order-properties": [
        "codec",
        "sample_rate",
        "bit_rate"
      ],
      "type": "object"
    },
    "voice": {
      "enum": [
        "carina",
        "zagan",
        "helix",
        "orion",
        "luna",
        "iris",
        "altair",
        "zenith",
        "perseus",
        "helios",
        "lux",
        "kepler",
        "rigel",
        "cosmo",
        "celeste",
        "ursa",
        "sirius",
        "lumen",
        "castor",
        "naksh",
        "atlas",
        "aurora",
        "liora",
        "ara",
        "eve",
        "leo",
        "rex",
        "sal"
      ],
      "description": "Built-in xAI voice to use for synthesis.",
      "title": "Voice",
      "default": "eve",
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "fal/xai-tts-v1",
  "input": {
    "text": "Hello! This is xAI text to speech, brought to you by Fal AI."
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

This tool uses deferred settlement. Follow its returned task/run instructions; preserve the existing reservation until the result is reconciled.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://fal.ai/models/xai/tts/v1)

[REST inspection](https://api.agentik.cc/v1/tools/fal/xai-tts-v1) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/xai-tts-v1) · [Agent index](/llms.txt)
