Transcribe episodes
Turn the audio of an episode into a transcript note with your own OpenAI or Deepgram account. Without speaker labels, PodNotes uses OpenAI. With speaker labels, you choose OpenAI or Deepgram, and Deepgram needs no OpenAI key.
Set up an OpenAI key
Section titled “Set up an OpenAI key”Without speaker labels, PodNotes sends the audio to OpenAI with your API key.
- Create a key on the OpenAI API keys page.
- In Obsidian, open Settings → PodNotes.
- Under Transcripts, select the secret picker next to OpenAI API key.
- Create a secret that holds your key, or select one that you saved before.
On each other device, select or create the secret again. See API keys and private feeds on each device.
Transcribe an episode
Section titled “Transcribe an episode”- Play an audio episode in PodNotes. You can pause it.
- Run PodNotes: Transcribe current episode from the command palette (
Ctrl+P, orCommand+Pon macOS).
A notice shows the progress, and you can keep listening. When the transcript is ready, PodNotes saves it as a note and opens it. With the default settings, the transcript of the Acquired episode “The Home Depot” is transcripts/.
Add speaker labels
Section titled “Add speaker labels”- Open Settings → PodNotes.
- Under Transcripts, turn on Speaker diarization.
- In Diarization provider, select OpenAI (gpt-4o-transcribe-diarize) or Deepgram.
- If you selected Deepgram, create a key in the Deepgram console.
- If you selected Deepgram, under Deepgram API key, select or create a secret that holds the Deepgram key. With OpenAI, PodNotes uses your OpenAI key.
The providers differ in these ways:
| Provider | Key | Labels | Long episodes |
|---|---|---|---|
| OpenAI | Your OpenAI key | A, B, C |
Sent in parts of about 20 MB. A in one part may be B in the next. |
| Deepgram | A Deepgram key. No OpenAI key needed. | 1, 2, 3 |
Sent in one request. Labels stay the same for the whole episode. |
Change the speaker label format
Section titled “Change the speaker label format”- In Settings → PodNotes, under Transcripts, turn on Speaker diarization. Speaker label format appears below it.
- Set Speaker label format, for example to
**Speaker {{speaker}}:**with a space at the end.
The format sets the text before each turn. The default, **{{speaker}}:** with a space at the end, starts a turn with A: in bold. With **Speaker {{speaker}}:**, a turn starts with Speaker A:. With Deepgram, the labels are numbers, as in Speaker 1:. The labeled text fills {{transcript}}, so Transcript template needs no change.
Change where transcripts go and what they contain
Section titled “Change where transcripts go and what they contain”Transcript file path under Transcripts sets where the note goes, transcripts/ by default. Keep .md at the end, because PodNotes does not add it. Transcript template sets the content, and {{transcript}} is the transcript text. Transcript and timestamp tags lists every tag and the default template.
What transcription costs
Section titled “What transcription costs”PodNotes charges nothing. Your provider bills your account per minute of audio:
- OpenAI API pricing lists the rate for plain transcription (
whisper-1) and for speaker labels (gpt-4o-transcribe-diarize). - Deepgram pricing lists the rate for pre-recorded audio with speaker labels.
Limits and error messages
Section titled “Limits and error messages”These cases stop a transcription or change its result:
- PodNotes transcribes audio only. For a video episode, the command is missing.
- When the provider’s key is not on this device, a notice asks you to select or create it in the transcript settings.
- When a transcript note already exists at the path, a notice gives its path and PodNotes does nothing else. To transcribe again, delete the note first.
- PodNotes sends long audio to OpenAI in parts of about 20 MB. In a transcript without speaker labels, a part that fails three times leaves the marker
[Error transcribing chunk N]. To retry, delete the note and run the command again. - Transcripts have no timestamps, so a line does not link to its moment in the episode.
API key storage
Section titled “API key storage”PodNotes keeps your API keys in Obsidian’s secret storage on each device, and only the name of each key syncs. On the first start after an upgrade from a version that kept plain-text keys in data.json, PodNotes moves them to secret storage and does not finish loading until the move succeeds. If it fails, restart PodNotes. The move cannot erase old copies in backups or settings exports, so replace a key at the provider if it may have leaked. See API keys and private feeds on each device.