True Anthem can automatically ingest video content from your publishing platform through an RSS/MRSS video feed. Once connected, this feed powers two things: the Content Discovery section of your Dashboard, and automated scheduling of video posts to social media.
This article is a reference guide for the technical team setting up or maintaining your video feed — typically a developer or CMS administrator.
This is a technical specification intended for developers implementing or maintaining a video feed integration with True Anthem. If you're looking for help scheduling or publishing videos in the Dashboard itself, this isn't the right article for you — reach out to support@trueanthem.com and we can point you in the right direction.
Supported Feed Formats
True Anthem's video feeds are built on open, well-established syndication standards. Your feed should conform to one of the following:
How True Anthem Requests Your Feed
True Anthem uses two optional query-string parameters when requesting your feed. These help our system resume processing exactly where it left off after any downtime, rather than re-processing your entire feed every time.
- since — Returns items published, modified, or deleted on or after this datetime.
- until — Returns items published, modified, or deleted on or before this datetime.
Both values should be formatted per RFC 3339 or RFC 1123.
Example request URL:
https://www.example.org?since=2024-11-12T17:41:00Z📝 NOTE
In normal operation, True Anthem only sends the since parameter to pick up where it left off. The until parameter is only used when backfilling or reprocessing older items — you don't need to build special handling for a "normal" request beyond since.
Making Feed Retrieval Efficient
To reduce unnecessary load, your feed server should support conditional GET via either an ETag or Last-Modified header:
- ETag: Lets True Anthem verify whether your feed content has changed before re-downloading it.
- Last-Modified: If ETags aren't available, this timestamp lets True Anthem check for new content instead.
💡 TIP
Supporting one of these headers isn't required, but it meaningfully reduces server load and improves response times — especially for large feeds that are polled frequently.
Feed Elements Reference
Channel-Level Elements
| Element | Required | Usage | Validation |
|---|---|---|---|
lastBuildDate |
No | The last time the feed was updated. | RFC 3339 or RFC 1123 |
Item-Level Elements
⚠️ IMPORTANT: Deleting a Video
If media:status is used to mark a video as deleted, only the guid element is required — every other element becomes optional. Note that deleting media will also automatically remove any posts already scheduled with that media.
Element |
Required |
Usage |
Validation |
|---|---|---|---|
|
Yes |
The unique, immutable ID for the video. Any string is acceptable — you're responsible for ensuring uniqueness. | No syntax rules; treated as a string. |
|
Yes |
Datetime the video first became available. | RFC 3339 or RFC 1123 |
|
No |
Datetime the video's metadata was updated. Used by True Anthem to detect and sync changes. | — |
|
Yes |
The actual video file(s). | See the media:content element spec. |
|
Yes |
The video title. Depending on the social network, used as either a title or alt text. Can also be configured as the source for post copy. | UTF-8, max 120 characters. |
|
Yes |
A description of the video. Can be configured as the source for post copy. May also inform recommendations/reporting. | UTF-8, max 240 characters. |
|
No |
A comma-separated list of relevant keywords. Used for recommendations and reporting. | Max 10 comma-delimited words/phrases. |
|
No |
URL of a representative image, used when posting to social (where the platform's API supports it). | Valid URL per WHATWG spec. |
|
No |
Holds active or deleted (the blocked value is accepted but ignored). Omitting this is equivalent to active. deleted removes the video from True Anthem and any posts scheduled with it. |
— |
|
No |
ID of the media:content, if different from the item ID. Only recognized inside media:content — ignored elsewhere. Defaults to the guid if unspecified. |
— |
|
No |
Datetime the item becomes available. True Anthem won't auto-schedule the video before this date. Defaults to immediately available if unspecified. | RFC 3339 or RFC 1123 |
|
No |
Datetime the item stops being considered valid. True Anthem stops auto-scheduling the video after this date. Defaults to indefinitely valid if unspecified. | RFC 3339 or RFC 1123 |
|
No |
True Anthem's custom element for specifying preferred social post copy. Must be nested inside item or media:content. |
UTF-8, max 240 characters. |
Customizing Social Copy with ta:social
ta:social is a True Anthem-specific element (defined in the https://www.trueanthem.com/feedspec namespace) that lets you specify exactly what text should be used when a piece of content is posted to social media. It applies to videos, links, and photos alike.
It takes an optional target attribute to scope the copy to a specific platform. Valid values are:
- threads
- tiktok
- x
- youtube
- bluesky
When deciding what text to use for an auto-scheduled post, True Anthem checks these sources in order:
- User-Defined Post Copy (highest priority): If someone manually wrote post copy for that link or media asset in the Dashboard, that text always wins.
-
RSS-Based Post Copy: If no manual copy exists, True Anthem looks for a
ta:socialvalue matching the target platform. If none is found, it falls back to the untargetedta:socialvalue.- For links, this check happens on the
ta:socialinsideitem. - For media assets (like videos), this check happens on the
ta:socialinsidemedia:contentfirst — and if it's missing there, True Anthem falls back to theta:socialinsideitem, same as it would for a link.
- For links, this check happens on the
- Fallback: If nothing is found after all of that, True Anthem generates copy based on your preconfigured settings.
Example Feeds
RSS 2.0 Example
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:ta="https://www.trueanthem.com/feedspec/v1">
<channel>
<lastBuildDate>2023-01-01T00:00:00Z</lastBuildDate>
<item>
<guid>77245c97-e996-4bdf-8c83-142a6965c65a</guid>
<pubDate>2023-01-01T00:00:00Z</pubDate>
<dc:modified>2023-01-02T00:00:00Z</dc:modified>
<ta:social>This is the default text for link posts.</ta:social>
<ta:social target="facebook">This text will only be used for Facebook link posts.</ta:social>
<media:content url="http://www.realpublisher.com/videos/major-event.mp4"
type="video/mp4" medium="video" isDefault="false"
expression="full" bitrate="128" framerate="25"
samplingrate="44.1" channels="2" duration="120"
height="720" width="1280" lang="en">
<ta:social>This is the default text for video posts with this video.</ta:social>
<ta:social target="threads">This text will only be used for posting this video to Threads.</ta:social>
<media:title>Video Title</media:title>
<media:description>Video Description</media:description>
</media:content>
<media:keywords>breaking, news, event</media:keywords>
<media:status state="active" />
<dc:available>2023-01-01T00:00:00Z</dc:available>
<dc:valid>2023-12-31T23:59:59Z</dc:valid>
</item>
<item>
<guid>3d8451ee-5602-47dd-9b92-a2d267b8b027</guid>
<media:status state="deleted" />
</item>
</channel>
</rss>Atom 1.0 Support
True Anthem also accepts Atom 1.0 feeds for video ingestion. Most elements follow the same structure as RSS 2.0 — the table below covers only what's different.
RSS Element |
Matching Atom Element |
Usage |
|---|---|---|
item |
entry |
Represents an individual video; all other elements are enclosed within it. |
guid |
id |
The unique, immutable ID for the video. |
pubDate |
published |
Datetime the video first became available. |
dc:modified |
updated |
Datetime the video's metadata was updated. |
<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:ta="https://www.trueanthem.com/feedspec/v1">
<title>EXAMPLE FEED</title>
<updated>2024-05-15T12:00:00Z</updated>
<entry>
<id>77245c97-e996-4bdf-8c83-142a6965c65a</id>
<published>2023-01-01T00:00:00Z</published>
<updated>2023-01-02T00:00:00Z</updated>
<ta:social>This is the default text for link posts.</ta:social>
<ta:social target="facebook">This text will only be used for Facebook link posts.</ta:social>
<media:content url="http://www.realpublisher.com/videos/major-event.mp4"
type="video/mp4" medium="video" isDefault="false"
expression="full" bitrate="128" framerate="25"
samplingrate="44.1" channels="2" duration="120"
height="720" width="1280" lang="en">
<ta:social>This is the default text for video posts with this video.</ta:social>
<ta:social target="threads">This text will only be used for posting this video to Threads.</ta:social>
<media:title>Video Title</media:title>
<media:description>Video Description</media:description>
</media:content>
<media:keywords>breaking, news, event</media:keywords>
<media:status state="active" />
<dc:available>2023-01-01T00:00:00Z</dc:available>
<dc:valid>2023-12-31T23:59:59Z</dc:valid>
</entry>
<entry>
<id>3d8451ee-5602-47dd-9b92-a2d267b8b027</id>
<media:status state="deleted" />
</entry>
</feed>Supported Video Specifications by Platform
Each social platform has its own limits for video format, size, duration, and dimensions. True Anthem has only certified the specifications listed below — even if a platform technically supports more, videos outside these specs may not work correctly in the Dashboard, on the platform, or both.
⚠️ IMPORTANT: Facebook File Size
While Facebook itself supports files up to 10 GB, True Anthem restricts Facebook Feed uploads to 2 GB.
Platform |
Formats |
Codecs |
Max File Size |
Max Duration |
Aspect Ratio |
Dimensions |
|---|---|---|---|---|---|---|
| Facebook Feed | MP4, MOV | Video: H.264, H.265 Audio: AAC |
2 GB | 240 minutes | 16:9 to 9:16 | Min width 120px; max 4K (3840x2160) |
| Facebook Reel | MP4 | Video: H.264, H.265 Audio: AAC LC |
1 GB | 90 seconds | 9:16 | — |
| X | MP4 | Video: H.264 Audio: AAC LC |
512 MB | 140 seconds | 1:3 to 3:1 | 32x32 to 1280x1024 |
| X Premium | MP4 | Video: H.264 Audio: AAC LC |
8 GB | 3 hours | — | 1920x1080 |
| MP4 | Video: H.264 Audio: AAC |
2 GB | 10 minutes | 1:2.4 to 2.4:1 | 256x144 to 4096x2304 | |
| MP4, MOV | Video: H.264, H.265 Audio: AAC |
500 MB* | 15 minutes | 0.01:1 to 10:1 | Max 1920px wide | |
| YouTube | MP4 | Video: H.264 Audio: AAC LC |
256 GB | — | — | — |
| TikTok | MP4, MOV | Video: H.264, H.265 Audio: AAC |
4 GB | Account-based limit, max 10 minutes | — | Min 360px, max 4096px (height & width) |
| Threads | MP4, MOV | Video: H.264, H.265 Audio: AAC |
1 GB | 5 minutes | 0.01:1 to 10:1 | Max 1920px wide |
| MP4, MOV | Video: H.264, H.265 Audio: AAC |
2 GB | 5 minutes | No strict limit | No strict limit | |
| Bluesky | MP4, MOV | Video: H.264, H.265 Audio: AAC** |
50 MB | 60 seconds | No strict limit | No strict limit |
*Instagram's API documents the limit as 1 GB, but consistently fails above ~200 MB in practice.
**Bluesky doesn't explicitly document supported codecs; these are inferred from common MP4/MOV usage.
Key Takeaways
-
Required elements: Every item needs a
guid,pubDate,media:content,media:title, andmedia:description— unless it's markeddeleted, in which case onlyguidis needed. -
Use since/until responsibly: True Anthem uses
sincefor normal polling anduntilonly for backfills — support both if you want full compatibility. -
Control your social copy: Use
ta:socialto set platform-specific captions; manual edits in the Dashboard always take priority over feed-provided copy. - Respect platform limits: Videos outside True Anthem's certified specs for a given platform may fail to post correctly, even if the platform's own limits are more generous.
Changelog
Date |
Change |
|---|---|
| 2025-03-05 | Added support for Atom feed format |
| 2025-03-05 | Added video specification for Bluesky |
| 2025-03-05 | Introduced the ta:social custom element |
| 2025-04-16 | Removed the socialPlatform custom attribute from media:content
|
| 2025-04-28 | Added aspect ratio and dimension requirements to platform video specs |
Questions about setting up or troubleshooting your video feed? Reach out to support@trueanthem.com.
Comments
Please sign in to leave a comment.