# TranscriptDock > Transcripts from YouTube, TikTok and your own audio or video, through one REST API or straight from an AI agent over MCP. One kind of credit. A caption transcript (the video's own subtitles) costs 1 credit. AI transcription of the audio (mode auto when there are no captions, mode transcribe, uploads, direct links) costs 2 credits per started minute and needs a paid plan. Every account starts with 50 free credits. Reading and exporting transcripts is free. ## Docs - [Quickstart](https://transcriptdock.com/docs/quickstart): submit a link, wait for the job, export the transcript. Three requests. - [API reference](https://transcriptdock.com/docs/api-reference): endpoints, fields, responses, batches, uploads, webhooks, video discovery, credits, rate limits, errors. - [MCP](https://transcriptdock.com/docs/mcp): remote server at https://transcriptdock.com/mcp (Authorization: Bearer ), tools, and setup for Claude Code, Claude Desktop, Cursor, Windsurf, OpenClaw. - [Pricing and credits](https://transcriptdock.com/docs/pricing): plans, extra credits, when credits are charged. - [Sources](https://transcriptdock.com/docs/platforms): accepted YouTube and TikTok URLs, file uploads, direct links, limits. - [OpenAPI](https://transcriptdock.com/docs/openapi.yaml) ## Machine discovery - [MCP server card](https://transcriptdock.com/mcp/server-card) and [AI catalog](https://transcriptdock.com/.well-known/ai-catalog.json) - [llms-full.txt](https://transcriptdock.com/llms-full.txt): the API reference and MCP pages as one plain text file. --- # API reference Base URL: https://api.transcriptdock.com. JSON in and out. Authentication: Authorization: Bearer td_live_. Keys are created on the dashboard and shown once. POST /v1/jobs, /v1/batches, /v1/jobs/{id}/retry, /v1/video-discoveries and /v1/language-discoveries require an Idempotency-Key header (8 to 128 printable ASCII characters). The same key with the same body within 48 hours returns the original object; with a different body it returns 409 IDEMPOTENCY_CONFLICT. Every response carries X-Request-Id. ## Flow 1. POST /v1/jobs with { "source": { "url": "