Build with MiniMax Speech 2.8 HD
Make your first request
Use your Sorceress API key on your server. The playground uses your signed-in account; your application uses the same model with an API key.
curl -X POST 'https://sorceress.games/api/v1/tools/speech_generate' \
-H 'Authorization: Bearer $SORCERESS_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"text": "<text>",
"voice_id": "<voice_id>"
}'Inputs & settings
textstringRequiredText to speak (max 10,000 chars).
voice_idstringRequiredA preset voice id (e.g. "Wise_Woman") or one of the caller's cloned voice ids. Use speech_list_voices to discover both.
speednumberSpeech rate 0.5–2.0 (default 1).
pitchnumberPitch -12 to 12 (default 0).
emotionstringOne of: none, happy, calm, sad, angry, fearful, disgusted, surprised (default none).
volumenumberVolume multiplier (default 1).
language_booststringOptional language hint to improve pronunciation (e.g. "English", "Spanish").
Full input schema
{
"required": [
"text",
"voice_id"
],
"properties": {
"text": {
"type": "string",
"title": "text",
"description": "Text to speak (max 10,000 chars)."
},
"voice_id": {
"type": "string",
"title": "voice id",
"description": "A preset voice id (e.g. \"Wise_Woman\") or one of the caller's cloned voice ids. Use speech_list_voices to discover both."
},
"speed": {
"type": "number",
"title": "speed",
"description": "Speech rate 0.5–2.0 (default 1)."
},
"pitch": {
"type": "number",
"title": "pitch",
"description": "Pitch -12 to 12 (default 0)."
},
"emotion": {
"type": "string",
"title": "emotion",
"description": "One of: none, happy, calm, sad, angry, fearful, disgusted, surprised (default none)."
},
"volume": {
"type": "number",
"title": "volume",
"description": "Volume multiplier (default 1)."
},
"language_boost": {
"type": "string",
"title": "language boost",
"description": "Optional language hint to improve pronunciation (e.g. \"English\", \"Spanish\")."
}
}
}Workflow actions
Convert text to spoken audio with a preset or cloned voice. Async: returns a jobId — poll GET /api/v1/jobs/:id until it succeeds, then read result.audio. Call speech_list_voices first to get valid voice_id values.
List Speech VoicesList the voices available to speech_generate for this account: 17 preset voices plus the caller's own cloned voice ids. Returns immediately (not a job).
Results, saved runs & billing
Media requests return a job ID. Poll GET /api/v1/jobs/:id until it succeeds or fails; keep the same ID while it is processing. Long chat requests can also return a saved job to poll. Completed outputs are stored in your account, and successful work is billed using your model's current rates.
A multi-step workflow may include separately billed successful actions. If a connection drops, check your saved run before submitting it again.





