---
updatedAt: 2026-09-10T15:50:00.000Z
agentTools:
  projectIndex: https://docs.synthesia.io/llms.txt
---

# Create a dubbing project from an uploaded video asset

Use this endpoint to create a dubbing project from an uploaded video asset. Currently only S3 signed URLs are supported (using other URLs will return a `501` error)

# OpenAPI definition

```json
{
  "info": {
    "description": "Synthesia public API endpoints",
    "title": "Synthesia API",
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://api.synthesia.io",
      "description": "Synthesia public API URL."
    }
  ],
  "paths": {
    "/v2/dubbing": {
      "post": {
        "summary": "Create a dubbing project from an uploaded video asset",
        "description": "Use this endpoint to create a dubbing project from an uploaded video asset. Currently only S3 signed URLs are supported (using other URLs will return a `501` error)",
        "tags": [
          "Dubbing"
        ],
        "security": [
          {
            "api_key": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Create from uploaded asset",
                    "description": "Create a dubbing project from a previously uploaded video asset.",
                    "$ref": "#/components/schemas/CreateDubbingProjectApiRequestFromSourceAssetId"
                  },
                  {
                    "title": "Create from video URL",
                    "description": "Create a dubbing project directly from a video URL. Only S3 signed URLs are supported (using other URLs will return a 501 error).",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/CreateDubbingProjectApiRequestFromSourceVideoUrl"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted - Dubbing project created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDubbingProjectApiResponseSuccess"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Failed to create dubbing project. This can occur when: - The request validation fails - The source asset video URL is broken or inaccessible - There are errors creating the dubbed videos",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateDubbingProjectApiResponseFail"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "context": {
                          "type": "string",
                          "example": "One or more of the asset URLs in your video was broken"
                        },
                        "error": {
                          "type": "string",
                          "example": "BrokenAssetUrlError"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - Wrong API key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Asset ID was not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Not implemented yet: Only S3 related URLs are supported at the moment"
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected Server error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "openapi": "3.0.2",
  "components": {
    "schemas": {
      "DubbingOutputLanguage": {
        "enum": [
          "af",
          "sq",
          "am",
          "ar",
          "ar-DZ",
          "ar-BH",
          "ar-EG",
          "ar-IQ",
          "ar-JO",
          "ar-KW",
          "ar-LY",
          "ar-MA",
          "ar-QA",
          "ar-SA",
          "ar-SY",
          "ar-TN",
          "ar-AE",
          "ar-YE",
          "hy",
          "as",
          "az",
          "eu",
          "bn",
          "bs",
          "bg",
          "ca",
          "zh",
          "zh-CN",
          "zh-HK",
          "zh-TW",
          "hr",
          "cs",
          "da",
          "nl",
          "nl-BE",
          "nl-NL",
          "en",
          "en-AU",
          "en-CA",
          "en-GB",
          "en-HK",
          "en-IN",
          "en-IE",
          "en-KE",
          "en-MX",
          "en-NZ",
          "en-NG",
          "en-PH",
          "en-SG",
          "en-ZA",
          "en-TZ",
          "en-US",
          "et",
          "fil",
          "fi",
          "fr",
          "fr-BE",
          "fr-CA",
          "fr-FR",
          "fr-CH",
          "gl",
          "ka",
          "de",
          "de-AT",
          "de-DE",
          "de-CH",
          "el",
          "gu",
          "he",
          "hi",
          "hu",
          "is",
          "id",
          "ga",
          "it",
          "ja",
          "jw",
          "kn",
          "kk",
          "km",
          "ko",
          "lo",
          "lv",
          "lt",
          "mk",
          "ms",
          "ml",
          "mt",
          "mr",
          "mn",
          "ne",
          "no",
          "nb",
          "nn",
          "or",
          "pa",
          "ps",
          "fa",
          "pl",
          "pt",
          "pt-BR",
          "pt-PT",
          "ro",
          "ru",
          "sr",
          "si",
          "sk",
          "sl",
          "so",
          "es",
          "es-AR",
          "es-BO",
          "es-CL",
          "es-CO",
          "es-CR",
          "es-CU",
          "es-DO",
          "es-EC",
          "es-SV",
          "es-GQ",
          "es-GT",
          "es-HN",
          "es-LA",
          "es-MX",
          "es-NI",
          "es-PA",
          "es-PY",
          "es-PE",
          "es-PR",
          "es-ES",
          "es-US",
          "es-UY",
          "es-VE",
          "su",
          "sw",
          "sv",
          "ta",
          "ta-IN",
          "ta-SG",
          "ta-LK",
          "te",
          "th",
          "tr",
          "uk",
          "ur",
          "uz",
          "vi",
          "cy",
          "zu"
        ],
        "title": "DubbingOutputLanguage",
        "type": "string"
      },
      "DubbingInputLanguage": {
        "enum": [
          "af",
          "sq",
          "am",
          "ar",
          "ar-DZ",
          "ar-BH",
          "ar-EG",
          "ar-IQ",
          "ar-JO",
          "ar-KW",
          "ar-LY",
          "ar-MA",
          "ar-QA",
          "ar-SA",
          "ar-SY",
          "ar-TN",
          "ar-AE",
          "ar-YE",
          "hy",
          "as",
          "az",
          "ba",
          "eu",
          "be",
          "bn",
          "bs",
          "br",
          "bg",
          "my",
          "ca",
          "zh",
          "zh-CN",
          "zh-HK",
          "zh-TW",
          "hr",
          "cs",
          "da",
          "nl",
          "nl-BE",
          "nl-NL",
          "en",
          "en-AU",
          "en-CA",
          "en-GB",
          "en-HK",
          "en-IN",
          "en-IE",
          "en-KE",
          "en-MX",
          "en-NZ",
          "en-NG",
          "en-PH",
          "en-SG",
          "en-ZA",
          "en-TZ",
          "en-US",
          "et",
          "fo",
          "fi",
          "fr",
          "fr-BE",
          "fr-CA",
          "fr-FR",
          "fr-CH",
          "gl",
          "ka",
          "de",
          "de-AT",
          "de-DE",
          "de-CH",
          "el",
          "gu",
          "ht",
          "ha",
          "haw",
          "he",
          "hi",
          "hu",
          "is",
          "id",
          "it",
          "ja",
          "jw",
          "kn",
          "kk",
          "km",
          "ko",
          "lo",
          "la",
          "lv",
          "ln",
          "lt",
          "lb",
          "mk",
          "mg",
          "ms",
          "ml",
          "mt",
          "mi",
          "mr",
          "mn",
          "ne",
          "no",
          "nb",
          "nn",
          "oc",
          "pa",
          "ps",
          "fa",
          "pl",
          "pt",
          "pt-BR",
          "pt-PT",
          "ro",
          "ru",
          "sa",
          "sr",
          "sn",
          "sd",
          "si",
          "sk",
          "sl",
          "so",
          "es",
          "es-AR",
          "es-BO",
          "es-CL",
          "es-CO",
          "es-CR",
          "es-CU",
          "es-DO",
          "es-EC",
          "es-SV",
          "es-GQ",
          "es-GT",
          "es-HN",
          "es-LA",
          "es-MX",
          "es-NI",
          "es-PA",
          "es-PY",
          "es-PE",
          "es-PR",
          "es-ES",
          "es-US",
          "es-UY",
          "es-VE",
          "su",
          "sw",
          "sv",
          "tl",
          "tg",
          "ta",
          "ta-IN",
          "ta-SG",
          "ta-LK",
          "tt",
          "te",
          "th",
          "bo",
          "tr",
          "tk",
          "uk",
          "ur",
          "uz",
          "vi",
          "cy",
          "yi",
          "yo"
        ],
        "title": "DubbingInputLanguage",
        "type": "string"
      },
      "CreateDubbingProjectApiRequestFromSourceAssetId": {
        "properties": {
          "title": {
            "description": "The title of the dubbed video to create.",
            "example": "My dubbed video",
            "maxLength": 256,
            "title": "Title",
            "type": "string"
          },
          "targetLanguages": {
            "description": "The languages to dub the source media asset to.",
            "example": [
              "es-ES",
              "fr-FR"
            ],
            "items": {
              "$ref": "#/components/schemas/DubbingOutputLanguage"
            },
            "title": "Targetlanguages",
            "type": "array"
          },
          "lipsyncEnabled": {
            "default": false,
            "description": "Whether to enable lipsync for the dubbed video.",
            "example": true,
            "title": "Lipsyncenabled",
            "type": "boolean"
          },
          "videoDuration": {
            "default": "adaptive",
            "description": "The duration of the video to create.",
            "enum": [
              "adaptive",
              "original"
            ],
            "example": "adaptive",
            "title": "Videoduration",
            "type": "string"
          },
          "visibility": {
            "default": "private",
            "description": "The visibility of the dubbed video.",
            "enum": [
              "private",
              "public"
            ],
            "example": "private",
            "title": "Visibility",
            "type": "string"
          },
          "sourceAssetId": {
            "description": "The ID of the source media asset to create the dubbed video from.",
            "example": "<uuid>",
            "title": "Sourceassetid",
            "type": "string"
          },
          "sourceLanguage": {
            "$ref": "#/components/schemas/DubbingInputLanguage",
            "description": "The language of the source media asset.",
            "example": "en"
          }
        },
        "required": [
          "title",
          "targetLanguages",
          "sourceAssetId",
          "sourceLanguage"
        ],
        "title": "CreateDubbingProjectApiRequestFromSourceAssetId",
        "type": "object"
      },
      "CreateDubbingProjectApiRequestFromSourceVideoUrl": {
        "properties": {
          "title": {
            "description": "The title of the dubbed video to create.",
            "example": "My dubbed video",
            "maxLength": 256,
            "title": "Title",
            "type": "string"
          },
          "targetLanguages": {
            "description": "The languages to dub the source media asset to.",
            "example": [
              "es-ES",
              "fr-FR"
            ],
            "items": {
              "$ref": "#/components/schemas/DubbingOutputLanguage"
            },
            "title": "Targetlanguages",
            "type": "array"
          },
          "lipsyncEnabled": {
            "default": false,
            "description": "Whether to enable lipsync for the dubbed video.",
            "example": true,
            "title": "Lipsyncenabled",
            "type": "boolean"
          },
          "videoDuration": {
            "default": "adaptive",
            "description": "The duration of the video to create.",
            "enum": [
              "adaptive",
              "original"
            ],
            "example": "adaptive",
            "title": "Videoduration",
            "type": "string"
          },
          "visibility": {
            "default": "private",
            "description": "The visibility of the dubbed video.",
            "enum": [
              "private",
              "public"
            ],
            "example": "private",
            "title": "Visibility",
            "type": "string"
          },
          "sourceVideoUrl": {
            "description": "The public URL where the video to dub is available. At the moment only supporting s3 signed urls",
            "example": "s3://",
            "format": "uri",
            "maxLength": 2083,
            "minLength": 1,
            "title": "Sourcevideourl",
            "type": "string"
          },
          "sourceLanguage": {
            "default": null,
            "description": "The language of the source media asset. If not specified, the language will be detected automatically.",
            "example": "en",
            "allOf": [
              {
                "$ref": "#/components/schemas/DubbingInputLanguage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "title",
          "targetLanguages",
          "sourceVideoUrl"
        ],
        "title": "CreateDubbingProjectApiRequestFromSourceVideoUrl",
        "type": "object"
      },
      "DubbedVideosApiError": {
        "properties": {
          "error": {
            "default": null,
            "description": "The error type.",
            "title": "Error",
            "type": "string",
            "nullable": true
          },
          "language": {
            "default": null,
            "description": "The language of the error.",
            "title": "Language",
            "type": "string",
            "nullable": true
          }
        },
        "title": "DubbedVideosApiError",
        "type": "object"
      },
      "CreateDubbingProjectApiResponseFail": {
        "properties": {
          "dubbedErrors": {
            "description": "Errors related to the creation of the dubbed videos.",
            "items": {
              "$ref": "#/components/schemas/DubbedVideosApiError"
            },
            "title": "Dubbederrors",
            "type": "array"
          }
        },
        "title": "CreateDubbingProjectApiResponseFail",
        "type": "object"
      },
      "_ImportedAssetId": {
        "properties": {
          "id": {
            "format": "uuid",
            "title": "Id",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "title": "_ImportedAssetId",
        "type": "object"
      },
      "CreateDubbingProjectApiResponseSuccess": {
        "properties": {
          "createdImportedAsset": {
            "$ref": "#/components/schemas/_ImportedAssetId",
            "readOnly": true
          }
        },
        "required": [
          "createdImportedAsset"
        ],
        "title": "CreateDubbingProjectApiResponseSuccess",
        "type": "object"
      },
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ]
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    }
  }
}
```

# Sibling pages

* [Get dubbing project status and videos](https://docs.synthesia.io/reference/get-dubbing-project-status-and-videos.md)
* [Add locales to a dubbing project (original imported video)](https://docs.synthesia.io/reference/add-locales-to-a-dubbing-project.md)