POST
/
dub
curl --request POST \
  --url https://client.camb.ai/apis/dub \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "video_url": "<string>",
  "source_language": 1,
  "target_languages": [
    1
  ],
  "selected_audio_tracks": null,
  "add_output_as_an_audio_track": null
}'
{
  "task_id": "<string>"
}

This endpoint generates creates a dubbing task for a given media file in the link provided and generates a full dubbed version. To check the status of the task, the /dub/{task_id} endpoint can be polled.

Supported Video Links:

The video_url parameter in the request payload supports the following types of links:

  • YouTube video links.
  • Google Drive media file links (accessible without authentication or special permissions).
  • Direct links to media files that can be fetched without requiring authentication or restricted access.

Supported Files

The video_url parameter in the request payload supports the following file types:

  • Video Files:

    • MP4
    • MOV
    • MXF
  • Audio Files:

    • MP3
    • FLAC
    • WAV
    • AAC

Specifying Source and Target Languages

Ensure that the source_language and target_languages are specified by the id provided from the system:

Authorizations

x-api-key
string
header
required

The x-api-key is a custom header required for authenticating requests to our API. Include this header in your request with the appropriate API key value to securely access our endpoints. You can find your API key(s) in the 'API' section of our studio website.

Body

application/json
video_url
string
required

The URL of the media file to be used to create the end-to-end dubbing task.

source_language
enum<integer>
required

The original language of the media file to be used to create the end-to-end dubbing task.

Available options:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148
target_languages
enum<integer>[]

The list of desired languages that the media file will be dubbed to.

Available options:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
106,
107,
108,
109,
110,
111,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
124,
125,
126,
127,
128,
129,
130,
131,
132,
133,
134,
135,
136,
137,
138,
139,
140,
141,
142,
143,
144,
145,
146,
147,
148
selected_audio_tracks
integer[] | null

Optional array of one or two zero‑based audio track indices to dub. Only supported for MXF files. If omitted, the first audio track (index 0) is used by default.

add_output_as_an_audio_track
boolean | null

Optional flag to append the dubbed audio as a new audio track in the output file. Only supported for MXF files. If true, the dubbed audio is added as an additional track; if false or omitted, the source would be returned with only dubbed audio.

Response

200
application/json
Successful Response

A JSON that contains the unique identifier for the task. This is used to query the status of the end to end dubbing task that is running. It is returned when a create request is made for a dub

task_id
string