AI transcription
  1. Docs
  2. AI transcription

AI transcription

Get a transcript for media that has no captions. How it is billed, how long it takes, and what can go wrong.

Transcript endpoints return the platform's own captions when the media has them. When it does not, SocialScrape can transcribe the audio for you, so a transcript request does not dead-end on "no captions".

How it works#

  1. We look for captions first. If we find them, you get them: source is captions or auto_captions and the price is 1 credit.
  2. If there are none, we transcribe the audio on our own GPUs and return the text with source: "ai", a language, and timed segments.
1{2  "object": "transcript",3  "platform": "youtube",4  "video_id": "dQw4w9WgXcQ",5  "language": "en",6  "source": "ai",7  "duration_seconds": 213.0,8  "text": "...",9  "segments": [ { "start": 0.0, "end": 4.0, "text": "..." } ]10}

Always check source if the difference between captions and machine transcription matters to you.

What it costs#

Captions cost 1 credit. AI transcription costs 1 credit for up to 2 minutes of audio. Longer videos cost 5 credits per started minute of the whole video, so 10 minutes is 50 credits, and they need allow_long_transcription=true. Without it, a longer video answers transcript_unavailable, which is free. If your balance cannot cover a long video, it answers insufficient_credits before any audio is transcribed. You pay only when the transcript is delivered; a failed transcription is free.

Audio lengthCredits
Captions (any length)1
30 seconds1
2 minutes1
2 minutes 1 second15
3 minutes15
10 minutes50
30 minutes150
1 hour300
2 hours600

Cached repeats are free like any request, so fetching a transcript you already paid for again with max_age_days costs nothing.

Turn it off#

These transcript endpoints take ai_fallback=false: Kick clip transcript, TikTok video transcript, Twitch clip transcript. With it, the endpoint returns nothing instead of transcribing, and charges nothing. ScrapeCreators' use_ai_as_fallback is accepted as the same parameter.

Time and long media#

Short clips finish within the normal request time. Long media can take minutes. A request still running after about 25 seconds answers 202 with a job to poll; see Batch and jobs. Poll rather than holding a connection open.

Our own transcription capacity is shared and limited, by design:

  • If the lane is busy or the daily allowance for your team is used up, the request fails with overloaded (retryable, free). Retry with backoff.
  • Media longer than about 4 hours is refused with transcript_unavailable.
  • transcript_unavailable also covers media with no speech or no audio track.

Any URL#

Transcript from any video URL takes a video URL from any supported platform, picks the right endpoint and returns the same result at the same price and from the same cache.

1curl -G "https://api.socialscrape.dev/v1/transcript" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  --data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"

Endpoints that return transcripts#