Workflow guide

Adding a language

Start from an existing dub and add another language so you can deliver more localized versions without re-uploading the source video.

  1. Step 1. Find the dub you want to extend

    Use the GET /api/dubbing/l (list projects) endpoint to find the existing dub you want to extend, or use a project_id you saved when you originally created the dub. Once you know which project you want, keep that project_id handy.

    List existing dubs
    ```bash
    # Find the project_id of the dub you want to extend
    curl -X GET "https://babelfish.dittodub.com/api/dubbing/l?page=0" \
      -H "x-api-key: $API_KEY"
    ```
  2. Step 2. Request an additional language

    Call POST /api/dubbing/language with the project_id and a languages array containing the new target language, for example ["fr"] for French. You can send one or several languages at once. Ditto keeps your existing dubs exactly as they are and schedules new processing jobs only for the languages you add.

    Add a new language
    ```bash
    # Add an extra language to an existing project
    curl -X POST "https://babelfish.dittodub.com/api/dubbing/language" \
      -H "x-api-key: $API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"project_id":"YOUR_PROJECT_ID","languages":["fr"]}'
    ```
  3. Step 3. Wait for the new language to finish

    Just like when you first created the dub, poll GET /api/dubbing for the same project_id. The response includes per-language status; watch the entry for your newly added language and wait until its state is "verified" before you try to download it.

    Check per-language status
    ```bash
    # Watch the new language until it is verified
    curl -X GET "https://babelfish.dittodub.com/api/dubbing?project_id=YOUR_PROJECT_ID" \
      -H "x-api-key: $API_KEY"
    ```
  4. Step 4. Download the new language

    When the new language is verified, call GET /api/dubbing/download again with the same project_id, language set to the new code (for example "fr"), and a type such as "audio" or "subtitles". This lets you pull down just the new dubbed files and present them next to your existing languages.

    Download the new language
    ```bash
    # Download only the newly added language
    curl -L "https://babelfish.dittodub.com/api/dubbing/download?type=audio&project_id=YOUR_PROJECT_ID&language=fr" \
      -H "x-api-key: $API_KEY"
    ```