Introduction
VEED Dubbing is the standard tier of VEED's dubbing API. Send a talking clip in video_url, choose target_language, and it comes back in that language with each speaker's voice cloned and the lips moving to the translated words.
Key features & highlights
The lips follow the new language
The mouth area is redrawn for every speaker it can see. In our wine-cellar test both the woman and the man were re-synced to Spanish, while the barrels, the glass and the lighting were untouched.
Voices that stay recognisable
There is no switch for it: every speaker is cloned from the clip itself, so the dub keeps their timbre without a separate voice sample.
Translation that keeps the meaning
In our test a line where a woman says she was brought down to the cellar alone came back as "a solas", which avoids the gender slip a word-for-word translation can make.
Request parameters
| Parameter | Required | Description |
|---|---|---|
video_url | Yes | The clip to dub, up to 10 minutes, with speech in its audio track. at least 1 characters |
target_language | Yes | Required. One of 86 base languages to dub into. |
source_language | No | The language spoken in the clip. Default auto, which detects it. |
keyterms | No | Up to 10 names or short phrases that speech recognition should write exactly as given, each up to 50 characters and 5 words, without < > { } [ ] or backslashes. at most 10 items |
Pricing
$0.144 / output second
Billed per second of the source clip, rounded up to the next whole second, up to 10 minutes. The estimate before submission uses the length of a clip you uploaded, or the 10-minute maximum for a link, and the difference is released when the task settles. Language choice and keyterms do not change the price. Failed requests are not charged.
Use cases
One creator, several languages
Record once and publish the take for each market you target, with lips that match each version.
Localising generated scenes
Dub characters from a video model into your audience's language and keep the mouth movement convincing.
Prompt guide & pro tips
Keep faces visible
Well-lit faces turned to the camera give the clearest lip sync. Wide shots and covered faces still get the new audio, but little visible change around the mouth.
Use keyterms for names, not translations
Keyterms help the transcription catch a name or brand; they are not term-to-translation pairs. Write each term the way it is said in the clip.
Need an accent?
This tier dubs into base languages. Regional accents and a voice-similarity control are on VEED Dubbing Pro.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "veed/dubbing/video-translate",
"input": {
"source_language": "auto",
"target_language": "af",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.


