wavlake / nom-spec

Nostr Open Media Specification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NOM: Nostr Open Media Specification

Draft v0.1

The goal of this spec is to create a minimal document schema that provides Nostr clients with a standard, readable event that contains all the metadata required to present multimedia such as music or video to users. The schema described below is intended to be published as a content string in a standard Nostr event per existing NIP specifications. Specfically, the Parameterized Replaceable Event kind appears well-suited to housing this type of document because the metadata could be updated (the file serving location, for example).

The document labels have been taken directly from or inspired by the structure of RSS feeds for podcasting.

For the sake of simplicity, the following concerns are not included in this specification:

  • How to handle payments
  • Digital rights management (i.e. paywalls)
  • Content distribution implementations

Document Schema

{
    "title": <string>, // Name of content
    "guid": <string>, // Application-specific unique identifier
    "creator": <string>, // Artist name
    "type": <string>, // MIME type (example: "audio/mpeg")
    "duration": <integer>, // Length of media in seconds
    "published_at": <string>, // Unix timestamp converted to string
    "link": <string>, // URL to hosting site for media (example: "https://mysite.com/my-song-page")
    "enclosure": <string>, // URL to media content file (example: "https://cdn.com/mysong.mp3")
    "version": <string>, // Schema version to maintain compatibility with clients
}

About

Nostr Open Media Specification

License:MIT License