Skip to content

Voice cloning

A voice that sounds exactly like you.

Record a short, clean sample. Sprag reads anything you write in that voice, in your tone, across every language, from a single API call.

Hear the difference

Original voice

Cloned voice

Tap a voice to play. Same script, one recorded, one generated.

A voice like no other.

A clone carries your tone into every language, and it stays yours: the reference clip travels only inside your own requests, and the API keeps no copy of it.

Multilingual clones

Every clone reads all ten output languages, keeping its identity in each. Fidelity is strongest in its native language.

True to your voice

It captures timbre, prosody, and delivery, so it sounds like you, not a read-alike.

Security and privacy

The API stores nothing: your reference clip travels only inside your requests, and no copy of the speaker is kept.

The full detail lives in our privacy policy.

For developers

A clip and a transcript in. That voice out.

Send the reference clip inline with the text to speak. One request, nothing to register, no separate cloning SDK to learn.

clone.py
import base64
import requests

SPRAG_API_KEY = "sk-sprag-..."

with open("reference.wav", "rb") as f:
    ref_audio = base64.b64encode(f.read()).decode()

response = requests.post(
    "https://api.sprag.ai/v1/audio/speech",
    headers={"Authorization": f"Bearer {SPRAG_API_KEY}"},
    json={
        "model": "chorus-clone",
        "input": "This is my voice, reading something I never recorded.",
        "ref_audio": f"data:audio/wav;base64,{ref_audio}",
        "ref_text": "The exact words spoken in the reference clip.",
        "response_format": "mp3",
    },
)
response.raise_for_status()

with open("cloned.mp3", "wb") as f:
    f.write(response.content)
  1. Record a clean clipOne speaker, a quiet room. Keep a word-for-word transcript of what was said; an exact transcript beats a longer clip.
  2. Inline it in the requestBase64 the clip into a data: URL and send it as ref_audio, with the transcript as ref_text.
  3. Get the voice backThe response is audio of your input in that voice. The clip travels in each request; nothing is stored.

One request

No registration step. The reference clip rides in the synthesis call itself.

Nothing stored

The API keeps no copy of the speaker. You hold the clip and the consent.

10 languages

The clone reads all of them, keeping its identity.

Same speech endpoint

The clip and transcript go where the voice ID would.

Make your first request.