Audio

/api/v1/audio/voice-changer/queue

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.

post/api/v1/audio/voice-changer/queue

Request

  • Base URL: https://api.venice.ai
  • URL: https://api.venice.ai/api/v1/audio/voice-changer/queue
  • Auth: one of:
    • HTTP bearer
    • API key in header SIGN-IN-WITH-X

Request body

modelstring required

The voice-changer model to run. Models that are not voice changers are not supported here; use the /api/v1/audio endpoints instead.

filestring binary

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.

audio_urlstring

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.

voicestring

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.

remove_background_noiseboolean

Strip background noise from the source recording before conversion.

seedinteger

Seed for reproducible output. Omit for a non-deterministic result.

Example request

{
  "model": "elevenlabs-voice-changer",
  "audio_url": "https://example.com/source-recording.mp3",
  "voice": "Aria",
  "seed": 42
}

Response

Voice conversion queued successfully

modelstring required

The model that is running the conversion. Only voice-changer models are accepted on the /api/v1/audio/voice-changer endpoints.

queue_idstring required

Pass this to /audio/voice-changer/retrieve to poll for the converted audio, and to /audio/voice-changer/complete when finished.

status'QUEUED' required

Always QUEUED. The provider has accepted the job.

duration_secondsnumber required

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.

Example response

{
  "model": "elevenlabs-voice-changer",
  "queue_id": "0190f2c4-9c1e-7a3b-8f42-2c9d5e7a1b34",
  "status": "QUEUED",
  "duration_seconds": 52
}

Changes

No recorded changes to this operation across all 1 revision of this API.