# MiniMax Speech 2.8 Turbo

Needs prompt. Served by fal.ai.

MiniMax Speech 2.8 [Turbo], served by fal.ai. The OpenAPI schema for the fal-ai/minimax/speech-2.8-turbo queue. Price: $0.06 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 "fal-ai/minimax" and that request_id. Billed once, when the result is ready; a generation that fails is refunded.

- Tool ID: `fal/minimax-speech-2-8-turbo`
- Name in the catalog: MiniMax Speech 2.8 \[Turbo\]
- Provider: [fal.ai](/providers/fal.md)
- Capability: [MiniMax Hailuo](/tools/video-generation/minimax.md)
- Price: $0.06 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.06,
  "unitsField": "prompt",
  "unitsMeasure": "chars",
  "unitsPer": 1000,
  "fractional": true,
  "maxUnits": 10,
  "unitsDefault": 1
}
```

Pricing source: [https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo). $0.06 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": {
    "voice_setting": {
      "properties": {
        "voice_id": {
          "default": "Wise_Woman",
          "type": "string",
          "description": "Predefined voice ID to use for synthesis",
          "minLength": 1,
          "title": "Voice Id"
        },
        "english_normalization": {
          "type": "boolean",
          "default": false,
          "description": "Enables English text normalization to improve number reading performance, with a slight increase in latency",
          "title": "English Normalization"
        },
        "vol": {
          "minimum": 0.01,
          "default": 1,
          "maximum": 10,
          "type": "number",
          "description": "Volume (0-10)",
          "title": "Vol"
        },
        "emotion": {
          "anyOf": [
            {
              "enum": [
                "happy",
                "sad",
                "angry",
                "fearful",
                "disgusted",
                "surprised",
                "neutral"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Emotion of the generated speech",
          "title": "Emotion"
        },
        "speed": {
          "minimum": 0.5,
          "default": 1,
          "maximum": 2,
          "type": "number",
          "description": "Speech speed (0.5-2.0)",
          "title": "Speed"
        },
        "pitch": {
          "minimum": -12,
          "default": 0,
          "maximum": 12,
          "type": "integer",
          "description": "Voice pitch (-12 to 12)",
          "title": "Pitch"
        }
      },
      "type": "object",
      "x-fal-order-properties": [
        "voice_id",
        "speed",
        "vol",
        "pitch",
        "emotion",
        "english_normalization"
      ],
      "title": "VoiceSetting"
    },
    "audio_setting": {
      "properties": {
        "channel": {
          "enum": [
            1,
            2
          ],
          "default": 1,
          "type": "integer",
          "description": "Number of audio channels (1=mono, 2=stereo)",
          "title": "Channel"
        },
        "format": {
          "enum": [
            "mp3",
            "pcm",
            "flac"
          ],
          "default": "mp3",
          "type": "string",
          "description": "Audio format",
          "title": "Format"
        },
        "sample_rate": {
          "enum": [
            8000,
            16000,
            22050,
            24000,
            32000,
            44100
          ],
          "default": 32000,
          "type": "integer",
          "description": "Sample rate of generated audio",
          "title": "Sample Rate"
        },
        "bitrate": {
          "enum": [
            32000,
            64000,
            128000,
            256000
          ],
          "default": 128000,
          "type": "integer",
          "description": "Bitrate of generated audio",
          "title": "Bitrate"
        }
      },
      "type": "object",
      "x-fal-order-properties": [
        "sample_rate",
        "bitrate",
        "format",
        "channel"
      ],
      "title": "AudioSetting"
    },
    "pronunciation_dict": {
      "anyOf": [
        {
          "properties": {
            "tone_list": {
              "type": "array",
              "description": "List of pronunciation replacements in format ['text/(pronunciation)', ...]. For Chinese, tones are 1-5. Example: ['燕少飞/(yan4)(shao3)(fei1)']",
              "items": {
                "type": "string"
              },
              "title": "Tone List"
            }
          },
          "type": "object",
          "x-fal-order-properties": [
            "tone_list"
          ],
          "title": "PronunciationDict"
        },
        {
          "type": "null"
        }
      ],
      "description": "Custom pronunciation dictionary for text replacement"
    },
    "prompt": {
      "type": "string",
      "description": "Text to convert to speech. Use `<#x#>` for pauses (x = 0.01-99.99 seconds). Supports interjection tags: `(laughs)`, `(sighs)`, `(coughs)`, `(clears throat)`, `(gasps)`, `(sniffs)`, `(groans)`, `(yawns)`.",
      "maxLength": 10000,
      "minLength": 1,
      "title": "Prompt"
    },
    "voice_modify": {
      "anyOf": [
        {
          "properties": {
            "timbre": {
              "minimum": -100,
              "default": 0,
              "maximum": 100,
              "type": "integer",
              "description": "Timbre adjustment. Range: -100 to 100. Affects the tonal quality of the voice.",
              "title": "Timbre"
            },
            "intensity": {
              "minimum": -100,
              "default": 0,
              "maximum": 100,
              "type": "integer",
              "description": "Intensity/energy of the voice. Range: -100 to 100. Higher values create more energetic speech.",
              "title": "Intensity"
            },
            "pitch": {
              "minimum": -100,
              "default": 0,
              "maximum": 100,
              "type": "integer",
              "description": "Pitch adjustment in semitones. Range: -100 to 100. Positive values raise pitch, negative values lower it.",
              "title": "Pitch"
            }
          },
          "type": "object",
          "description": "Voice modification settings for Speech 2.8 models.",
          "x-fal-order-properties": [
            "pitch",
            "intensity",
            "timbre"
          ],
          "title": "VoiceModify"
        },
        {
          "type": "null"
        }
      ],
      "description": "Voice modification settings to adjust pitch, intensity, and timbre."
    },
    "normalization_setting": {
      "properties": {
        "target_peak": {
          "minimum": -3,
          "default": -0.5,
          "maximum": 0,
          "type": "number",
          "description": "Target peak level in dBTP (default -0.5).",
          "title": "Target Peak"
        },
        "enabled": {
          "type": "boolean",
          "default": true,
          "description": "Enable loudness normalization for the audio",
          "title": "Enabled"
        },
        "target_range": {
          "minimum": 0,
          "default": 8,
          "maximum": 20,
          "type": "number",
          "description": "Target loudness range in LU (default 8.0)",
          "title": "Target Range"
        },
        "target_loudness": {
          "minimum": -70,
          "default": -18,
          "maximum": -10,
          "type": "number",
          "description": "Target loudness in LUFS (default -18.0)",
          "title": "Target Loudness"
        }
      },
      "type": "object",
      "x-fal-order-properties": [
        "enabled",
        "target_loudness",
        "target_range",
        "target_peak"
      ],
      "title": "LoudnessNormalizationSetting"
    },
    "output_format": {
      "enum": [
        "url",
        "hex"
      ],
      "default": "hex",
      "type": "string",
      "description": "Format of the output content (non-streaming only)",
      "title": "Output Format"
    },
    "language_boost": {
      "anyOf": [
        {
          "enum": [
            "Chinese",
            "Chinese,Yue",
            "English",
            "Arabic",
            "Russian",
            "Spanish",
            "French",
            "Portuguese",
            "German",
            "Turkish",
            "Dutch",
            "Ukrainian",
            "Vietnamese",
            "Indonesian",
            "Japanese",
            "Italian",
            "Korean",
            "Thai",
            "Polish",
            "Romanian",
            "Greek",
            "Czech",
            "Finnish",
            "Hindi",
            "Bulgarian",
            "Danish",
            "Hebrew",
            "Malay",
            "Slovak",
            "Swedish",
            "Croatian",
            "Hungarian",
            "Norwegian",
            "Slovenian",
            "Catalan",
            "Nynorsk",
            "Afrikaans",
            "auto"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Enhance recognition of specified languages and dialects",
      "title": "Language Boost"
    }
  },
  "required": [
    "prompt"
  ],
  "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/minimax-speech-2-8-turbo",
  "input": {
    "prompt": "Hello world! Welcome to MiniMax's new text to speech model <#0.1#> Speech 2.8 Turbo (sighs) now available on Fal!"
  }
}
```

## 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/fal-ai/minimax/speech-2.8-turbo)

[REST inspection](https://api.agentik.cc/v1/tools/fal/minimax-speech-2-8-turbo) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/fal/minimax-speech-2-8-turbo) · [Agent index](/llms.txt)
