Instant Voice Cloning
Instant Voice Cloning builds a workspace-owned AI voice from one reference recording of up to 30 seconds. Upload a sample or point Murf at a publicly reachable URL, poll until the clone is ready, then use the voice ID you get back with any Falcon 2 endpoint. There is no studio session to book and no model training to wait on.
Clones are multilingual out of the box. A sample recorded in one language can speak any locale Falcon 2 supports, so one clone per speaker is usually enough.
Instant Voice Cloning is available on the Enterprise plan only. It is enabled per workspace, so until it has been turned on for yours, the voice cloning endpoints return 403.
Instant vs. Professional Voice Cloning
Murf offers two ways to build a custom voice. This should help you pick the one that fits.
What you get
Post a file as multipart/form-data, or pass a public audioUrl as JSON. The audio requirements are the same either way.
Create returns a requestId right away. Poll the status endpoint until it reports COMPLETED or FAILED. There are no webhooks to set up.
Clones stream over HTTP or WebSockets at Falcon 2 latency of roughly 100 ms, which is fast enough for live conversational agents.
List the clones in your workspace that are ready to use, and delete any of them for good once you are done with it.
Pricing is the same as standard Falcon 2 synthesis. Creating a clone and keeping it in your workspace costs nothing extra, so you only pay for the speech you generate with it.
Before you start
Cloning has to be switched on for your workspace before any of the endpoints below will work. Get in touch with our sales team and brief them on your exact needs and the voice profile you want to create. If you are already on Enterprise, your Customer Success Manager can do this for you.
Once it is enabled, generate your API key from the Murf API Dashboard and send it as the api-key header on every request.
Then get your reference audio ready. The same requirements apply whether you upload a file or pass a URL:
If you are passing audioUrl, the URL has to be http or https, and its path needs a supported file extension, for example https://example.com/sample.wav. Private and localhost URLs are rejected.
Clone a voice
Create the clone
Call Create Voice Clone with a tag (a unique identifier for the voice), an optional displayName to name it, plus either an audio file or an audioUrl. If you leave displayName empty, it falls back to the tag.
Hold on to the requestId in the response. That is how you track the job.
If something is wrong with the request itself, you get a 400 back with an error_message. The usual causes are a missing tag or audio, an unsupported format or file extension, a file over 40 MB, or an audioUrl we cannot reach. Problems with the audio itself, such as a low sample rate, are accepted here with a 200 and show up later as a FAILED status.
Poll the creation status
Cloning runs in the background. Call Voice Clone Creation Status with your requestId until status comes back as COMPLETED or FAILED. Checking every couple of seconds is plenty.
Synthesize with Falcon 2
Use the cln_ voice ID as your voiceId on any Falcon 2 endpoint. Nothing else about the request changes. The streaming response body is raw audio bytes rather than JSON, and you get WAV back unless you set format.
For live agents, pass the same voice ID in the WebSockets voice_config message:
Cloned voices only work on Falcon 2. Sending one with model: "gen2", or to the non-streaming generate endpoint, returns a 400.
Manage your cloned voices
List cloned voices
List Cloned Voices gives you every clone in your workspace that is ready to use. Each one comes with a voiceId (prefixed with cln_), its displayName, the tag you set when you created it, and a createdAt timestamp in UTC. When you did not pass a displayName at creation, it mirrors the tag.
Clones do not show up in GET /v1/speech/voices. That endpoint covers Murf’s standard voice library, so use the cloned voices endpoint above instead.
Delete a cloned voice
Delete Cloned Voice removes a clone from your workspace for good. There is no undo, and anything still sending that voiceId will start failing.
Endpoints
Responsible use
Only clone a voice you own or have clear, documented consent to clone. Murf’s Enterprise commitments apply to Instant Voice Cloning as well. Your audio and text are never used to train Murf models, data is encrypted in transit and at rest, and clones stay private to the workspace that created them.
FAQ
How is Instant Voice Cloning priced?
You are charged the same rates as standard Falcon 2 synthesis. Creating a clone and keeping it in your workspace carries no additional charge, so the only thing you pay for is the speech you generate with it, exactly as you would with a library voice. See Pricing for Falcon 2 rates, or the rates set out in your Enterprise agreement.
How long does a clone take to create?
Most clones are ready within a few minutes. Creation is asynchronous, so poll the status endpoint until it reports COMPLETED rather than building a fixed wait into your code.
Does the reference audio need to be in the language I want to synthesize?
No. A clone can speak any locale Falcon 2 supports, whatever language the sample was recorded in. Set locale on the synthesis request to pick the output language.
Can I clone from a video file or an unsupported format?
Not directly. Only WAV, MP3, FLAC, ALAW, and ULAW are accepted. If your source is a video or some other container, extract the audio track and export it at 24 kHz or higher before you upload it.
What do tag and displayName do?
What do tag and displayName do?
tag is a mandatory, unique identifier for the clone. Use it to reference the voice or for any bookkeeping of your own, such as grouping clones by speaker or project. It comes back on list responses, so pick something you will still recognize later, such as the speaker name plus a version.
displayName is optional and sets the human-readable name of the cloned voice. If you leave it empty, displayName falls back to the tag.
Can I update or retrain an existing clone?
No. A clone is fixed once it has been created, and there is no update endpoint. If you want a different result, create a new clone from a better sample, point your integration at the new voiceId, and delete the old one once you have switched over. Deletion is permanent, so do it in that order.
Can everyone on my team use a clone?
Yes. Clones belong to the workspace rather than to the API key that created them, so any key in the same workspace can synthesize with them and your whole team sees them in the cloned voices list. A voiceId from another workspace returns a 404.
Is my reference audio used to train Murf models?
No. Your reference audio and the text you synthesize are never used to train Murf models, and clones stay private to the workspace that created them. See Enterprise for the full set of data commitments.
Can I use a cloned voice with speech customization features?
Yes. Clones take the same Falcon 2 controls as library voices, including rate, pitch, locale, format, sampleRate, and pauses. See Speech Customization for the full list. Styles are not available on cloned voices, since the clone already carries the delivery of your reference sample.
What does a FAILED status mean?
When status comes back as FAILED, errorMessage tells you why:
Other messages can show up for unexpected failures. Try once more with a different reference file, and if the job still fails, contact support with the full status response.
What are the common HTTP errors?
Error responses look like { "error_code": <httpStatus>, "error_message": "..." }. These are failures on the request itself, not the FAILED status you get from polling.
Low sample rates and poor audio quality usually pass the create call with a 200, then show up as status: "FAILED" when you poll.
How many voices can I clone, and what are the rate limits?
Clone volume and concurrency are part of your Enterprise agreement. Rate Limits covers Falcon 2 synthesis, and your Customer Success Manager can confirm the cloning limits on your contract.