TTranscribeAI
Developers

TranscribeAI APIbeta

Transcribe video links and files, create summaries and export subtitles from your own tools.

Quick start

The TranscribeAI API is included in the Unlimited plan. Create a key from the API button in the site header (when signed in), then send it in the Authorization header.

curl https://transcribeai.site/api/me \
  -H "Authorization: Bearer tai_YOUR_KEY"

Authentication and limits

Transcribe a video link

POST /api/v1/transcribe. Public TikTok, Instagram, Facebook and X links are supported. YouTube links are not supported.

curl -X POST https://transcribeai.site/api/v1/transcribe \
  -H "Authorization: Bearer tai_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.tiktok.com/@user/video/123", "language": "fr"}'

Response (shortened):

{
  "transcript": "Bonjour à tous...",
  "detected_language": "english",
  "output_language": "fr",
  "translated": true,
  "platform": "tiktok",
  "duration_seconds": 42.5,
  "segments": [{"start": 0.0, "end": 3.2, "text": "Bonjour à tous"}],
  "minutes_used_this_period": 1.2,
  "minutes_limit": 4800
}

language is the output language. auto keeps the original spoken language. A code translates the transcript and its segments: en, fr, es, ar, de, it, pt, nl, ru, zh, ja, ko, tr, hi, pl. The response includes detected_language (spoken), output_language, translated (true/false) and, if something went wrong, translation_error.

Transcribe an uploaded file

POST /api/v1/transcribe-file. Send the file as the raw request body. Accepted: MP3, WAV, M4A, AAC, OGG, OPUS, FLAC, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, 3GP. The language query parameter works as above (output language, auto = no translation).

curl -X POST "https://transcribeai.site/api/v1/transcribe-file?language=auto&filename=meeting.mp3" \
  -H "Authorization: Bearer tai_YOUR_KEY" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @meeting.mp3

AI summary

POST /api/v1/summary

curl -X POST https://transcribeai.site/api/v1/summary \
  -H "Authorization: Bearer tai_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"transcript": "Full transcript text...", "language": "auto"}'

Response: {"summary": "..."}

Export subtitles and documents

POST /api/v1/export/{format} where format is txt, docx, pdf, srt or vtt. Pass the transcript and the segments returned by the transcription call.

curl -X POST https://transcribeai.site/api/v1/export/srt \
  -H "Authorization: Bearer tai_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"transcript": "Hello everyone", "segments": [{"start": 0.0, "end": 3.2, "text": "Hello everyone"}]}' \
  -o subtitles.srt

Use it in n8n or Python

n8n: add an HTTP Request node, method POST, URL https://transcribeai.site/api/v1/transcribe, header Authorization = Bearer tai_YOUR_KEY, body type JSON.

import requests

r = requests.post(
    "https://transcribeai.site/api/v1/transcribe",
    headers={"Authorization": "Bearer tai_YOUR_KEY"},
    json={"url": "https://www.tiktok.com/@user/video/123", "language": "auto"},
    timeout=300,
)
print(r.json()["transcript"])

Errors

CodeMeaning
400Invalid request, unsupported file type, or the link could not be downloaded
401Missing, invalid or revoked API key
402Monthly minutes used up
403The account is not on the Unlimited plan
413File too large
429Rate limit reached, retry after the delay in Retry-After
502The transcription service returned an error, try again

Errors are JSON: {"detail": "message"}

Get your API key

Sign in, open the API button in the header and create a key. API access is part of the Unlimited plan.

See the Unlimited plan