Skip to content

amvaswani/plaud-transcript-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Plaud Transcript Skill

An unofficial skill for extracting raw, speaker-attributed transcripts from Plaud AI recordings and generating structured meeting notes. Works with Claude in Cowork, Chat, and Claude Code.

Plaud Note devices produce excellent recordings, but the web app primarily surfaces AI-generated summaries. This skill gives you the full verbatim transcript with speaker labels and timestamps, which you can use to create detailed meeting notes, search for specific discussions, or feed into other workflows.

How It Works

The Plaud web app at web.plaud.ai uses a REST API under the hood. This skill's Python client talks to that same API using a Bearer token from your logged-in session. No unofficial modifications or hacking required -- it simply makes the same API calls your browser makes.

Prerequisites

  • A Plaud account with recordings synced to web.plaud.ai
  • Python 3.8+
  • The requests library (pip install requests)

Setup

1. Get Your Bearer Token

  1. Open web.plaud.ai and log in
  2. Open browser DevTools (F12 or Cmd+Option+I on Mac)
  3. Go to the Console tab
  4. Run: localStorage.getItem('tokenstr')
  5. Copy the full value (it starts with bearer eyJ...)

2. Set the Environment Variable

export PLAUD_TOKEN="bearer eyJ..."

For persistence, add it to your shell profile:

echo 'export PLAUD_TOKEN="bearer eyJ..."' >> ~/.zshrc
source ~/.zshrc

Security note: The token is long-lived (~10 months) and grants full access to your Plaud recordings. Treat it like a password. Never commit it to version control.

Installation

Cowork / Chat (Claude.ai)

Copy the skill folder into your Claude skills directory:

cp -r plaud-transcript ~/.claude/skills/plaud-transcript

Once installed, Claude will automatically use this skill when you mention Plaud recordings or ask for meeting transcripts.

Claude Code

Global install (available in all projects):

cp -r plaud-transcript ~/.claude/skills/plaud-transcript

Per-project install (available only in that project):

cp -r plaud-transcript .claude/skills/plaud-transcript

Standalone CLI Use

You can also use the Python client directly without Claude:

export PLAUD_TOKEN="bearer eyJ..."
python3 plaud-transcript/scripts/plaud_client.py list
python3 plaud-transcript/scripts/plaud_client.py transcript <recording-id>

Usage

With Claude (Cowork, Chat, or Code)

Just ask naturally:

  • "List my recent Plaud recordings"
  • "Pull the transcript from my meeting with Sarah on Thursday"
  • "Create meeting notes from my last Plaud recording"
  • "Search my Plaud recordings for anything about hiring"

CLI Commands

# List recent recordings
python3 scripts/plaud_client.py list
python3 scripts/plaud_client.py list --limit 10
python3 scripts/plaud_client.py list --folder "Sarah Chen"
python3 scripts/plaud_client.py list --after 2026-03-25

# Get raw transcript (speaker-attributed text)
python3 scripts/plaud_client.py transcript <recording-id>

# Get transcript as JSON (with timestamps)
python3 scripts/plaud_client.py transcript <recording-id> --json

# Get topic outline
python3 scripts/plaud_client.py outline <recording-id>

# Get recording metadata
python3 scripts/plaud_client.py detail <recording-id>

# List folders/tags
python3 scripts/plaud_client.py folders

# Search by keyword in recording title
python3 scripts/plaud_client.py search "career development"

API Reference

This skill uses the following Plaud API endpoints (all at https://api.plaud.ai):

Endpoint Purpose
GET /file/simple/web List recordings with pagination and sorting
GET /file/detail/{id} File metadata and content list
GET /filetag/ List folders/tags
GET /user/me Current user info

Each recording's content_list includes different content types:

Type Description
transaction Raw transcript (JSON array of speaker segments with timestamps)
outline Topic segmentation with timestamps
auto_sum_note Auto-generated summary
sum_multi_note Structured notes (Meeting Minutes, Reasoning Summary)

The actual content is stored at S3 pre-signed URLs in the data_link field. The client handles fetching these automatically.

Transcript Format

Raw transcript segments look like this:

{
  "start_time": 31210,
  "end_time": 49690,
  "content": "The actual spoken text from the recording...",
  "speaker": "Speaker 1",
  "original_speaker": "Speaker 1"
}

Some recordings have speaker names already mapped (e.g., "speaker": "amit_vaswani"), while others use generic labels like Speaker 1.

Security Considerations

  • Your Bearer token grants full access to your Plaud recordings. Never commit it to version control.
  • The token is long-lived (~10 months from issuance).
  • This skill stores the token exclusively in the PLAUD_TOKEN environment variable. It is never written to any file by the code.
  • The .gitignore excludes .env files as an extra safeguard.
  • This is an unofficial integration. Plaud may change their API at any time.

License

MIT

About

Plaud Transcript Skill

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages