Voice Cloning API: comparison and consent-aware examples

August 20, 2026 · View on GitHub

Create reusable speaking or singing voice identities through Muapi’s unified API. This repository documents the difference between MiniMax Voice Clone and Suno Custom Voice Cloning, with direct HTTP examples for submitting source audio and polling results.

Open the Voice Cloning API landing page · Get an API key · API reference

What this repository covers

  • Speaking-voice cloning with minimax-voice-clone for downstream MiniMax speech models.
  • Singing-voice cloning with suno-voice-clone for Suno music workflows and preview use.
  • Input audio, voice-name/custom-ID fields, and result polling.
  • Consent, disclosure, liveness, and identity-safety considerations for production use.

Model comparison

EndpointVoice typeBest forKey inputs
minimax-voice-cloneSpeaking voiceReusable narration or conversational voice identityaudio_url, custom_voice_id, model, optional normalization/noise reduction
suno-voice-cloneSinging voiceSuno music persona/voice workflowsaudio_url, voice_name, description, language, style, vocal timing

These are different products. Choose MiniMax for a speaking voice that will be passed into MiniMax TTS. Choose Suno for singing-voice/music workflows. Read the live page for current eligibility, preview behavior, and pricing.

Quick start with curl

Clone a speaking voice:

export MUAPI_API_KEY="your_key"
export VOICE_AUDIO_URL="https://example.com/consented-voice-sample.wav"

curl -X POST "https://api.muapi.ai/api/v1/minimax-voice-clone" \
  -H "x-api-key: $MUAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"audio_url\":\"$VOICE_AUDIO_URL\",\"custom_voice_id\":\"my-consented-voice\",\"model\":\"speech-2.6-hd\",\"need_noise_reduction\":true,\"need_volume_normalization\":true}"

Clone a singing voice for a Suno workflow:

curl -X POST "https://api.muapi.ai/api/v1/suno-voice-clone" \
  -H "x-api-key: $MUAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"audio_url\":\"$VOICE_AUDIO_URL\",\"voice_name\":\"my-consented-singer\",\"description\":\"Warm pop vocal\",\"language\":\"English\",\"style\":\"pop\"}"

Poll either job with its returned request identifier:

export REQUEST_ID="id_from_the_submission_response"
curl "https://api.muapi.ai/api/v1/predictions/$REQUEST_ID/result" \
  -H "x-api-key: $MUAPI_API_KEY"

See examples/quickstart.py for the full polling flow.

  • Obtain documented permission from the person whose voice is uploaded.
  • Do not present a synthetic voice as a real person’s live recording without disclosure.
  • Keep source audio, voice IDs, and generated files access-controlled.
  • Use the endpoint’s liveness or verification requirements where provided; do not attempt to bypass them.
  • Follow applicable platform, contractual, publicity, and biometric/privacy requirements before commercial use.

Troubleshooting

ProblemCheck
Source rejectedAudio URL, duration/format, consent or verification requirements, and field names.
Speaking clone cannot be used in TTSPersist the returned custom voice ID and pass it to the supported MiniMax speech model as documented.
Singing preview is unavailableSuno voice cloning may have preview-specific rules; check the live page and response message.
Output sounds unstableUse a clean, isolated source with consistent volume and minimal background noise.

License

Documentation and examples are MIT licensed. Voice recordings, identities, generated audio, and provider usage remain subject to applicable terms and consent obligations.