Nonli accepts Media RSS (MRSS) feeds based on RSS 2.0. This format lets Nonli directly import editorial metadata, an MP4 file, and its thumbnail for automated video publishing.
When the same content is available in horizontal and vertical formats, both renditions must be grouped in the same <item>. Nonli can then select the rendition that matches the target post type without indexing the editorial content twice.
1. Reference structure#
1<?xml version="1.0" encoding="UTF-8"?>2<rss3 version="2.0"4 xmlns:dc="http://purl.org/dc/elements/1.1/"5 xmlns:media="http://search.yahoo.com/mrss/"6>7 <channel>8 <title>Example video feed</title>9 <link>https://www.example.com/</link>10 <description>Videos available for Nonli</description>11 <language>en</language>12
13 <item>14 <guid isPermaLink="false">ef88ec32-3810-11f1-88c3-598b8dedbf8b</guid>15 <pubDate>Tue, 14 Apr 2026 14:53:18 +0000</pubDate>16 <title>Magyar wins in Hungary</title>17 <description>Péter Magyar won the election...</description>18 <link>https://www.example.com/en/video/20260414-magyar-wins</link>19 <category>Europe</category>20 <dc:creator>Elisabeth Allain</dc:creator>21
22 <media:group>23 <media:content24 url="https://media.example.com/video-horizontal.mp4"25 type="video/mp4"26 medium="video"27 isDefault="true"28 width="1920"29 height="1080"30 duration="142"31 >32 <media:category scheme="urn:nonli:format">video</media:category>33 <media:title>Magyar wins in Hungary</media:title>34 <media:thumbnail url="https://media.example.com/thumbnail-16x9.jpg" />35 </media:content>36
37 <media:content38 url="https://media.example.com/video-vertical.mp4"39 type="video/mp4"40 medium="video"41 width="1080"42 height="1920"43 duration="58"44 >45 <media:category scheme="urn:nonli:format">short</media:category>46 <media:title>Magyar wins in Hungary (short)</media:title>47 <media:thumbnail url="https://media.example.com/thumbnail-9x16.jpg" />48 </media:content>49 </media:group>50 </item>51 </channel>52</rss>2. Required fields for each item#
| Element or attribute | Rule |
|---|---|
guid | Stable and unique identifier for the editorial content. It must not change when the feed is updated. |
pubDate | RFC 2822 date with a time zone, for example Tue, 14 Apr 2026 14:53:18 +0000. |
title | Non-empty editorial title. |
description | Summary or text used to generate the post message. Basic HTML is accepted inside a CDATA section. |
link | Canonical HTTPS URL of the public page associated with the content. |
media:group | Group containing one or more renditions of the same content. |
media:content@url | Direct, publicly downloadable HTTPS URL of the video file. |
media:content@type | video/mp4. |
media:content@medium | video. |
width and height | Actual video dimensions in pixels. |
duration | Actual duration in whole seconds. |
media:category | video or short, using the exact urn:nonli:format scheme. |
media:title | Title of the video rendition. |
media:thumbnail@url | Direct HTTPS URL of a JPEG or PNG thumbnail matching the rendition. |
category and dc:creator are recommended to enrich filters and messages, but they are not required.
3. Identify video formats#
The media:category value determines how Nonli uses the rendition:
video: standard video, usually horizontal 16:9;short: short vertical video, usually 9:16, intended for Reels, Shorts, and equivalent formats.
The urn:nonli:format scheme is required so this technical classification cannot be confused with an editorial MRSS category.
An <item> may contain only video, only short, or both. It must contain no more than one rendition per format. If the two files represent different editorial content, publish them as two separate <item> elements with different GUIDs.
To mark a preferred rendition, add isDefault="true" to only one media:content element in the group.
4. Media accessibility#
Nonli must be able to download the feed, videos, and thumbnails from its servers:
- use absolute HTTPS URLs only;
- return HTTP
200without an intermediate HTML page; - avoid cookies, sessions, temporary tokens, and browser-dependent redirects;
- serve a
Content-Typethat matches the file (application/rss+xml,video/mp4,image/jpeg, orimage/png); - keep media URLs valid long enough to allow an import retry;
- if the feed uses a token in its URL, share it with Nonli through a secure channel and coordinate token rotation.
A YouTube URL or playback page is not a substitute for the direct MP4 file URL.
5. Updates and performance#
- Sort entries from newest to oldest.
- Keep the number of entries bounded while covering new publications between two feed checks.
- Never reuse a GUID for different content.
- Keep the same GUID when correcting a title, description, thumbnail, or rendition.
- Expose
ETagand/orLast-Modifiedand support conditional requests when your infrastructure allows it. - Avoid duplicating the same content across several feeds when one feed per brand and language can group its renditions.
6. Validation checklist#
Before sharing the feed with Nonli, check that:
- the XML is valid and declares the
mediaanddcnamespaces; - each item has a stable GUID, date, title, and canonical link;
- each
media:contentpoints directly to an accessible MP4 file; - dimensions and duration match the actual file;
- each rendition has exactly the
videoorshortcategory with theurn:nonli:formatscheme; - horizontal and vertical renditions of the same content are grouped in the same
<media:group>; - each rendition has an accessible thumbnail;
- fetching the feed again does not change existing GUIDs.