From a41ae16cf0a39955ee903568766556d1f39a7743 Mon Sep 17 00:00:00 2001 From: Baris Aydek Date: Thu, 11 Sep 2025 00:14:09 +0300 Subject: [PATCH 1/4] PO.md for podcast episodes --- PO.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 PO.md diff --git a/PO.md b/PO.md new file mode 100644 index 00000000..0f867c70 --- /dev/null +++ b/PO.md @@ -0,0 +1,66 @@ +NIP-PO +====== + +Podcast Events +-------------- + +`draft` `optional` + +This NIP defines `kind:30025` for podcast episodes and content. Podcast events represent audio content with associated metadata, transcripts, chapters, and show notes. + +## Event Kind + +This NIP defines `kind:30025` as a podcast event. + +The `.content` field may contain markdown-formatted show notes, or episode description. + +## Required Tags + +- `d` - Episode identifier (slug or unique identifier for this episode) +- `title` - Episode title +- `audio` - URL to the audio file +- `duration` - Episode duration in format "HH:MM:SS" or "MM:SS" + +## Optional Tags + +- `summary` - Episode summary or description +- `image` - URL to episode artwork/image +- `episode` - Episode number +- `transcript` - URL to transcript file (VTT, or SRT) +- `chapters` - URL to chapters file (JSON format following [Podcast Namespace specification](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/examples/chapters/example.json)) +- `rss` - URL to the podcast RSS feed +- `ai_generated` - Boolean indicator if content is AI-generated ("true" or "false") +- `published_at` - Unix timestamp of when episode was first published +- `i` - External content identifier following [NIP-73](73.md) format for podcast episodes +- `t` - Topic tags + +## Example Event + +```json +{ + "kind": 30025, + "created_at": 1757442746, + "content": "Sleep is essential for our physical and mental health. In this episode, we explore the latest research on how sleep affects memory, mood, and overall well-being.\n\nExperts share tips on improving sleep quality and discuss common myths about rest...", + "tags": [ + ["d", "the-science-of-sleep"], + ["title", "The Science of Sleep: Why We Need Rest"], + ["audio", "https://my-podcast.com/the-science-of-sleep/audio.mp3"], + ["duration", "10:35"], + ["summary", "Discover the science behind why sleep is essential for our health. This episode explores how sleep impacts memory, mood, and well-being, and shares expert tips for improving sleep quality."], + ["image", "https://my-podcast.com/the-science-of-sleep/image.png"], + ["episode", 1], + ["transcript", "https://my-podcast.com/the-science-of-sleep/transcript.vtt"], + ["chapters", "https://my-podcast.com/the-science-of-sleep/chapters.json"], + ["rss", "https://my-podcast.com/podcast.rss"], + ["ai_generated", "false"], + ["published_at", "1757442746"], + ["i", "podcast:item:guid:https://my-podcast.com/the-science-of-sleep"], + ["t", "podcast"], + ["t", "sleep"], + ["t", "health"] + ], + "pubkey": ".....", + "id": "....", + "sig": "...." +} +``` From 13a6951012e21d6d934d03f9f9c2b661fb65f067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Aydek?= Date: Thu, 11 Sep 2025 14:06:22 +0300 Subject: [PATCH 2/4] Update NIP-PO to NIP-XX for now (PO is not hexadecimal) Co-authored-by: Kayhan Alizadeh --- PO.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PO.md b/PO.md index 0f867c70..fcf4ecec 100644 --- a/PO.md +++ b/PO.md @@ -1,4 +1,4 @@ -NIP-PO +NIP-xx ====== Podcast Events From d27e8c459244b76c4e16ee6e90b504958add7ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Aydek?= Date: Fri, 12 Sep 2025 00:23:44 +0300 Subject: [PATCH 3/4] fix title Co-authored-by: Vitor Pamplona --- PO.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PO.md b/PO.md index fcf4ecec..45f1d543 100644 --- a/PO.md +++ b/PO.md @@ -1,7 +1,7 @@ NIP-xx ====== -Podcast Events +Podcasts -------------- `draft` `optional` From f5692fd036045cafeac204904f1003154de14c94 Mon Sep 17 00:00:00 2001 From: Baris Aydek Date: Fri, 12 Sep 2025 13:28:16 +0300 Subject: [PATCH 4/4] duration in seconds, tags have to be string --- PO.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PO.md b/PO.md index 45f1d543..878bc75f 100644 --- a/PO.md +++ b/PO.md @@ -1,4 +1,4 @@ -NIP-xx +NIP-XX ====== Podcasts @@ -19,7 +19,7 @@ The `.content` field may contain markdown-formatted show notes, or episode descr - `d` - Episode identifier (slug or unique identifier for this episode) - `title` - Episode title - `audio` - URL to the audio file -- `duration` - Episode duration in format "HH:MM:SS" or "MM:SS" +- `duration` - Episode duration in seconds ## Optional Tags @@ -45,10 +45,10 @@ The `.content` field may contain markdown-formatted show notes, or episode descr ["d", "the-science-of-sleep"], ["title", "The Science of Sleep: Why We Need Rest"], ["audio", "https://my-podcast.com/the-science-of-sleep/audio.mp3"], - ["duration", "10:35"], + ["duration", "635"], // duration in seconds (tags have to be string) ["summary", "Discover the science behind why sleep is essential for our health. This episode explores how sleep impacts memory, mood, and well-being, and shares expert tips for improving sleep quality."], ["image", "https://my-podcast.com/the-science-of-sleep/image.png"], - ["episode", 1], + ["episode", "1"], // episode number (tags have to be string) ["transcript", "https://my-podcast.com/the-science-of-sleep/transcript.vtt"], ["chapters", "https://my-podcast.com/the-science-of-sleep/chapters.json"], ["rss", "https://my-podcast.com/podcast.rss"],