Skip to main content

Overview

The Dubbing API allows you to automatically dub audio and video content into different languages while preserving the original voice characteristics, emotion, and timing.

Methods

create()

Create a new dubbing project from an audio or video file.
core.File
The audio or video file to dub. Either file or source_url must be provided.
str
URL of the source video/audio file. Either file or source_url must be provided.
str
Name of the dubbing project for identification purposes.
str
Source language. Expects a valid ISO 639-1 or ISO 639-3 language code (e.g., “en”, “es”, “fr”, “de”).
str
The target language to dub the content into. Expects a valid ISO 639-1 or ISO 639-3 language code.
str
[Experimental] An accent to apply when selecting voices from the library and to inform translation dialect preferences.
int
Number of speakers to use for dubbing. Set to 0 to automatically detect the number of speakers. If specified, helps the model identify distinct speakers.
bool
Whether to apply a watermark to the output video.
int
Start time of the source video/audio file in seconds. Use to dub only a portion of the content.
int
End time of the source video/audio file in seconds. Use to dub only a portion of the content.
bool
Whether to use the highest resolution available for video output.
bool
Advanced setting. Whether to drop background audio from the final dub. Can improve dub quality for content that shouldn’t have background tracks, such as speeches or monologues.
bool
[BETA] Whether transcripts should have profanities censored with the word [censored].
bool
Whether to prepare the dub for edits in dubbing studio or as a dubbing resource.
bool
Instead of using voice cloning, use a similar voice from the ElevenLabs Voice Library. Voices used from the library count towards workspace custom voice limits. Using this feature requires the add_voice_from_voice_library permission.
str
The mode for running the dubbing job:
  • automatic (default) - Automatic processing
  • manual - Manual mode with CSV transcript (experimental, not recommended for production)
core.File
CSV file containing manual transcript for dubbing. Only used when mode="manual".
float
Frames per second to use when parsing a CSV file. If not provided, FPS will be inferred from timecodes.
core.File
Custom foreground audio file to use in the dub.
core.File
Custom background audio file to use in the dub.
RequestOptions
Request-specific configuration.
DoDubbingResponse
Response containing:
  • dubbing_id (str) - Unique identifier for the dubbing project
  • status (str) - Current status of the dubbing job
  • expected_duration_sec (int) - Expected processing time in seconds

get()

Get metadata about a dubbing project, including its current status.
str
required
ID of the dubbing project to retrieve.
RequestOptions
Request-specific configuration.
DubbingMetadataResponse
Metadata containing:
  • dubbing_id (str) - Project ID
  • status (str) - Current status (dubbing, dubbed, completed, failed)
  • progress (float) - Completion progress percentage
  • target_video_url (str) - URL to download the dubbed video (when completed)
  • source_lang (str) - Source language code
  • target_lang (str) - Target language code
  • created_at (datetime) - Project creation timestamp

list()

List all dubbing projects you have access to.
str
Cursor for pagination. Used to fetch the next page of results. Returned in the response.
int
Maximum number of dubs to return. Cannot exceed 200, defaults to 100.
str
Filter by dubbing status:
  • dubbing - Currently processing
  • dubbed - Dubbing complete, awaiting finalization
  • completed - Fully completed
  • failed - Failed processing
str
Filter by creator:
  • personal - Only dubs created by you
  • shared - Only dubs shared with you
str
Field to order results by. Currently supports created_at.
str
Order direction:
  • ASCENDING - Oldest first
  • DESCENDING - Newest first (default)
RequestOptions
Request-specific configuration.
DubbingMetadataPageResponseModel
Paginated response containing:
  • items (List[DubbingMetadata]) - List of dubbing projects
  • next_cursor (str) - Cursor for next page (if available)
  • has_more (bool) - Whether more results exist

delete()

Delete a dubbing project.
str
required
ID of the dubbing project to delete.
RequestOptions
Request-specific configuration.
DeleteDubbingResponseModel
Response containing:
  • success (bool) - Whether deletion was successful

Async Methods

All methods have async equivalents:

Use Cases

  • Content localization: Dub videos for international audiences
  • E-learning: Translate educational content while preserving instructor’s voice characteristics
  • Marketing: Adapt promotional videos for different markets
  • Entertainment: Localize movies, TV shows, and podcasts
  • Accessibility: Make content available in multiple languages