Skip to main content
POST
/
ai
/
tts
/
generate
Generate TTS audio (synchronous)
curl --request POST \
  --url https://open.skills.video/api/ai/tts/generate \
  --header 'Content-Type: application/json' \
  --data '
{
  "provider": "minimax-tts",
  "model": "speech-02-hd",
  "input": {
    "text": "Hello world, this is a sample TTS generation.",
    "voice": "default",
    "language": "en"
  }
}
'
{
  "success": true,
  "data": {
    "provider": "minimax-tts",
    "model": "speech-02-hd",
    "modelId": "minimax-tts/speech-02-hd",
    "endpoint": "minimax/tts-v2",
    "audio_url": "https://cdn.example.com/tts/audio_abc123.mp3",
    "audio": {
      "url": "https://cdn.example.com/tts/audio_abc123.mp3",
      "content_type": "audio/mpeg",
      "duration": 3.2
    },
    "output": {
      "audio_url": "https://cdn.example.com/tts/audio_abc123.mp3"
    },
    "logs": null,
    "metrics": null
  }
}
Synchronous TTS generation. Errors are surfaced with a TTS_GENERATION_* error code and a human readable message.

Body

application/json
modelId
string

Canonical TTS model id. Takes precedence over provider/model/endpoint when set.

Minimum string length: 1
provider
string

TTS provider key.

Minimum string length: 1
model
string

TTS model key (scoped to provider).

Minimum string length: 1
endpoint
string

Explicit upstream endpoint identifier. Optional when modelId or provider+model resolve to a known TTS spec.

Minimum string length: 1
input
object

Model-specific TTS input payload (text, voice, language, etc.). The accepted keys depend on the resolved TTS spec; see the corresponding model documentation.

Response

TTS generation succeeded.

success
boolean
required
data
object
required