Agent skill
tldv
tl;dv API for meeting recordings. Use when user mentions "tl;dv", "meeting recording", "meeting summary", or asks about call analysis.
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/tldv
SKILL.md
tl;dv API
Access meeting recordings, transcripts, highlights, and AI-generated notes from tl;dv via the REST API.
Official docs:
https://doc.tldv.io/index.html
When to Use
Use this skill when you need to:
- List and retrieve meeting recordings from Zoom, Google Meet, or Microsoft Teams
- Get structured transcripts with speaker identification and timestamps
- Access AI-generated meeting highlights, topics, and summaries
- Download meeting recordings
- Import external meeting recordings into tl;dv
How to Use
All examples below assume you have TLDV_TOKEN set.
Base URL: https://pasta.tldv.io
API version: v1alpha1 (alpha — endpoints may change before stable v1 release).
Authentication uses the x-api-key header (not Bearer).
Health Check
Verify API Connectivity
curl -s "https://pasta.tldv.io/v1alpha1/health" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq .
Meetings
List Meetings
curl -s "https://pasta.tldv.io/v1alpha1/meetings" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.results[] | {id, name, happenedAt, duration, organizer: .organizer.name}'
List Meetings with Pagination
curl -s "https://pasta.tldv.io/v1alpha1/meetings?page=1&pageSize=10" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '{page, pages, total, meetings: [.results[] | {id, name, happenedAt}]}'
Get Meeting by ID
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '{id, name, happenedAt, duration, url, organizer, invitees}'
Download Meeting Recording
Returns a 302 redirect to a signed download URL (expires after 6 hours). Use -L to follow the redirect, or omit it to inspect the URL:
curl -s -I "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/download" --header "x-api-key: $(printenv TLDV_TOKEN)" | grep -i location
To download the recording directly:
curl -s -L -o /tmp/tldv_recording.mp4 "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/download" --header "x-api-key: $(printenv TLDV_TOKEN)"
Import a Meeting
Write to /tmp/tldv_request.json:
{
"url": "https://example.com/recording.mp4"
}
curl -s -X POST "https://pasta.tldv.io/v1alpha1/meetings/import" --header "x-api-key: $(printenv TLDV_TOKEN)" --header "Content-Type: application/json" -d @/tmp/tldv_request.json | jq .
Transcripts
Get Meeting Transcript
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/transcript" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.data[] | {speaker, text, startTime, endTime}'
Get Full Transcript as Plain Text
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/transcript" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq -r '.data[] | "\(.speaker): \(.text)"'
Highlights / Notes
Get Meeting Highlights
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/highlights" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '.data[] | {text, startTime, source, topic: .topic.title, summary: .topic.summary}'
Get Topic Summaries Only
curl -s "https://pasta.tldv.io/v1alpha1/meetings/<meeting_id>/highlights" --header "x-api-key: $(printenv TLDV_TOKEN)" | jq '[.data[] | .topic | select(. != null)] | unique_by(.title) | .[] | {title, summary}'
Guidelines
- Authentication uses the
x-api-keyheader, notAuthorization: Bearer. Every request must include--header "x-api-key: $(printenv TLDV_TOKEN)". - The API is versioned at
v1alpha1. This is an alpha API — endpoints and response formats may change. - All requests must use HTTPS. Plain HTTP requests are rejected.
- API access requires the meeting organizer to have a Pro, Business, or Enterprise plan. Free plan organizers have no API access.
- Meeting IDs are strings. Use
jqto extractidfields from list responses. - Transcripts are only returned when processing is complete. If a meeting was just recorded, the transcript may not be available yet.
- Download URLs from the
/downloadendpoint expire after 6 hours. - Pagination: the meetings list returns
page,pages,total, andpageSizefields. Use?page=Nto navigate pages. - Use
<placeholder>for dynamic IDs that the user must replace (e.g.,<meeting_id>). - Write request bodies to
/tmp/tldv_request.jsonbefore sending.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?