Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.deepdub.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Managed Dub API can produce text deliverables — subtitles, captions, and transcripts — without rendering or delivering a dubbed video. This is the subtitle-only (deliverables-only) flow. It uses the same POST /dubbing/job endpoint as a full dubbing job (see the Submit Dubbing Job endpoint in the API Reference). The difference is entirely in the request body: you request one or more additional products and omit the dubbed-video export path.

How it works

A dubbing job always runs intake, transcription, and translation against the source video. What the job delivers depends on the request:
You provideThe job delivers
exportPath onlyA dubbed video at that location
additionalProducts onlyThe requested subtitle/transcript files — no dubbed video
BothA dubbed video and the requested deliverables
For a subtitle-only job you therefore set additionalProducts and leave exportPath unset.
A request must contain at least one of exportPath or additionalProducts. A job with neither has nothing to deliver and will fail at delivery time.

Available subtitle & transcript products

Each entry in additionalProducts has a product type and an assetPath — the s3:// destination where Deepdub writes the finished file.
productDeliverable
SRTSubRip subtitles
WEBVTTWebVTT subtitles
SDHSubtitles for the Deaf and Hard of Hearing
ITT_SUBTITLESiTunes Timed Text (iTT) subtitles
TRANSCRIPTPlain-text transcript

Request

1

Build the request body

Provide the source video and the target locale, then list the subtitle/transcript products you want under additionalProducts. Do not set exportPath.
{
  "sourceLocale": "en-US",
  "targetLocale": "es-ES",
  "sourceVideoPath": "s3://your-bucket/input/episode-01.mp4",
  "additionalProducts": [
    {
      "product": "SRT",
      "assetPath": "s3://your-bucket/output/episode-01.es-ES.srt"
    },
    {
      "product": "TRANSCRIPT",
      "assetPath": "s3://your-bucket/output/episode-01.es-ES.txt"
    }
  ]
}
2

Submit the job

curl -X POST https://dubbing.deepdub.app/dubbing/job \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "sourceLocale": "en-US",
    "targetLocale": "es-ES",
    "sourceVideoPath": "s3://your-bucket/input/episode-01.mp4",
    "additionalProducts": [
      { "product": "SRT", "assetPath": "s3://your-bucket/output/episode-01.es-ES.srt" },
      { "product": "TRANSCRIPT", "assetPath": "s3://your-bucket/output/episode-01.es-ES.txt" }
    ]
  }'

Response

{
  "requestId": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
Use the requestId to track the job.

Tracking status

Poll the GET /dubbing/job/{requestId} endpoint (see Get Dubbing Job in the API Reference) to follow the job. Each entry in the returned additionalProducts reports its delivery state:
  • PENDING_DELIVERY — awaiting delivery
  • DELIVERED — written to the requested assetPath
Once every requested product reports DELIVERED, the subtitle files are available at their assetPath locations.

Notes

  • All S3 paths (sourceVideoPath, assetPath) must start with s3:// and be in a bucket Deepdub is authorized to read from and write to.
  • Authenticate every request with the x-api-key header. Contact your account manager to obtain an API key.
  • The base URL is https://dubbing.deepdub.app.