Docs
Three calls: get a token once, queue a video, poll until it is done.
Tokens live on your account page and start with ytt_. You see the whole token once, when you create it, so put it straight into your environment. It spends the same minutes as the site, so nothing else has to be set up. Create your token.
The queue call answers immediately with an id. That is not the transcript: the work runs after it, and you read the job until its state is done or failed. Every 3 seconds is plenty.
curl -X POST https://api.youtubetotext.ai/v1/api/transcribe \
-H "Authorization: Bearer ytt_<your-token>" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'A finished job carries the text on txt, the cue formats on srt and webvtt, and 17 more fields including duration, is_preview and translations. A job that stopped with failed puts the reason on error and costs nothing.
curl https://api.youtubetotext.ai/v1/api/transcription/<job-id> \
-H "Authorization: Bearer ytt_<your-token>"