transcribe_url
Ingest and transcribe an EXTERNAL / arbitrary audio URL — a URL the user pasted, or audio not reachable through the index. Creates a STANDALONE episode row. If the episode is already in the library (it has an episode_id), prefer start_transcription(episode_id) instead — it inherits the episode's existing show, artwork, and feed linkage automatically. Consumes 1 transcription credit, or one unit of subscription quota; the credit is refunded automatically if transcription fails. Pass feed_id / podcast_name when you already know the parent show (e.g. from search_podcasts or list_feed_episodes) so the episode lands under its real show instead of appearing as unidentified "External audio". Returns the new episode_id. Transcription is asynchronous on the fallback path — poll get_episode_details until transcription_status is "completed".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Episode title — shown in the user's library | |
| feed_id | No | Optional: local podcasts.id / PodcastIndex feed id of the parent show, if known. Looked up only — never creates a show. | |
| language | No | BCP-47 hint (e.g. "en", "he"). Auto-detect if omitted. | |
| audio_url | Yes | Direct audio URL (mp3, m4a, or platform URL) | |
| podcast_id | No | Existing parent podcast_id, if any | |
| podcast_name | No | Optional: exact parent show title, if known and feed_id is unavailable. Matched only when it resolves to EXACTLY ONE existing show. |