Pane types / audio

audio

Something to listen to — a podcast episode, a voice note, a generated briefing.

An audio clip or podcast snippet.

A rendered audio pane (audio-v1)
audio-v1

Fields in data

The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.

FieldTypeNotes
variant"v1"optionalDesign variant to render (defaults to v1).
titlestringrequired1–200 chars
substringoptionalup to 240 chars
durationstringoptionalup to 16 chars
urlstringoptionalformat: uri
artworkUrlstringoptionalformat: uri

Craft

  • duration is pre-formatted ("12:08", "1:04:22") and is what the user decides on.
  • title is the episode or clip title; sub is the show, speaker, or series.
  • Send artworkUrl when you have it — show art is how people recognise a podcast.
  • url must 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 url and no duration — there's nothing to act on.
  • Don't put a transcript in sub; if the words are the point, publish a quote.
  • Don't send hour-long audio as a daily card without saying so in duration.
  • Don't set readable on 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"
  }
}