Transcribe into a new collection
transcribeCharged. Create a collection and start an ingest job for the given YouTube URLs in one call. Maps to POST /v1/transcribe. $0.01/min standard, $0.03/min whisper by default, 1-minute minimum per video. Pass a quote_id from quote to be charged exactly that price. Returns job_id, collection_id and collection_token (ct_…, shown once: store it; it reads this collection without an API key). Poll get_status every 10–30 s until status is completed, partial or failed; completed means every accepted video is transcribed and indexed, so the collection is queryable. With an API key it needs the key's write scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (isError with the payment requirements in structuredContent); an x402-aware MCP client signs and retries the same call with _meta['x402/payment'], and the receipt returns in the result's _meta['x402/payment-response']. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Keyless transcribe takes one channel-like source and at most 3 videos. Prices are the service defaults; quote returns the exact price.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "transcribe"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | One YouTube URL (video, @handle, /channel/UC…, or playlist). | |
| urls | No | Several YouTube URLs. | |
| title | No | Title for the new collection (default: generated). | |
| quality | No | Transcription quality (default standard). | |
| language | No | Optional BCP-47 hint for transcription, e.g. en. | |
| quote_id | No | A `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired). | |
| channel_url | No | `https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL. | |
| channel_urls | No | Several channel or playlist URLs. | |
| exclude_shorts | No | Skip videos of 3 minutes or less when expanding a channel or playlist (default true); explicit video URLs are never skipped. | |
| idempotency_key | No | Idempotency-Key for safe retries. | |
| min_duration_seconds | No | Skip expanded videos shorter than this many seconds. | |
| max_videos_per_channel | No | Newest-first cap on eligible videos per channel or playlist (default 25); Shorts and videos below min_duration_seconds are skipped before the cap. |