Libsyn automation
Add transcripts to Libsyn episodes in bulk
You paid for clean transcripts of the back catalog, or your editor now delivers a VTT with every episode. Libsyn takes them one at a time on each episode's Assets tab, and the file names rarely match the episode titles.
Cotlet does it in your own Libsyn account with list_episodes, get_episode and upload_transcript, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Official options
Can Libsyn do this on its own?
Libsyn has no public API to attach transcripts (checked 12 Oct 2026). Its dashboard takes one SRT or VTT file per episode on the Assets tab and writes the podcast:transcript tag into the feed. Apple Podcasts shows its own auto-generated transcript unless the show is set to prefer yours, which Libsyn handles by email for shows it submitted to Apple.
By hand
How you do it in Libsyn today
- Open the Episodes list in Libsyn, find the episode, click the menu icon and choose Edit.
- Go to the Assets tab and drop the .srt or .vtt file into the Add Episode Transcript area; an icon shows that a transcript is attached.
- Publish or save the episode, then open the Quick Links window from the Episode Details if you need the transcript URL.
- Repeat for every episode, matching "ep142_final_v3.vtt" to the right title by hand. A file attached to the wrong episode looks fine in Libsyn and is only noticed by a listener.
With an agent
How to add transcripts to Libsyn episodes in bulk
Prompt
Attach the VTT transcripts in /transcripts to the matching episodes of The Solo Founder Show and tell me which files had no match. - 01
Match files to episodes first
The agent reads list_episodes and pairs each file with an episode by number, date or title words in the file name. A file that fits two episodes, or none, is set aside and listed; nothing is attached on a guess.
- 02
Reject what Libsyn will not take
Only .srt and .vtt files go forward. A .txt or .docx transcript is reported back with a note that it needs converting, since Libsyn accepts no other format.
- 03
Sanity-check the content
Before uploading, the agent opens get_episode and compares the title and guest with the first lines of the transcript. A file whose last timestamp is far shorter than the rest of the batch, or whose opening names another guest, is flagged as a likely wrong file.
- 04
Attach with your OK
upload_transcript runs once per matched pair and asks for your OK by default, because the transcript becomes part of the public feed. You can approve the whole matched list in one go.
- 05
Remind you about Apple
At the end the agent says whether you still need to switch Apple Podcasts to your own transcripts, and how, based on whether you submitted the show to Apple yourself.
What you get back
Example data
23 files in /transcripts, 22 episodes matched.
21 attached: ep120 to ep141 except ep133.
ep133.vtt held back: it ends at 18:40 while the others run 45 to 60 minutes, and it opens with another guest. Probably the wrong file.
interview-dana.srt: no episode with Dana in the title. Which episode is it?
notes-ep139.docx skipped: convert it to .vtt or .srt first.
Apple Podcasts still shows its own transcripts until you change the setting in Podcasts Connect. Other ways to ask
- Every time a new .vtt lands in /transcripts, attach it to the matching draft or scheduled episode.
- Attach transcripts only to season 2 and list the season 2 episodes that still have none in my folder.
- Match the files in /transcripts but only show me the pairs; I will approve the uploads tomorrow.
Before you automate it
What Libsyn allows, and what to know first
- Libsyn accepts transcripts only as SRT or VTT files, uploaded on the Assets tab of the episode form.
- Libsyn automatically generates a podcast:transcript tag with the file URL and type (text/srt or text/vtt) for the episode in the RSS feed.
- Apple Podcasts creates its own transcripts by default; to show yours, change the transcript setting in Apple Podcasts Connect, or email support@libsyn.com if Libsyn submitted the show to Apple.
- Libsyn shows the hosted transcript URL in the Quick Links window of the Episode Details, and the Remove button on the Assets tab takes the file off the episode.
upload_transcript asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.
Sources: Libsyn help: Add Your Own Episode Transcript · Libsyn help: Publish an Episode
REST
Call upload_transcript from a script
curl
curl https://cotlet.dev/api/v1/libsyn/upload_transcript \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"episode_id":"38415502","file_url":"https://files.example.com/transcripts/ep-142.vtt"}' Example response
{
"episode_id": "38415502",
"transcript": {
"format": "vtt",
"status": "attached"
}
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is libsyn_upload_transcript. Example data.
Schedule it in n8n, Make, Zapier or cronTools
Libsyn tools this automation uses
| Tool | Parameters |
|---|---|
| list_episodes | show_id, status, search, limit, cursor |
| get_episode | episode_id |
| upload_transcript | episode_id, file_url |
Give your agent access to Libsyn.
Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Libsyn.