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.10/min standard, $0.25/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.
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. | |
| idempotency_key | No | Idempotency-Key for safe retries. | |
| max_videos_per_channel | No | Newest-first cap applied to each channel or playlist (default 25). |