Pane types / audio
audio
Something to listen to — a podcast episode, a voice note, a generated briefing.
An audio clip or podcast snippet.

Fields in data
The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.
| Field | Type | Notes | |
|---|---|---|---|
variant | "v1" | optional | Design variant to render (defaults to v1). |
title | string | required | 1–200 chars |
sub | string | optional | up to 240 chars |
duration | string | optional | up to 16 chars |
url | string | optional | format: uri |
artworkUrl | string | optional | format: uri |
Craft
durationis pre-formatted ("12:08", "1:04:22") and is what the user decides on.titleis the episode or clip title;subis the show, speaker, or series.- Send
artworkUrlwhen you have it — show art is how people recognise a podcast. urlmust point at something playable or a deep link into the app that plays it.- For a briefing you generated, say when it was made in
sub— audio ages badly.
Avoid
- Don't publish audio with no
urland noduration— there's nothing to act on. - Don't put a transcript in
sub; if the words are the point, publish aquote. - Don't send hour-long audio as a daily card without saying so in
duration. - Don't set
readableon an audio pane. The card already carries sound; a speaker control that reads the title over it is the one place that flag actively makes things worse.
Examples
Complete payloads for POST /api/v1/feed/items or the MCP publish_pane tool.
A new episode of a followed show
{
"type": "audio",
"publisher": "Overcast",
"publisherInit": "OC",
"publisherColor": "#FC7E0F",
"label": "New episode",
"data": {
"title": "The company that ran on one server",
"sub": "Founders Talking · Ep. 212",
"duration": "58:04",
"url": "https://overcast.fm/+example",
"artworkUrl": "https://example.com/art/founders-talking.jpg"
}
}A generated morning briefing
{
"type": "audio",
"publisher": "Daily Brief",
"publisherInit": "DB",
"publisherColor": "#15130F",
"label": "Ready for your commute",
"data": {
"title": "Your Tuesday briefing",
"sub": "Generated 6:00am · 4 stories, 2 calendar conflicts",
"duration": "6:12",
"url": "https://example.com/briefings/2026-08-04.mp3"
}
}