Queue Voice Changer
Queue a speech-to-speech conversion, re-recording a source recording in a different voice while preserving its delivery, pacing and timing.
Supply the source recording exactly one of two ways: as a multipart/form-data upload in the file field, or as an http(s) audio_url in a JSON body. Supplying both, or neither, is rejected. When you pass a URL, Venice fetches and validates the bytes itself and forwards only those bytes to the provider — the URL is never handed onward.
The recording is validated from its binary signature rather than its filename or declared content type, so the accepted containers published as accepted_audio_formats in /models are enforced on the actual bytes. Recordings above the size limit or longer than max_source_audio_duration_seconds are rejected before any charge.
Billing is based on the length of the source recording, measured server-side and rounded up to the next whole minute; the measured length is returned as duration_seconds so it can be reconciled against /audio/voice-changer/quote. A queued conversion has already been charged, so this request is not safe to retry: if the response is lost, poll /audio/voice-changer/retrieve rather than queueing again.
Authentication: This endpoint accepts either a Bearer API key or a SIGN-IN-WITH-X header for x402 wallet-based authentication. The legacy X-Sign-In-With-X header is also accepted during migration. When using x402, a 402 Payment Required response indicates insufficient balance and includes top-up instructions.
/audio/voice-changer/quote to estimate cost, then poll /audio/voice-changer/retrieve with the returned queue_id until the conversion finishes. A queued conversion has already been charged — if this response is lost, poll retrieve rather than queueing again. If you keep converted media after retrieval, call /audio/voice-changer/complete once you have downloaded it.
Voice-changer models are not accepted on /audio/queue. See the Voice Changer guide for a full walkthrough.
Postman Collection
For additional examples, please see this Postman Collection.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The voice-changer model to run. Models that are not voice changers are not supported here; use the /api/v1/audio endpoints instead.
"elevenlabs-voice-changer"
The source recording (multipart/form-data, field name "file"). Accepted containers are listed per model as accepted_audio_formats in /models. Mutually exclusive with audio_url.
Publicly reachable http(s) URL of the source recording. Venice fetches and validates the bytes itself and forwards only those bytes to the provider, so the URL is never handed onward. Mutually exclusive with the multipart file field.
"https://example.com/source-recording.mp3"
The target voice: one of the model’s voices from /models, or a provider Voice ID when the model reports supports_custom_voice_id. Defaults to the model’s default_voice.
"Aria"
Strip background noise from the source recording before conversion.
false
Seed for reproducible output. Omit for a non-deterministic result.
x >= 042
Response
Voice conversion queued successfully
The model that is running the conversion. Only voice-changer models are accepted on the /api/v1/audio/voice-changer endpoints.
"elevenlabs-voice-changer"
Pass this to /audio/voice-changer/retrieve to poll for the converted audio, and to /audio/voice-changer/complete when finished.
"0190f2c4-9c1e-7a3b-8f42-2c9d5e7a1b34"
Always QUEUED. The provider has accepted the job.
QUEUED "QUEUED"
Length of the source recording in seconds, measured server-side, and therefore the exact quantity billed for this request. Use it to reconcile against the estimate from /audio/voice-changer/quote.
52