Skip to main content
POST
/
v1
/
me
/
dubs
Create new dub
curl --request POST \
  --url https://api.voicedub.ai/v1/me/dubs \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "voiceId": "123e4567-e89b-12d3-a456-426614174001",
  "link": "https://example.com/audio.mp3",
  "pitchShift": 0,
  "separate": true
}
'
{
  "dub": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "voiceId": "123e4567-e89b-12d3-a456-426614174001",
    "link": "https://example.com/audio.mp3",
    "separate": true,
    "status": "new",
    "inputDuration": null,
    "inputSource": "upload",
    "pitchShift": 0,
    "errorCode": null,
    "errorMessage": null,
    "apiCreditsUsed": 0,
    "apiCreditsLeft": null,
    "completedAt": null,
    "createdAt": "2024-01-15T10:00:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "dubUrl": null,
    "requiredCredits": null
  },
  "uploadUrl": "https://s3.amazonaws.com/bucket/uploads/123e4567-e89b-12d3-a456-426614174000?X-Amz-Signature=..."
}

Authorizations

Authorization
string
header
required

API key in the format: "Api-Key "

Body

application/json
voiceId
string<uuid>
required

UUID of the voice model to use for dubbing

Example:

"123e4567-e89b-12d3-a456-426614174001"

URL of audio/video to dub (alternative to file upload)

Example:

"https://example.com/audio.mp3"

pitchShift
integer
default:0

Pitch shift in semitones (-24 to +24)

Required range: -24 <= x <= 24
Example:

0

separate
boolean
default:true

Whether to separate vocals from backing track

Example:

true

Response

Dub created successfully

dub
object
required
uploadUrl
string<uri> | null
required

Presigned URL for uploading audio file (only when link not provided)

Example:

"https://s3.amazonaws.com/bucket/uploads/123e4567-e89b-12d3-a456-426614174000?X-Amz-Signature=..."