Transcription API

One transcription API for every source

YouTube, podcast, RSS feed or uploaded file to clean, timestamped text in a single HTTP call. JSON, SRT or VTT output.

request
curl https://api.techtuel.com/v1/transcriptions \
  -H "Authorization: Bearer txl_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "source_url": "https://www.youtube.com/watch?v=..." }'
response
{
  "id": "job_9f2c…",
  "status": "completed",
  "title": "The Daily Standup — Episode 42",
  "language": "en",
  "minutes": 12.5,
  "transcript": "Hello and welcome…",
  "segments": [
    { "start_seconds": 0, "text": "Hello and welcome" },
    { "start_seconds": 4.2, "text": "to the Daily Standup" }
  ]
}

Most transcription APIs expect an audio file that is already downloaded, trimmed and hosted somewhere. You end up maintaining yt-dlp, media extraction, temporary storage and network retries before you even talk to the API. Techtuel removes all that plumbing.

You send a URL — a YouTube video, a podcast episode, a feed — and the API resolves the source, fetches the audio, transcribes it and returns structured JSON with timestamped segments. One endpoint, whatever the source is.

Results are cached: re-submitting a public source that has already been transcribed doesn't consume your quota. That makes indexing a whole back catalogue affordable instead of budget-breaking.

Why this API

Any source, one call

YouTube, podcasts, RSS, direct audio URLs or uploads. No yt-dlp pipeline to maintain on your side.

Structured output

Plain text, JSON with timestamped segments, SRT or VTT — switched with a single ?format= parameter.

Built-in cache

Public sources already transcribed are served again for free. Re-indexing does not bill you twice.

Pricing you can read

Free100 credits/month (~50 min of audio), no credit card
Pro2000 credits/month (~1000 min of audio), 120 req/min

Frequently asked questions

How does the API handle different sources?+

You pass a URL in the source_url field: the API detects the type (YouTube, podcast, RSS, direct audio), resolves the audio and transcribes it. One endpoint for everything.

Which output formats are available?+

Plain text, JSON with timestamped segments, SRT and VTT. Pick one with the ?format=txt|json|srt|vtt parameter when you fetch the job.

Is transcription synchronous?+

Yes, by default: POST /v1/transcribe returns the transcript in the same response — no job id, no polling loop. Long audio does not fit in one HTTP request, so past the wait window (30s, raise it with ?wait= up to 120) the response becomes a 202 with a job id, which GET /v1/transcriptions/{id} retrieves once it is done. POST /v1/transcriptions is still there if you would rather drive the job yourself.

Is my data retained?+

Uploaded files are deleted after processing. Processing and hosting are 100% European. The transcript belongs to you.

Other ways to use the API

Free trial, no credit card

Generate an API key and transcribe your first source in under a minute. A free monthly quota lets you test under real conditions.

Start with the API