Skip to main content
CoquiMediumStandard

XTTS-v2

Coqui XTTS-v2 multilingual voice-cloning TTS. Clone a voice from a single short audio sample and speak in 16 languages โ€” one of the most popular open-source voice cloning models.

26 credits
per generation
Voice cloning from one short audio sample
16 language support including Korean
Cross-language cloning (speak any language in the cloned voice)
Optional denoising for microphone recordings
Battle-tested open-source model (7M+ runs)

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "lucataco/xtts-v2",
  "input": {
    "speaker": "https://example.com/voice-sample.wav",
    "text": "์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๊ฒƒ์€ ์ œ ๋ชฉ์†Œ๋ฆฌ๋กœ ๋งŒ๋“  ํ•œ๊ตญ์–ด ์Œ์„ฑ์ž…๋‹ˆ๋‹ค.",
    "language": "ko",
    "cleanup_voice": true
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
textstringNoHi there, I'm your new voice clone. Try your best to upload quality audioText to synthesize in the cloned voice
speakerstringYes-Original speaker audio to clone (wav, mp3, m4a, ogg, or flv)
languagestringNoenOutput language for the synthesized speech
enesfrdeitptpltrrunlcsarzhhukohi
cleanup_voicebooleanNofalseApply denoising to the speaker audio (for microphone recordings)

How to Provide File Input

There are 3 ways to provide files for the speaker parameter:

Recommended

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step needed.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=lucataco/xtts-v2" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:speaker=@your_file.png"

Image URL

Pass a publicly accessible URL directly. You can also use file_url from the Storage API.

{
  "model": "lucataco/xtts-v2",
  "input": {
    "prompt": "your prompt here",
    "speaker": "https://example.com/image.jpg"
  }
}
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Clone and Speak Korean

Clone an English speaker and have them speak Korean

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "lucataco/xtts-v2",
  "input": {
    "speaker": "https://example.com/voice-sample.wav",
    "text": "์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๊ฒƒ์€ ์ œ ๋ชฉ์†Œ๋ฆฌ๋กœ ๋งŒ๋“  ํ•œ๊ตญ์–ด ์Œ์„ฑ์ž…๋‹ˆ๋‹ค.",
    "language": "ko",
    "cleanup_voice": true
  }
}'

Tips & Best Practices

1Use a clean 10-30 second speaker sample for the best clone quality
2Enable cleanup_voice when the sample was recorded on a phone or laptop microphone
3The cloned voice can speak any of the 16 languages regardless of the sample's language
4Billed a flat 25 credits per generation; runtime grows with text length
5Only clone voices you have permission to use

Use Cases

Quick voice cloning experiments
Personalized voice messages
Multilingual dubbing prototypes
Voice preservation projects
Character voice generation