Home > Alexa > Alexa Skills Kit

VideoApp Interface Reference

VideoApp Interface Reference

The VideoApp interface provides the VideoApp.Launch directive for streaming native video files in Echo Show. Your skill can send the VideoApp.Launch directive to launch the video. Your skill can send a launch directive in response to a voice request, or in response when a user taps an action link on the screen, if the appropriate display template is used.

Supported Video Formats

The following formats are supported by Video App.

  • Native Videos
    • HLS
    • H.264

Video App Features

The Video App as seen on Echo Show has the following features:

GUI features:

  • Playback controls
  • Title
  • Subtitle
  • Seek bar

Voice Controls:

  • Alexa, pause/resume
  • Alexa, stop/close

Video App as Seen on Echo Show

The Video App screens will look similar to the following.

Native Video

VideoApp for Native Format
VideoApp for Native Format

Error

VideoApp With Error
VideoApp With Error

Configure Your Skill for the VideoApp Directives

To use VideoApp directives for video playback, you must configure your skill as follows:

  • Indicate that your skill implements this interface when configuring the skill. On the Skill Information tab in the developer portal, set the Video App option to Yes. Set the Render Template option to Yes as well, because your skill will likely contain other screen content.

Note that users can invoke these built-in intents without using your skill’s invocation name. If your skill is currently playing video, or was the skill that was most recently playing video, these intents are automatically sent to your skill. Your skill service must expect these intents and not return an error.

If any of these intents does not apply to your skill, ensure that you handle any reference to these intents in a graceful way in your code. For instance, you could return a response with text-to-speech indicating that the command is not relevant to the skill. The specific message depends on the skill and whether the intent is one that might make sense at some point.

If a customer uses your skill on a device, such as Amazon Echo, that does not support video, and attempts to play video with it, your code should gracefully handle this situation. See Determine the Supported Interfaces for the Current Device.

Implement VideoApp Directives

The VideoApp interface provides the VideoApp.Launch directive, which sends Alexa a command to stream the video file identified by the specified videoItem field.

The source for videoItem must be a native video file. Only one video item at a time may be supplied.

When including a directive in your skill service response, set the type property to the directive you want to send. Here is an example of a full response object sent from a LaunchRequest or IntentRequest.

In this example, one native-format video will be played.

{
"version": "1.0",
"response": {
    "outputSpeech": null,
	"card": null,
	"directives": [
	 {
	     "type": "VideoApp.Launch",
		 "videoItem":
		 {
		     "source": "https://www.example.com/video/sample-video-1.mp4",
			 "metadata": {
			     "title": "Title for Sample Video",
			     "subtitle": "Secondary Title for Sample Video"				
			 }
		 }
    }	
	 ],
	 "reprompt": null
    },
	"sessionAttributes": null
}

For the full response format, see Response Body Syntax in the JSON Interface Reference for Custom Skills.

The back button is displayed on every VideoApp screen, and cannot be hidden, unlike for the Display interface. If clicked, the back button takes the customer to the previous display template in the current session. See Back Button in Echo Show Templates.

Parameters of Response

Parameter Description Type Required?
videoItem Contains an object providing information about the video stream to play. object yes
videoItem.source Identifies the location of video content at a remote HTTPS location. The video file must be hosted at an Internet-accessible HTTPS endpoint. HTTPS is required, and the domain hosting the files must present a valid, trusted SSL certificate. Self-signed certificates cannot be used. Many content hosting services provide this. For example, you could host your files at a service such as Amazon Simple Storage Service (Amazon S3) (an Amazon Web Services offering). string (URL) yes
videoItem.metadata Contains an object that provides the information that can displayed on Video App. object no
videoItem.metadata.title Title for the video, intended to be displayed in the Video App. string no
videoItem.metadata.subtitle Secondary title for the video, intended to be displayed in the Video App. string no

Other Reference Materials