Перейти к содержимому
Transcript Dock
ВойтиНачать бесплатно

Меню сайта

Transcript Dock
ВведениеКак это работает, руководства и что можно расшифровать.
Быстрый стартОтправьте ссылку, дождитесь задачи, экспортируйте транскрипт. Три запроса.
АутентификацияAPI-ключи, области доступа, Idempotency-Key и X-Request-Id.
ЗадачиСоздание, ожидание, список, отмена и повтор задач.
ТранскриптыОбъект транскрипта и экспорт в txt, srt, vtt, json.
ПакетыДо 50 видео в одном запросе.
ЗагрузкиРасшифровывайте ваши собственные аудио- и видеофайлы.
ВебхукиПолучайте уведомление, когда задача или пакет завершится; проверяйте подпись.
ОшибкиВсе коды ошибок, что они значат и что делать.
Лимиты запросовОтправки, задачи в обработке и чтения по тарифу; ответ 429.
Тарифы и кредиты1 кредит за транскрипт по субтитрам, 2 за минуту AI-расшифровки. Тарифы и дополнительные кредиты.
ИсточникиYouTube, TikTok, ваши файлы и прямые ссылки: принимаемые URL и режимы.
MCPНаходите и расшифровывайте видео из Claude, Cursor, Windsurf или собственного агента.
Спецификация OpenAPIСпецификация OpenAPI 3.1 для генерации кода и типизированных клиентов.
Claude CodeОдна команда добавляет Transcript Dock в Claude Code.
Приложение ClaudeДобавьте Transcript Dock как пользовательский коннектор на claude.ai, в Claude Desktop или мобильном приложении.
CursorДобавьте Transcript Dock как MCP-сервер в Cursor.
WindsurfДобавьте Transcript Dock в Windsurf, чтобы Cascade мог находить видео и расшифровывать их.
OpenClawПодключите Transcript Dock к автономным агентам OpenClaw.
19 результатов
Руководства

LLMs.txt

Текстовый указатель и полная выгрузка документации для ИИ-агентов.

Обновлено


Два текстовых файла для ИИ-агентов и краулеров по соглашению llms.txt. Направьте агента на любой из них вместо HTML-документации.

/llms.txt#

Короткий указатель: что такое Transcript Dock и ссылки на основные страницы документации.

GET /llms.txt
# 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 gets 50 free credits every month. Reading and exporting transcripts is free.
 
## Docs
 
- [Quickstart](https://www.transcriptdock.com/docs/quickstart): submit a link, wait for the job, export the transcript. Three requests.
- [API reference](https://www.transcriptdock.com/docs/api-reference): endpoints, fields, responses, batches, uploads, webhooks, video discovery, credits, rate limits, errors.
- [MCP](https://www.transcriptdock.com/docs/mcp): remote server at https://www.transcriptdock.com/mcp (OAuth sign in for Claude custom connectors, or Authorization: Bearer <api key>), tools, and setup for Claude, Claude Code, Cursor, Windsurf, OpenClaw.
- [Pricing and credits](https://www.transcriptdock.com/docs/pricing): plans, extra credits, when credits are charged.
- [Sources](https://www.transcriptdock.com/docs/platforms): accepted YouTube and TikTok URLs, file uploads, direct links, limits.
- [OpenAPI](https://www.transcriptdock.com/docs/openapi.yaml)
- [Changelog](https://www.transcriptdock.com/docs/changelog): notable API, MCP and pricing changes, newest first.
 
## Guides
 
- [How to get a YouTube transcript](https://www.transcriptdock.com/docs/youtube-transcript): five ways, from YouTube's own transcript panel to the API and Claude.
- [How to get a TikTok transcript](https://www.transcriptdock.com/docs/tiktok-transcript): video and share links, a profile's latest videos, videos without captions.
- [Video transcripts for RAG](https://www.transcriptdock.com/docs/transcripts-for-rag): fetch timed segments, chunk by time, keep timestamp citations.
- [n8n](https://www.transcriptdock.com/docs/n8n) and [LangChain](https://www.transcriptdock.com/docs/langchain): workflow and agent setups.
 
## Compared with alternatives
 
- [All alternatives](https://www.transcriptdock.com/docs/alternatives), [vs Supadata](https://www.transcriptdock.com/docs/supadata-alternative), [vs TranscriptAPI](https://www.transcriptdock.com/docs/transcriptapi-alternative), [vs youtube-transcript-api](https://www.transcriptdock.com/docs/youtube-transcript-api-alternative), [vs Apify scrapers](https://www.transcriptdock.com/docs/apify-alternative): what each does, prices, and when to pick it instead.
 
## Machine discovery
 
- [MCP server card](https://www.transcriptdock.com/mcp/server-card) and [AI catalog](https://www.transcriptdock.com/.well-known/ai-catalog.json)
- [llms-full.txt](https://www.transcriptdock.com/llms-full.txt): the API reference and MCP pages as one plain text file.

/llms-full.txt#

Справочник API и страницы MCP одним текстовым файлом для агентов, которые читают всё одним запросом.

GET /llms-full.txt
# 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 gets 50 free credits every month. Reading and exporting transcripts is free.
 
## Docs
 
- [Quickstart](https://www.transcriptdock.com/docs/quickstart): submit a link, wait for the job, export the transcript. Three requests.
- [API reference](https://www.transcriptdock.com/docs/api-reference): endpoints, fields, responses, batches, uploads, webhooks, video discovery, credits, rate limits, errors.
- [MCP](https://www.transcriptdock.com/docs/mcp): remote server at https://www.transcriptdock.com/mcp (OAuth sign in for Claude custom connectors, or Authorization: Bearer <api key>), tools, and setup for Claude, Claude Code, Cursor, Windsurf, OpenClaw.
- [Pricing and credits](https://www.transcriptdock.com/docs/pricing): plans, extra credits, when credits are charged.
- [Sources](https://www.transcriptdock.com/docs/platforms): accepted YouTube and TikTok URLs, file uploads, direct links, limits.
- [OpenAPI](https://www.transcriptdock.com/docs/openapi.yaml)
- [Changelog](https://www.transcriptdock.com/docs/changelog): notable API, MCP and pricing changes, newest first.
 
## Guides
 
- [How to get a YouTube transcript](https://www.transcriptdock.com/docs/youtube-transcript): five ways, from YouTube's own transcript panel to the API and Claude.
- [How to get a TikTok transcript](https://www.transcriptdock.com/docs/tiktok-transcript): video and share links, a profile's latest videos, videos without captions.
- [Video transcripts for RAG](https://www.transcriptdock.com/docs/transcripts-for-rag): fetch timed segments, chunk by time, keep timestamp citations.
- [n8n](https://www.transcriptdock.com/docs/n8n) and [LangChain](https://www.transcriptdock.com/docs/langchain): workflow and agent setups.
 
## Compared with alternatives
 
- [All alternatives](https://www.transcriptdock.com/docs/alternatives), [vs Supadata](https://www.transcriptdock.com/docs/supadata-alternative), [vs TranscriptAPI](https://www.transcriptdock.com/docs/transcriptapi-alternative), [vs youtube-transcript-api](https://www.transcriptdock.com/docs/youtube-transcript-api-alternative), [vs Apify scrapers](https://www.transcriptdock.com/docs/apify-alternative): what each does, prices, and when to pick it instead.
 
## Machine discovery
 
- [MCP server card](https://www.transcriptdock.com/mcp/server-card) and [AI catalog](https://www.transcriptdock.com/.well-known/ai-catalog.json)
- [llms-full.txt](https://www.transcriptdock.com/llms-full.txt): the API reference and MCP pages as one plain text file.
 
---
 
# API reference
 
Base URL: https://www.transcriptdock.com. JSON in and out.
Authentication: Authorization: Bearer td_live_<your key>. 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": "<video url>" }, "mode": "captions_only" } -> 202 job { id, status: "queued" }. Paid plans can send mode auto to fall back to AI transcription.
2. GET /v1/jobs/{id}?wait=25 -> holds up to 25 s and returns the job as soon as status is succeeded, failed or cancelled. Repeat while it is not.
3. GET /v1/transcripts/{result_id}/export?format=txt|srt|vtt|json -> the transcript file. Free, unlimited.
Submitting the same video and options again returns the stored result for free (billing.kind "cached"). A video another customer already transcribed is served from cache instantly at the normal price.
 
## Endpoints
 
| Method | Path | Credits |
|---|---|---|
| POST | /v1/jobs | 1 per caption transcript, 2 per started minute of AI transcription |
| GET | /v1/jobs/{id}?wait=0..25 | free |
| GET | /v1/jobs?limit=&cursor= | free |
| POST | /v1/jobs/{id}/cancel | free |
| POST | /v1/jobs/{id}/retry | as a new job |
| POST | /v1/batches | per item, as above |
| GET | /v1/batches/{id} | free |
| GET | /v1/transcripts/{id} | free |
| GET | /v1/transcripts/{id}/export?format= | free |
| DELETE | /v1/transcripts/{id} | free |
| POST | /v1/uploads | free |
| POST | /v1/uploads/{id}/complete | free |
| POST | /v1/video-discoveries | 1 per page |
| GET | /v1/video-discoveries/{id} | free |
| POST | /v1/language-discoveries | 1 |
| GET | /v1/language-discoveries/{id} | free |
| GET | /v1/webhook-endpoints | free |
| POST/DELETE | /v1/webhook-endpoints | free, signed in session only (dashboard) |
| GET | /v1/usage | free |
| GET | /v1/capabilities | free |
 
## Create a job
 
POST /v1/jobs
Fields: source.url (YouTube watch/youtu.be/shorts/live URL, TikTok video or vm.tiktok.com share link, or any https link to a media file) or source.upload_id; mode (required): captions_only (the video's captions, 1 credit, NO_CAPTIONS if none), auto (captions if present else AI transcription), transcribe (always AI transcription, 2 credits per started minute, word timings); caption_languages (string[], up to 5 BCP 47 tags in preference order); caption_preference (prefer_creator default, creator_only, automatic_only); language (BCP 47 hint for AI transcription); max_credits (cap for AI transcription; a job that would cost more fails with BUDGET_EXCEEDED before any charge); webhook_endpoint_id; metadata (up to 10 string values, echoed in webhook events).
AI transcription needs a paid plan: on the trial auto and transcribe return 402 PLAN_REQUIRED.
 
Job object: id, status (queued, processing, awaiting_provider, succeeded, failed, cancelled), stage, result_id, error { code, message, retryable, details? }, billing { credits_reserved, credits_charged, kind: captions | ai_transcription | cached }, source { platform, media_id, canonical_url, title, upload_id }, options { mode, language, caption_preference }, created_at.
 
## Transcript
 
GET /v1/transcripts/{id}: id, source, source_origin (creator_captions, platform_captions, speech_recognition), language, text, segments [{ start, end, text }] in seconds, words [{ start, end, text, confidence }] or null, timing_granularity (word, segment, none), duration_seconds, recognition { model, profile, quality_status: validated_language | provider_supported | experimental_language } or null, created_at.
Kept for the plan's retention (trial 7 days, Starter 30, Pro and Scale 90). DELETE removes one earlier.
 
## Batches
 
POST /v1/batches { items: [JobRequest, ...], webhook_endpoint_id?, metadata? }. Items per batch: trial 1, Starter 10, Pro 25, Scale 50. Accepted or rejected as a whole. GET /v1/batches/{id}: status (queued, processing, succeeded, partial_success, failed, cancelled), total_items, succeeded_items, failed_items, cancelled_items, items [{ job_id, item_index, status }].
 
## Uploads
 
POST /v1/uploads { filename, content_type, bytes } -> { id, signed_upload_url, expires_at (24 h) }. PUT the file to signed_upload_url with the same Content-Type. POST /v1/uploads/{id}/complete. Then POST /v1/jobs with { "source": { "upload_id": id }, "mode": "transcribe" }. Audio or video up to 250 MB and 2 hours.
 
## Webhooks
 
POST /v1/webhook-endpoints { url (https), description? } -> endpoint with a one-time secret. Registering and disabling need a signed in session (the dashboard Webhooks page); an API key gets 403 FORBIDDEN there but can list endpoints. Pass its id as webhook_endpoint_id on jobs and batches. Events: job.succeeded, job.failed, batch.completed; body { event_id, type, created_at, job_id, batch_id, result_id, metadata, error }. Headers X-TranscriptDock-Event-Id, X-TranscriptDock-Timestamp, X-TranscriptDock-Signature = HMAC-SHA256 hex of "{event_id}.{timestamp}.{raw_body}" with the secret. Respond 2xx; failed deliveries retry with backoff; dedupe on event_id.
 
## Find videos
 
POST /v1/video-discoveries { kind, query?, channel?, playlist?, user?, limit?, cursor?, include_details? } with Idempotency-Key, 1 credit per page. Kinds: youtube_search (query), youtube_channel_videos, youtube_channel_search (channel as @handle, id or URL; search adds query), youtube_playlist_videos (playlist id or URL), tiktok_user_videos (user as @user or URL; at most 10, no paging; include_details adds likes, comments, hashtags, caption languages). The POST returns 202 with status queued. GET /v1/video-discoveries/{id}: status, request, videos [{ platform, video_id, url, title, channel_id, channel_title, duration_s, published_at, published_text, view_count, view_count_text, thumbnail_url, tiktok }], profile, next_cursor, error, created_at, updated_at, expires_at. Results kept 24 h.
POST /v1/language-discoveries { source: { url } } (YouTube, 1 credit) lists a video's caption tracks; use the codes in caption_languages.
 
## Usage and capabilities
 
GET /v1/usage: plan, period_end (when the monthly credits refresh, monthly on yearly plans too), credits_remaining (excludes holds), credits_total, credits_reserved, prepaid_credits, transcribe_credits_per_minute (2), minimum_billable_seconds (60), subscription (null without one, else { status, interval monthly|yearly, cancel_at_period_end, current_period_end: renewal or end date }).
GET /v1/capabilities (with your key): per source (youtube, tiktok, instagram, upload, direct) whether captions_only, auto and transcribe are available for your plan, plus max_duration_ms 7200000, max_media_bytes 262144000, export_formats.
 
## Credits
 
Charged only when a job succeeds; held while it runs; released on failure or cancel. auto holds 2 and charges 1 when captions were found. Plans: Trial 50 credits every 30 days (captions only, free), Starter $19 for 2,000 a month, Pro $49 for 6,000, Scale $149 for 20,000. Yearly billing: Starter $190, Pro $490, Scale $1,490 a year (2 months free), with the same credits granted every month. Extra credits from $8/$7/$6 per 1,000 (Starter/Pro/Scale), 10% off from 10,000, 20% off from 50,000, never expire. Out of credits: 402 INSUFFICIENT_BALANCE. Payments run through Stripe Checkout in US dollars; prices exclude any applicable tax, which is added at checkout where required. Invoices, receipts, payment methods and plan changes are in the Stripe customer portal (Manage billing on /dashboard/billing).
 
## Rate limits
 
Submits per minute: trial 10, Starter 60, Pro 120, Scale 300. Jobs in progress: 10 / 100 / 500 / 2,000. Reads: 120 per minute. Over a limit: 429 RATE_LIMITED with retry-after (seconds), ratelimit-limit, ratelimit-remaining, ratelimit-reset headers and details.detail naming the limit.
 
## Errors
 
{ "error": { "code", "message", "retryable", "retry_after_seconds"?, "details": { "detail" }?, "doc_url" }, "request_id" }. retryable true (429, 503, 500): wait and resend with the same Idempotency-Key. Full code table: https://www.transcriptdock.com/docs/api-reference#error-codes. A job that fails after acceptance is 200 on GET /v1/jobs/{id} with status failed and the same error object; nothing is charged.
 
---
 
# MCP
 
Remote server (nothing to install): https://www.transcriptdock.com/mcp, Streamable HTTP. Use this exact URL: the apex domain redirects and clients drop the Authorization header on that redirect.
Auth: OAuth 2.1 sign in (RFC 9728 metadata at /.well-known/oauth-protected-resource/mcp, dynamic client registration, S256 PKCE), or header Authorization: Bearer td_live_<key>. OAuth connections can read and submit jobs and read transcripts only.
Claude (claude.ai, Desktop, mobile): Customize > Connectors > Add custom connector, URL https://www.transcriptdock.com/mcp, then Connect and sign in.
Claude Code: claude mcp add --transport http transcriptdock https://www.transcriptdock.com/mcp then /mcp to sign in, or add --header "Authorization: Bearer td_live_<key>".
Cursor mcp.json: { "mcpServers": { "transcriptdock": { "url": "https://www.transcriptdock.com/mcp", "headers": { "Authorization": "Bearer td_live_<key>" } } } }
Local server (OpenClaw, stdio clients, Node.js 22.15+): { "mcpServers": { "transcriptdock": { "command": "npx", "args": ["-y", "@transcriptdock/mcp"], "env": { "TRANSCRIPTDOCK_API_KEY": "td_live_<key>", "TRANSCRIPTDOCK_BASE_URL": "https://www.transcriptdock.com" } } } }. Both variables are required.
Remote tool calls are capped at about 40 s; a still-running job comes back with its id for wait_for_job.
 
## Tools
 
- get_video_transcript { url, mode? (captions_only default, auto, transcribe), format? (text default, srt, vtt, segments), timeout_seconds? } -> transcript. Submits, waits, returns. 1 credit, or 2 per minute with AI transcription; repeats are free.
- transcribe { url, mode?, language?, max_credits?, idempotency_key } -> job.
- wait_for_job { job_id, timeout_seconds? } -> { job, timed_out }.
- get_job { job_id } -> job. Free.
- get_transcript { transcript_id, format? (segments default, text, srt, vtt) }. Free.
- list_jobs { limit?, cursor? }. Free.
- search_youtube { query, limit?, cursor?, timeout_seconds? }. 1 credit per page.
- list_channel_videos { channel, limit?, cursor? }, get_channel_latest_videos { channel, limit? }, search_channel_videos { channel, query, limit?, cursor? }. 1 credit per page.
- list_playlist_videos { playlist, limit?, cursor? }. 1 credit per page.
- list_tiktok_user_videos { user (@handle or profile URL), limit? (max 10), include_details? }. 1 credit.
- get_video_discovery { id }. Free.