Voice Cloning Quota
August 24, 2026
Table of contents
Returns how many cloned voice slots the MiniMax account holds and how many are in use.
Worth calling before POST speech/clone-voice, which spends around twenty seconds building a voice. Without this the only signal that an account is out of slots arrives after that work is done.
https://api.useapi.net/v1/minimax/speech/equity?account={account}
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
accountis optional when only one account is configured. If you have several MiniMax accounts configured, this parameter becomes required.
Responses
-
{ "used": 3, "total": 3, "voice_clone_preview_free_quota": "inf", "srt_download": false, "base_resp": {} } -
{ "error": "Unauthorized", "code": 401 } -
596 Account Error
{ "error": "Your minimax account has pending error. Please address this issue at https://useapi.net/docs/api-minimax-v1/post-minimax-accounts-account before making any new API calls.", "code": 596 }
Model
{ // TypeScript, all fields are optional
used: number, // Cloned voices currently stored
total: number, // Slots the plan grants
voice_clone_preview_free_quota: string, // Free clone previews left, "inf" when unlimited
srt_download: boolean // Whether the plan includes SRT download on minimax.io
}
usedis allowed to exceedtotal. An account observed with three slots reported four in use, so treat these figures as advisory rather than as a hard gate — the authoritative refusal is the error returned by POST speech/clone-voice itself.- Slots are freed by POST speech/delete-voice.
srt_downloadreflects whether the MiniMax plan includes subtitle downloads on their own site. It does not gate this API — word timings come back on POST speech/create-mp3 and the streamingdoneevent whatever it says, see Word timings.
Examples
-
curl "https://api.useapi.net/v1/minimax/speech/equity?account=123456789012345678" \ -H "Authorization: Bearer …" -
const response = await fetch("https://api.useapi.net/v1/minimax/speech/equity?account=123456789012345678", { headers: { "Authorization": "Bearer …" } }); const { used, total } = await response.json(); console.log(`${used} of ${total} voice slots in use`); -
import requests response = requests.get( "https://api.useapi.net/v1/minimax/speech/equity", headers={"Authorization": "Bearer …"}, params={"account": "123456789012345678"} ) equity = response.json() print(equity["used"], "of", equity["total"], "voice slots in use")