MiniMax Speech 02 Turbo API
MiniMax Speech 02 Turbo — real-time TTS optimised for voice agents, IVRs, and live narration. Supports multilingual voices with adjustable speed, volume, and pitch. Billed per input character.
Quickstart
Audio generation uses /v1/run. TTS models accept `inputs.text` + optional `inputs.voice_id` and are billed per input character. Music generation accepts `inputs.lyrics` + optional style `inputs.prompt` and is billed per successful generation. Response includes a signed URL to the generated MP3 (fetch within ~24h before the link expires).
bashcurl https://api.skillboss.co/v1/run \
-H "Authorization: Bearer $SKILLBOSS_WHOLESALE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax_voice/speech-02-turbo",
"inputs": {
"text": "Hello, this is a SkillBoss text-to-speech demo.",
"voice_id": "female-shaonv"
}
}'Your first 200 response is the fastest way to confirm setup. From there, swap in your real prompt and tune the model-specific parameters listed below.
Authentication
Every request must include your wholesale key. The header name depends on the endpoint — match the SDK you're using:
bashAuthorization: Bearer $SKILLBOSS_WHOLESALE_KEYTreat the wholesale key like a password — never commit it to source control or ship it in client-side bundles. Rotate from the wholesale dashboard if exposed. Standard (non-wholesale) console keys are rejected at the gateway with 401.
Code examples
pythonimport os, requests
resp = requests.post(
"https://api.skillboss.co/v1/run",
headers={"Authorization": f"Bearer {os.environ['SKILLBOSS_WHOLESALE_KEY']}"},
json={
"model": "minimax_voice/speech-02-turbo",
"inputs": {
"text": "Hello, this is a SkillBoss text-to-speech demo.",
"voice_id": "female-shaonv",
},
},
timeout=60,
)
data = resp.json()
print(data["outputs"][0]["url"]) # signed URL to the generated audiotypescriptconst resp = await fetch("https://api.skillboss.co/v1/run", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SKILLBOSS_WHOLESALE_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "minimax_voice/speech-02-turbo",
inputs: {
text: "Hello, this is a SkillBoss text-to-speech demo.",
voice_id: "female-shaonv",
},
}),
});
const data = await resp.json();
console.log(data.outputs[0].url); // signed URL to the generated audioParameters
Pass the model identifier as a top-level model field, and all generation parameters under an inputs object. TTS models use inputs.text + inputs.voice_id; music models use inputs.lyrics + inputs.prompt. See the model card on the wholesale dashboard for the full voice library and music style hints.
Endpoint
| Method | POST |
| URL | https://api.skillboss.co/v1/run |
| Auth header | Authorization: Bearer $SKILLBOSS_WHOLESALE_KEY |
| Content-Type | application/json |
| Streaming | No SSE streaming — audio jobs return a complete MP3 URL in a single response. |
Errors
The API uses standard HTTP status codes:
Pricing
Wholesale pricing is your account-specific discount × vendor list price. Discount rate depends on your contract — see the live numbers on the wholesale dashboard. The dashboard shows your current cost per 1M tokens (or per image / per second) for every model.
No platform markup on standard token billing. Volume tiers + monthly caps are configurable per key.