Skip to main content
Voice Changer ist Speech-to-Speech: Er nimmt eine Quelldatei in einer anderen Stimme neu auf und bewahrt dabei Vortrag, Tempo und Timing. Er läuft asynchron und verwendet eigene Endpoints. Er ist weder Teil von /audio/queue, noch von Text-to-Speech oder Voice Cloning. Wähle ein Voice-Changer-Modell, fordere einen Kostenvoranschlag an, stelle die Konvertierung in die Warteschlange und frage anschließend den Status ab, bis Venice das konvertierte Audio zurückgibt.
Eine in die Warteschlange gestellte Konvertierung wird sofort berechnet. Wenn die Queue-Antwort verloren geht, frage /audio/voice-changer/retrieve mit derselben queue_id ab. Stelle dieselbe Aufnahme nicht erneut in die Warteschlange.

Modell auswählen

Voice-Changer-Modelle werden von GET /models?type=music mit model_spec.voice_changer gleich true zurückgegeben. Es gibt keinen Filter ?type=voice-changer. In den folgenden Beispielen wird elevenlabs-voice-changer verwendet.
Prüfe die Metadaten jedes Modells, bevor du optionale Felder setzt: Nicht unterstützte Felder führen zu einer HTTP-400-Antwort. Aufnahmen, die länger als max_source_audio_duration_seconds sind, werden vor jeder Berechnung mit HTTP 422 abgelehnt.

Ablauf der Konvertierung

1. Kostenvoranschlag einholen

Voice Changer wird nach der Länge der Quellaufnahme abgerechnet, aufgerundet auf die nächste volle Minute. Kalkuliere die Länge, die du voraussichtlich sendest; die Berechnung erfolgt anhand der Länge, die Venice beim Einreihen in die Warteschlange misst.
Die Antwort enthält die geschätzten Kosten in USD und die Dauer, für die der Kostenvoranschlag berechnet wurde:

2. Konvertierung in die Warteschlange stellen

Übergib die Quellaufnahme auf genau eine von zwei Arten: als Multipart-file-Upload oder als audio_url in einem JSON-Body. Beides oder keines von beiden anzugeben, wird abgelehnt. Wenn du eine URL übergibst, ruft Venice die Bytes selbst ab, validiert sie und leitet nur diese Bytes an den Provider weiter. Die URL wird niemals weitergegeben.
Optionale Felder, sofern das Modell Unterstützung angibt:
  • remove_background_noise – Hintergrundgeräusche vor der Konvertierung entfernen
  • seed – Ganzzahl ≥ 0 für ein reproduzierbares Ergebnis
Eine erfolgreiche Anfrage liefert das Modell, eine Queue-ID und die gemessene Länge der Quelle zurück:
Speichere model und queue_id; die Endpoints für Retrieve und Complete benötigen sie. Vergleiche duration_seconds mit deinem Kostenvoranschlag, wenn du die Schätzung mit der abgerechneten Länge abgleichen musst.
Queue-Anfragen können nicht sicher wiederholt werden. Eine erfolgreiche Queue-Anfrage wurde bereits berechnet.

3. Status abfragen und herunterladen

Rufe /audio/voice-changer/retrieve mit den Werten aus der Queue-Antwort auf:
Prüfe den Content-Type der Antwort: Eine Antwort während der Verarbeitung sieht so aus:
Beide Zeitangaben sind in Millisekunden. Eine abgeschlossene Antwort enthält außerdem x-venice-audio-format, x-venice-audio-duration, x-venice-inference-time, x-venice-model-id und x-venice-model-name. Wenn der Provider die Konvertierung fehlschlagen lässt, wird die Berechnung automatisch erstattet und der Fehler-Body enthält credits_refunded. Erneutes Abfragen wiederholt dasselbe Ergebnis, statt eine zweite Erstattung auszulösen. Um gespeicherte Medien im selben Aufruf zu löschen, der das Audio zurückgibt, setze delete_media_on_completion bei Retrieve auf true. Das Audio kann danach nicht mehr abgerufen werden.

Vollständiges Beispiel

Dieses Python-Beispiel kalkuliert eine Konvertierung, lädt eine Quelldatei hoch, fragt alle fünf Sekunden den Status ab und speichert das Ergebnis als MP3.
Der Quote-Endpoint erfordert keine Authentifizierung, Anfragen an Queue, Retrieve und Complete hingegen schon.

Verwandte Ressourcen