Skip to main content
Request the transcription of an episode discovered in its podcast’s back catalogue: one in the show’s feed that we have not transcribed. particle_podcast_list_episodes lists them with podcast_slug and transcript_status: "requestable", and particle_podcast_get_episode marks one requestable. Until it is transcribed, it has no transcript, speakers, entities, segments, clips or mentions. The tool returns at once with the request’s state:
  • queued: waiting its turn.
  • admitted: being transcribed.
  • transcribed: the episode tools now serve its transcript.
  • failed: it will not be transcribed. failure_reason says why, and the charge is refunded.
Transcription usually takes 5 to 10 minutes. Poll particle_podcast_get_transcription_request, which is free. Never call this tool again to poll. Once transcribed, the episode keeps its ID, and particle_podcast_get_episode, particle_podcast_find_mentions and particle_podcast_search_transcripts serve it. This is the MCP form of POST /v1/podcasts/transcription/requests. It bills exactly as that endpoint does.

Billing

  • The request that queues the episode is charged in USD at your plan’s transcription price. It is never drawn from your included requests, so it is charged even with requests left and still works once they run out. It needs overage billing turned on. Without it the tool answers overage_required (or billing_info_required without a payment method on file), and nothing is charged.
  • Every other outcome is billed as an ordinary lookup. That covers an episode your organization already requested (the existing request comes back), one another organization’s request already queued (you get your own request, tracking it), and one we already hold (no request is created, and state says where its transcript stands).
  • A request that fails, because the audio is gone or transcription timed out, is refunded.
The tool changes state and costs money, so confirm the charge with the user before calling it. It needs a connection that acts for an organization: a pp_ API key, or an OAuth connection with the write scope. A keyless x402 payment cannot buy it, and the plugin connection does not offer it.

Inputs

Output

A ## Transcription request block with the episode and podcast, **Episode slug:**, **Request ID:** (absent for an episode we already hold), **State:**, **Transcript:**, **Billed as:** (transcription or lookup), the request’s timestamps, and the next step to take. With output_format: "json" the same fields come back as JSON: request_id, episode_id, episode_slug, state, transcript_status, failure_reason, created_at, admitted_at, completed_at, refunded_at and billed.

Errors

Example