6 min read

TikTok Transcription API

Turn public TikTok video URLs into structured transcript text and timestamped segments with an asynchronous, Bearer-authenticated REST API.

Create your Fast Transcriber API key

Create a Bearer key, queue your first transcription, and poll for structured text with timestamped segments.

Queue public TikTok videos for transcription from an application or backend service. Fast Transcriber accepts the video URL, processes it asynchronously, and returns structured text and timestamped segments.

Add TikTok-to-text to a product or content workflow

Instead of asking users to download a public TikTok and re-upload it, submit the supported video URL directly. The API gives every job an ID and a predictable result shape that can move through queues, databases, search indexes, and downstream AI systems.

Choose the right public TikTok video URL

  • Canonical videos: prefer tiktok.com/@creator/video/{id}, which identifies one video and is easiest to log and deduplicate.
  • Copied short links: vm.tiktok.com and vt.tiktok.com share links can be submitted when their redirect still resolves to a public video.
  • Not video sources: creator profiles, hashtag pages, search pages, and collections do not identify one transcription source.

Quickstart: queue a public TikTok video transcription

Create a Fast Transcriber API key and store it in a server-side environment variable. Send the public media URL as source_url; never expose the Bearer key in browser code or commit it to source control.

curl --request POST https://fast-transcriber.com/api/v1/transcriptions \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "source_url": "https://www.tiktok.com/@creator/video/1234567890123456789",
    "speaker_diarization": false
  }'

A valid request returns 202 Accepted. This means the job was queued, not that the source was fetched successfully. Read the Location response header, set LOCATION_PATH to that path, and poll it until the job status is completed or failed.

LOCATION_PATH="/api/v1/transcriptions/95c3fdd8-..."
curl --request GET "https://fast-transcriber.com$LOCATION_PATH" \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN"

Ready to run this request? Create an API key, or review every endpoint in the API documentation.

Work with text and timestamped segments

Completed jobs contain the transcript text and timestamped segments available under the authenticated account's plan limits. The same response shape lets an application index a video, jump to quoted moments, create summaries, or feed the transcript into an authorized search or RAG workflow.

{
  "data": {
    "id": "95c3fdd8-...",
    "filename": "source-video.mp4",
    "status": "completed",
    "duration_seconds": 84,
    "text": "Completed transcript text...",
    "segments": [
      { "start": 0, "end": 3.8, "text": "First segment..." }
    ]
  }
}

Set speaker_diarization to true when speaker labels are needed. Speaker diarization requires a Pro account and uses the same account limits as the web application.

What developers build with public TikTok video transcripts

  • Approved creator submissions: convert campaign videos into searchable text for review and reporting.
  • Trend research: analyze the spoken language in a permitted set of public videos without manually transcribing each clip.
  • Accessible content workflows: use timestamped segments as the starting point for captions and human-reviewed text alternatives.

Supported links and access requirements

Submit a public TikTok video URL that can be opened without a TikTok login. The resolver handles the media acquisition before transcription begins.

  • The video must be public and still available at the submitted URL.
  • Private, friends-only, age-gated, removed, or login-gated videos cannot be imported.
  • Submit one video per transcription job and respect the creator's rights and applicable platform rules.

If a recording is private and you are authorized to process it, retrieve the media through your own authenticated workflow and use the direct audio and video upload API instead.

Troubleshoot public TikTok video imports

  • Check the audience setting: friends-only and private posts can look valid to a signed-in creator but remain unavailable to the transcription worker.
  • Account for restrictions: age, region, or login gates may stop media resolution even when the URL itself is well formed.
  • Expect removed-video failures: a deleted or moderated video can disappear between submission and processing, so always handle a failed polled result.

Plan for asynchronous errors

Production integrations should handle invalid or inaccessible sources, authentication failures, account limits, and temporary processing failures. Immediate HTTP failures use an {"error":{"code":"...","message":"..."}} envelope. A queued source can later return data.status as failed with details in data.error when polled. Do not retry private, removed, or login-gated media indefinitely; surface a clear message or offer an authorized file-upload fallback.

Frequently asked questions

Do private TikTok videos work?

No. The URL must be publicly accessible without a TikTok login.

Must my application download the TikTok video first?

Not for a supported public URL. Submit it directly as source_url and Fast Transcriber handles the link-resolution step.

Can the API return timestamps?

Yes. Completed jobs include transcript text and timestamped segments, subject to the authenticated account's plan limits.

Related API articles

Create your Fast Transcriber API key

Create a Bearer key, queue your first transcription, and poll for structured text with timestamped segments.