---
title: "Submit Dubbing Job"
method: POST
path: "/dubbing/job"
---

# Submit Dubbing Job

`POST /dubbing/job`

Create a new dubbing job. The source video is validated, locales are resolved, and the job is queued for processing. Returns a requestId used to track the job.

## Request body

- DubbingSubmissionRequest
  - `sourceLocale` string, required — Locale code of the source language (e.g., 'en-US')
  - `targetLocale` string, required — Locale code of the target language (e.g., 'es-ES')
  - `sourceVideoPath` string, required — S3 or HTTPS path to the source video file (e.g., 's3://bucket/video.mp4' or 'https://example.com/video.mp4')
  - `exportPath` string — S3 path where the dubbed video will be exported (must start with 's3://', e.g., 's3://bucket/output.mp4')
  - `contentId` string — Unique identifier for the content (e.g., 'content_123')
  - `batchId` string — Identifier for the batch this submission belongs to (e.g., 'batch_001')
  - `batchName` string — Name of the batch this submission belongs to (e.g., 'Power Rangers Season 1')
  - `workflowType` 'AUTOMATED' | 'MANAGED' | 'MANAGED_HIGH_TIER' — Dubbing workflow tier: AUTOMATED (fully automated), MANAGED (human-in-the-loop QC), or MANAGED_HIGH_TIER (premium managed).
  - `mixType` 'UN_STYLE' | 'REPLACEMENT' — Audio mixing strategy: REPLACEMENT (replace original dialogue track) or UN_STYLE (overlay dubbed audio on the original).
  - `sourceSpeechTrackPath` string — S3 path to the source speech audio track, if separate from video (must start with 's3://', e.g., 's3://bucket/audio.wav')
  - `sourceMAndETrackPath` string — S3 path to the source Music & Effects (M&E) track (must start with 's3://', e.g., 's3://bucket/me_track.wav')
  - `uncompressedAudioPath` string — S3 path to the uncompressed audio file, if available (must start with 's3://', e.g., 's3://bucket/uncompressed.wav')
  - `segments` DubbingSegment[] — List of segments to be dubbed, with timing and dialogue information
    - `timestampStart` integer, required — Start time of the segment in milliseconds (e.g., 12345)
    - `timestampEnd` integer, required — End time of the segment in milliseconds (e.g., 23456)
    - `characterName` string, required — Name of the character speaking in this segment (e.g., 'John', 'Narrator')
    - `characterId` string, required — Unique identifier for the character (e.g., 'char_001')
    - `sourceDialogue` string, required — Original dialogue text in the source language (e.g., 'Hello, how are you?')
    - `targetDialogue` string — Translated dialogue text in the target language (e.g., 'Hola, ¿cómo estás?')
    - `segmentId` string — Unique identifier for the segment (e.g., 'seg_001')
  - `titleName` string — Title of the content (e.g., 'The Great Adventure')
  - `genreName` string — Genre of the content (e.g., 'Action', 'Comedy')
  - `maturityRating` string — Maturity rating of the content (e.g., 'PG-13', 'R')
  - `contentType` string — Type of content (e.g., 'movie', 'series')
  - `priority` integer — Priority of the dubbing job (higher means more urgent, e.g., 10)
  - `needByDate` string, date-time — Date by which the dubbed content is needed (e.g., '2024-07-01T12:00:00Z')
  - `isVideoWaterMarked` boolean — Indicates if the source video is watermarked (e.g., True, False)
  - `additionalSources` DubbingSubmissionAdditionalSource[] — Additional source assets to attach as input reference material (e.g., closed captions, audio hints)
    - `source` 'AUDIO_HINTS' | 'CC_SDH' | 'MISC' | 'DFXP_SUBTITLES', required — Type of additional source asset that can be attached to a dubbing job as input reference material.
    - `assetPath` string, required — S3 path to the asset file (must start with 's3://', e.g., 's3://bucket/asset.mp4')
  - `additionalProducts` DubbingSubmissionAdditionalProduct[] — Deliverable products to produce alongside or instead of the dubbed video (e.g., SRT subtitles, transcripts)
    - `product` 'SDH' | 'SRT' | 'WEBVTT' | 'TRANSCRIPT' | 'AS_RECORDED_SCRIPT' | 'AUDIO_HINTS' | 'SOURCE_VIDEO' | 'SOURCE_AUDIO' | 'ITT_SUBTITLES', required — Type of deliverable product that can be requested alongside (or instead of) the dubbed video.
    - `assetPath` string, required — S3 path to the asset file (must start with 's3://', e.g., 's3://bucket/asset.mp4')
    - `state` 'PENDING_DELIVERY' | 'DELIVERED' — State of an additional product in the delivery lifecycle. None – legacy / unknown (pre-deployment products, not shown as pending). PENDING_DELIVERY – explicitly awaiting delivery. DELIVERED – already delivered to the customer.
  - `metadata` object — Metadata attached to the dubbing job (e.g., {'key': 'value'})

## Response `200`

Successful Response

- DubbingSubmissionResponse
  - `requestId` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/deepdub-ai/apis/deepdub-managed-dubbing-api.md) · [All operations](https://skmtc.net/deepdub-ai/apis/deepdub-managed-dubbing-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deepdub-ai/deepdub-managed-dubbing-api/revisions/1f72f24ed1cf/schema)
