DEV Community

Cover image for DaDaScribe API: YouTube Multi-Language Transcript + SRT in One Request
Fabrizio Ferrari
Fabrizio Ferrari

Posted on Originally published at dadascribe.com

DaDaScribe API: YouTube Multi-Language Transcript + SRT in One Request

Most transcription APIs still force you to do this:

  1. Download the YouTube video
  2. Extract the audio with yt-dlp + ffmpeg
  3. Upload the file
  4. Call the transcription endpoint
  5. Call a separate translation API
  6. Map generic speaker labels ("Speaker 0") to real names
  7. Generate SRT files yourself

That’s a lot of moving parts for something that should be simple.

The DaDaScribe API collapses most of that into a single request.

You send a YouTube URL (or a direct audio/video link), specify the source language, optionally add up to 5 target languages + speaker names, and you get back clean .txt transcripts and .srt subtitle files, including translations. Of course, you can also directly upload an audio or video file.


Quick Start

Here’s the minimal flow:

1. Submit a transcription job

bash
curl -X POST https://api.dadascribe.com/v1/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "https://www.youtube.com/watch?v=VIDEO_ID",
    "source-language": "en",
    "destination-language": "es,fr,it",
    "diarization": "Lex,Guest"
  }
Enter fullscreen mode Exit fullscreen mode

Response:

{
  "status": "ok",
  "id": "a1B2c3D4e5F6g7H8",
  "count": 1
}
Enter fullscreen mode Exit fullscreen mode

2. Poll for status

curl -X POST https://api.dadascribe.com/v1/status \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "a1B2c3D4e5F6g7H8"}'
Enter fullscreen mode Exit fullscreen mode

3. Download the results

When status is "complete", you get direct URLs to the .txt and .srt files (including translated versions). No auth header required on the download.

Here is the Python version of the same flow:

import requests
import time

API_KEY = "YOUR_API_KEY"
BASE = "https://api.dadascribe.com/v1"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# Submit
resp = requests.post(f"{BASE}/transcribe", headers=headers, json={
    "source": "https://www.youtube.com/watch?v=VIDEO_ID",
    "source-language": "en",
    "destination-language": "es,fr",
    "diarization": "Host,Guest"
})
job_id = resp.json()["id"]

# Poll
while True:
    status = requests.post(f"{BASE}/status", headers=headers, json={"id": job_id}).json()
    if status["status"] == "complete":
        print(status["urls"])
        break
    time.sleep(3)
Enter fullscreen mode Exit fullscreen mode

What Actually Makes This Useful

Here are the features that remove real work from a developer’s pipeline:

Feature DaDaScribe Typical Alternatives
YouTube URL as input First-class Usually requires extraction
Built-in translation Over 120 languages Separate API call
Named speaker diarization You provide the names Generic "Speaker 0/1"
Pre-processing pipeline Noise reduction + cleanup You handle it
Output formats .txt + .srt Often JSON only
Number of core endpoints 3 Usually many more

The pre-processing step is particularly important. Before the speech model ever sees the audio, DaDaScribe runs noise reduction and voice isolation. This is why it handles music (lyrics extraction) and messy real-world recordings better than raw model APIs.

You can see the difference in the Beyoncé "Halo" lyrics demo and the long-form Lex Fridman podcast examples.

How It Compares to the Big Three (Short Version)

  • OpenAI Whisper API: Excellent model, but no native YouTube support, limited translation (mostly into English), and no built-in diarization.
  • Deepgram / AssemblyAI: Strong on streaming and accuracy benchmarks. You still need to handle YouTube extraction and translation yourself. Speaker labels are generic.
  • DaDaScribe: Opinionated toward content pipelines (YouTube, podcasts, multi-language output). Batch-only (no real-time streaming yet). Fewer endpoints, more built-in conveniences.

Full side-by-side comparison (pricing models, retention policy, feature matrix, etc.) is here: DaDaScribe API vs the Big Three


When You Should Use It

Good fit if you are building:

  • YouTube / podcast content pipelines
  • Multi-language subtitle generation
  • Tools that need named speakers without post-processing
  • Anything where reducing the number of external services matters

Less ideal if you need:

  • Real-time / streaming transcription
  • The absolute lowest possible per-minute cost at very high volume
  • Extremely specialized domain models (medical, legal) right now

Try It

The API is currently in v1. Feedback from developers is welcome, especially around edge cases and missing features.

Please post your comments or questions below; I'll be happy to answer them personally!


Originally published in more detail on the DaDaScribe Learning Center.

Top comments (0)