Flash Briefing Skill API Feed Reference
Review the following requirements for a Flash Briefing skill feed. Each Flash Briefing skill can have one or more feeds.
Feed requirements
Each feed contains either text content that Alexa reads to the customer or audio content that Alexa plays to the customer. Each feed should meet the following requirements.
Endpoint requirements
-
UTF-8 encoded
- A non-password-protected HTTPS endpoint. For example,
https://developer.amazon.com/public/community/blog/feed/flashbriefing.rss
Important: Because of increased security requirements, Amazon recommends that you provide an HTTPS feed endpoint. - Provide content in one of the following formats:
- JSON (preferred format)
- RSS (acceptable format)
Format requirements
The following are the basic feed format requirements. For more details, see Feed Format Details.
- Provide the format type as a MIME type in HTTP Content-Type header
- Provide between 1 and 5 unique feed items at a time.
- If you provide more than 5, Alexa ignores items beyond the first 5.
- Provide the feed items in order from newest to oldest, based on the date value for the item. Alexa might ignore older items.
- Each item in the feed should be unique and not overlap with content in another feed item.
- The audio content, whether an audio stream or spoken by Alexa, must be at least ten seconds long.
Audio content requirements
For details about normalizing audio content loudness, see Normalize the Loudness of Audio Content.
- An audio item must contain a HTTPS URL to audio content. HTTPS is required for stream URLs.
- The audio content should be 256kbps mono or stereo MP3.
- Content should not exceed 10 minutes in length.
- Program loudness for Alexa should average -14 dB LUFS/LKFS.
- The true-peak value should not exceed -2 dBFS.
- Not lower than -19 dB LUFS.
- Not higher than -9 dB LUFS.
- Do not exceed true-peak guidelines.
Text content requirements
- Limit feed items to fewer than 4,500 characters. If the item exceeds 4,500 characters in length, your content is truncated to the nearest sentence under 4,500 characters.
- The content must be plain text and not contain special characters such as SSML, HTML or XML tags.
- Should be properly punctuated, short, and easily understood when read aloud. Commas (,) and semicolons (;) result in short pauses. Periods (.), question marks (?) and exclamation points (!) result in longer pauses. Avoid using non-standard punctuation as it can cause TTS issues.
Performance requirements
Alexa attempts to cache your content every 15 minutes, and handles scaling for large traffic. For more details, see Performance Tips.
You must meet the following requirements.
- Your feed should be available 24 hours a day, 7 days a week. Contact Amazon at content-skill-submissions@amazon.com in the event of a planned outage.
- An endpoint must handle at least 1 request per minute.
- Response latency must be less than 1 second.
- Response size must be no more than 1 MB.
Update your feed
Because Flash Briefing caches your content, it's important that your content is fully uploaded and available before updating your feed file. To make sure that new content is available, use the following steps.
- Upload your content to your server, wait for the upload to complete, and verify that you can reach the endpoint.
- Update the date element in your feed file to reflect the current date and time. For more details, see Feed Format Details.
- Save your feed file.
Alexa checks for new content every 15 minutes, and you can expect to hear or see your new content within 30 minutes of updating your feed file.
Feed format details
The following table lists format details for each supported format. Each message should contain the HTTP content-type header specifying the format of the payload. The remainder of the items in the following table describe how to format each item in a feed.
Element | JSON Element | RSS Element | Description | Required |
---|---|---|---|---|
HTTP Content-Type Header | application/json |
application/rss+xml |
Indicates the format of the feed payload. | Yes |
Identifier | uid |
guid |
A unique identifier for each feed item. UUID format preferred, but not required. | Yes |
Date | updateDate |
pubDate |
The date indicates freshness of the feed item, and items should be in date order from newest to oldest. Alexa ignores items with a date older than 7 days. A string in ISO 8601 format, YYYY-MM-DDThh:mm:ssZ, specified in UTC. | Yes |
Title | titleText |
title |
The title of the feed item to display in the Alexa app. | Yes |
Audio content | A streamUrl element with a value of the URL for an MP3 stream. |
An enclosure element with a type attribute of audio/mpeg . |
The audio that Alexa plays for the customer. An HTTPS URL specifying the location of the audio content. Required for audio items. | No |
Text content | mainText |
description |
The text that Alexa reads to the customer. For audio items, this element is ignored, and can contain an empty string ("" ). |
Yes |
Display URL | redirectionUrl |
link |
Provides the URL target for the Read More link in the Alexa app. | Yes |
JSON message examples
The following examples show how you would format JSON for the Flash Briefing skill API.
JSON single audio item example
This example contains audio content that Alexa plays to the customer. The title and link display in the Alexa app.
Content-Type: application/json
...
{
"uid": "urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b",
"updateDate": "2016-05-23T22:34:51.0Z",
"titleText": "Amazon Developer Blog, week in review May 23rd",
"mainText": "",
"streamUrl": "https://developer.amazon.com/public/community/blog/myaudiofile.mp3",
"redirectionUrl": "https://developer.amazon.com/public/community/blog"
}
JSON single text item example
The following example contains text content that Alexa reads to the customer. The title and link display in the Alexa app.
Content-Type: application/json
...
{
"uid": "urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b",
"updateDate": "2016-05-23T00:00:00.0Z",
"titleText": "Amazon Developer Blog, week in review May 23rd",
"mainText": "Meet Echosim. A new online community tool for developers that simulates the look and feel of an Amazon Echo.",
"redirectionUrl": "https://developer.amazon.com/public/community/blog"
}
JSON text multi-item example
The following example contains multiple text items that Alexa reads to the customer, and plays an earcon sound between the items. The title and link display in the Alexa app.
Content-Type: application/json
...
[
{
"uid": "EXAMPLE_CHANNEL_MULTI_ITEM_JSON_TTS_1",
"updateDate": "2016-04-10T00:00:00.0Z",
"titleText": "Multi Item JSON (TTS)",
"mainText": "This channel has multiple TTS JSON items. This is the first item.",
"redirectionUrl": "https://www.amazon.com"
},
{
"uid": "EXAMPLE_CHANNEL_MULTI_ITEM_JSON_TTS_2",
"updateDate": "2016-04-10T00:00:00.0Z",
"titleText": "Multi Item JSON (TTS)",
"mainText": "This channel has multiple TTS JSON items. This is the second item.",
"redirectionUrl": "https://www.amazon.com"
}
]
RSS message examples
The following examples show how you would format RSS for the Flash Briefing skill API.
RSS single audio item example
This example contains audio content that Alexa plays to the customer. The title and link display in the Alexa app.
Content-Type: application/rss+xml
...
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<ttl>30</ttl>
<item>
<guid>urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b</guid>
<title>Amazon Developer Blog, week in review May 23rd</title>
<description>
Meet Echosim. A new online community tool for developers that simulates the
look and feel of an Amazon Echo.
</description>
<link>https://developer.amazon.com/public/community/blog</link>
<pubDate>2016-05-23T00:00:00.0Z</pubDate>
<enclosure url="https://developer.amazon.com/public/community/blog/myaudiofile.mp3"
length="12216320" type="audio/mpeg" />
</item>
</channel>
</rss>
RSS single text item example
This example contains text content that Alexa reads to the customer. Both the title and link display in the Alexa app.
Content-Type: application/rss+xml
...
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<ttl>30</ttl>
<item>
<guid>urn:uuid:42667ad2-0ffd-4f04-973f-732564622d7e</guid>
<title>Amazon Developer Blog, week in review May 23rd</title>
<link>https://developer.amazon.com/public/community/blog</link>
<pubDate>2016-05-23T00:00:00.0Z</pubDate>
<description>
Meet Echosim. A new online community tool for developers that simulates the look and feel of an Amazon Echo. With 3D JavaScript animations and Alexa Voice Service integration, Echosim gives users the ability to experience a realistic interaction with Alexa capabilities and skills. Echosim lives in your browser, so anyone, anywhere can access it and test their Alexa skills.
You no longer need an Alexa device to test your skills. Developers worldwide can use Echosim to experience Alexa.
</description>
</item>
</channel>
</rss>
RSS text multi-item example
This example contains multiple text items that Alexa reads to the customer and plays an earcon sound between the items. Both the title and link display in the Alexa app.
Content-Type: application/rss+xml
...
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<ttl>30</ttl>
<item>
<title>Multi Item RSS (TTS)</title>
<link>https://www.amazon.com</link>
<pubDate>2016-05-23T00:00:00.0Z</pubDate>
<description>This channel has multiple TTS RSS items. This is item one.</description>
<guid>urn:uuid:b385254e-dc31-4c4a-afc5-0de97e43923c</guid>
</item>
<item>
<title>Multi Item RSS (TTS)</title>
<link>https://www.amazon.com</link>
<pubDate>2016-05-23T00:00:00.0Z</pubDate>
<description>This channel has multiple TTS RSS items. This is item two.</description>
<guid>urn:uuid:cf093eed-66f2-4dee-bdad-02ff0510194b</guid>
</item>
</channel>
</rss>
Last updated: Feb 08, 2024