Voice Conversion

Replace the voice in a recording with another voice while keeping its delivery.

Create a task

POST /api/v1/voice-conversion
Content-Type: multipart/form-data
curl https://voiceailabs.com/api/v1/voice-conversion \
  -H "Authorization: Bearer $VAL_API_KEY" \
  -H "Idempotency-Key: episode-12-host" \
  -F "voice_id=VOICE_ID" \
  -F "[email protected]" \
  -F "title=Episode 12 host"
ParameterRequiredDescription
audioYesInput recording: WAV, MP3, OGG, WEBM or M4A
voice_idYesTarget voice ID (your voice or a public voice)
speedNoSpeaking rate 0.5–2.0, default 1.0
modeNobalance (default), stable, creative
titleNoTask name, up to 255 characters

Limits

  • File size and duration depend on your plan (Standard and above: 20MB, 5 minutes). See limits.max_conversion_size_mb and limits.max_conversion_duration_seconds from GET /account.
  • Billed by the exact input duration, with credits rounded up.
  • Input audio goes through content moderation. If it's rejected you get CONTENT_REJECTED and nothing is charged.

Returns 202 with a task object whose type is voice_conversion, text is null, and input_duration_seconds is the input length.

Getting better results

  • Use recordings with a single speaker and no background music or obvious noise.
  • Results sound most natural when the target voice has a similar gender and range to the original.
  • Split long recordings into sentences and convert them separately.