Skip to main content
Il Voice Changer è speech-to-speech: registra di nuovo un file sorgente in una voce diversa preservando pronuncia, ritmo e tempistica. È asincrono e usa endpoint dedicati, non /audio/queue, e nemmeno text-to-speech o voice cloning. Scegli un modello voice-changer, richiedi un preventivo, metti in coda la conversione, quindi effettua polling finché Venice non restituisce l’audio convertito.
Una conversione messa in coda viene addebitata immediatamente. Se la risposta della coda viene persa, esegui il polling di /audio/voice-changer/retrieve con lo stesso queue_id. Non mettere in coda di nuovo la stessa registrazione.

Scegli un modello

I modelli voice-changer sono restituiti da GET /models?type=music con model_spec.voice_changer impostato su true. Non esiste un filtro ?type=voice-changer. Gli esempi seguenti usano elevenlabs-voice-changer.
Controlla i metadati di ciascun modello prima di impostare campi opzionali: I campi non supportati generano una risposta HTTP 400. Le registrazioni più lunghe di max_source_audio_duration_seconds vengono rifiutate con HTTP 422 prima di qualsiasi addebito.

Flusso di conversione

1. Ottieni un preventivo

Il Voice Changer viene fatturato in base alla durata della registrazione sorgente, arrotondata per eccesso al minuto intero successivo. Richiedi un preventivo per la durata che prevedi di inviare; l’addebito viene calcolato dalla durata misurata da Venice quando la registrazione viene messa in coda.
La risposta contiene il costo stimato in USD e la durata per cui il preventivo è stato calcolato:

2. Metti in coda la conversione

Fornisci la registrazione sorgente esattamente in uno di due modi: come upload multipart file, oppure come audio_url in un corpo JSON. Fornire entrambi, o nessuno dei due, viene rifiutato. Quando passi un URL, Venice scarica e valida i byte da sola e inoltra al provider solo quei byte. L’URL non viene mai inoltrato.
Campi opzionali, quando il modello ne segnala il supporto:
  • remove_background_noise — rimuove il rumore di fondo prima della conversione
  • seed — intero ≥ 0 per un risultato riproducibile
Una richiesta andata a buon fine restituisce il modello, un ID di coda e la durata misurata della sorgente:
Salva model e queue_id; gli endpoint retrieve e complete li richiedono. Confronta duration_seconds con il tuo preventivo se hai bisogno di riconciliare la stima con la durata fatturata.
La coda non è sicura da ritentare. Una richiesta di coda andata a buon fine è già stata addebitata.

3. Effettua polling e scarica

Chiama /audio/voice-changer/retrieve con i valori ottenuti dalla risposta della coda:
Controlla il Content-Type della risposta: Una risposta di elaborazione in corso appare così:
Entrambi i valori temporali sono in millisecondi. Una risposta completata include anche x-venice-audio-format, x-venice-audio-duration, x-venice-inference-time, x-venice-model-id e x-venice-model-name. Se il provider non riesce a completare la conversione, l’addebito viene rimborsato automaticamente e il corpo dell’errore include credits_refunded. Un polling successivo restituisce lo stesso risultato invece di rimborsare due volte. Per eliminare i media memorizzati nella stessa chiamata che restituisce l’audio, imposta delete_media_on_completion su true su retrieve. L’audio non potrà essere recuperato di nuovo in seguito.

Esempio completo

Questo esempio in Python richiede un preventivo di conversione, carica un file sorgente, effettua polling ogni cinque secondi e salva il risultato come MP3.
L’endpoint quote non richiede autenticazione, mentre le richieste queue, retrieve e complete sì.

Risorse correlate