Vai al contenuto principale
La clonazione vocale ti consente di generare parlato con una voce fornita da un breve campione audio di riferimento. Con tts-chatterbox-hd, carica un campione su /audio/voices, salva l’handle vocale vv_... restituito e poi passa quell’handle a /audio/speech.
Gli handle vocali sono specifici per modello. Un handle creato con tts-chatterbox-hd deve essere utilizzato con tts-chatterbox-hd.

Come funziona

  1. Carica - Invia un file audio di riferimento pulito a POST /audio/voices
  2. Salva - Memorizza l’handle vocale id restituito
  3. Genera - Invia l’handle come voice in POST /audio/speech

Prerequisiti

  • Una chiave API Venice
  • Un campione di riferimento pulito in formato MP3, WAV, FLAC o M4A
  • Almeno 5-10 secondi di parlato chiaro da un singolo speaker
Imposta la tua chiave API:
export VENICE_API_KEY="your-api-key"

Passaggio 1: carica un campione vocale

Crea un handle vocale caricando l’audio di riferimento come dati form multipart:
curl https://api.venice.ai/api/v1/audio/voices \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -F "model=tts-chatterbox-hd" \
  -F "file=@./reference-voice.wav"
Risposta (200):
{
  "id": "vv_voice_abc123xyz",
  "model": "tts-chatterbox-hd"
}
Salva l’id per la generazione del parlato:
export VENICE_VOICE_ID="vv_voice_abc123xyz"

Passaggio 2: genera il parlato

Passa l’handle della voce clonata come voice nella richiesta di parlato:
curl https://api.venice.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-chatterbox-hd",
    "voice": "'"$VENICE_VOICE_ID"'",
    "input": "Hello from Venice. This audio is generated with a cloned Chatterbox HD voice.",
    "response_format": "mp3"
  }' \
  --output chatterbox-clone.mp3
Il corpo della risposta è audio binario nel formato richiesto.

Esempio completo

Questo esempio carica un campione di riferimento, estrae l’handle vocale con jq e scrive l’audio generato in chatterbox-clone.mp3:
VOICE_ID=$(
  curl -s https://api.venice.ai/api/v1/audio/voices \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -F "model=tts-chatterbox-hd" \
    -F "file=@./reference-voice.wav" | jq -r '.id'
)

curl https://api.venice.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-chatterbox-hd",
    "voice": "'"$VOICE_ID"'",
    "input": "This is a complete Chatterbox HD voice cloning example.",
    "response_format": "mp3",
    "speed": 1
  }' \
  --output chatterbox-clone.mp3

Suggerimenti per il campione vocale

Utilizza un campione con un solo speaker, rumore di fondo minimo e senza musica. Il parlato naturale funziona meglio dell’audio sussurrato, cantato o pesantemente elaborato. I campioni più lunghi possono essere utili quando la voce ha un ritmo, un accento o un tono distintivi, ma mantieni il campione focalizzato sullo speaker target.

Scadenza dell’handle

La clonazione Chatterbox HD è zero-shot: Venice memorizza temporaneamente l’audio di riferimento caricato e il modello lo legge quando sintetizzi il parlato. Non viene creato alcun template vocale persistente. Gli handle vocali scadono automaticamente dopo 7 giorni. Dopo la scadenza di un handle, carica nuovamente il campione di riferimento per creare un nuovo handle vv_....

Scopri il supporto alla clonazione

I modelli che supportano la clonazione includono un oggetto voice_cloning nelle specifiche del modello. Interroga i modelli TTS per verificare i formati supportati, la lunghezza minima del campione e la conservazione:
curl "https://api.venice.ai/api/v1/models?type=tts" \
  -H "Authorization: Bearer $VENICE_API_KEY"
tts-chatterbox-hd pubblicizza:
{
  "voice_cloning": {
    "mode": "zero_shot",
    "accepted_formats": ["mp3", "wav", "flac", "m4a"],
    "min_sample_seconds": 5,
    "retention_days": 7
  }
}

Parametri API

Crea voce

CampoTipoObbligatorioDescrizione
modelstringDeve essere tts-chatterbox-hd
filefileCampione audio di riferimento. I formati supportati sono MP3, WAV, FLAC e M4A.

Genera parlato

CampoTipoObbligatorioPredefinitoDescrizione
modelstring-Deve corrispondere al modello utilizzato per creare l’handle vocale
voicestring-L’handle vv_... restituito da POST /audio/voices
inputstring-Testo da sintetizzare, fino a 4096 caratteri
response_formatstringNomp3mp3, opus, aac, flac, wav o pcm
speednumberNo1Velocità del parlato da 0.25 a 4.0
temperaturenumberNo-Temperatura di campionamento da 0 a 2. Valori più alti possono aggiungere variazione.
streamingbooleanNofalseTrasmetti l’audio frase per frase

Errori comuni

StatoCausaSoluzione
400Container audio non supportato o handle vocale incompatibileUsa MP3, WAV, FLAC o M4A e abbina l’handle allo stesso modello utilizzato per crearlo.
401Chiave API mancante o non validaInvia Authorization: Bearer $VENICE_API_KEY.
402Saldo insufficienteRicarica il tuo saldo Venice.
413Il file caricato è troppo grandeUsa un campione di riferimento più breve o più compresso.
429Limite di velocità superatoRiprova dopo il reset della finestra del rate limit.