Understand the Video Skill API
The Video Skill API is a set of APIs that enable the far-field control of video devices and streaming services using an Alexa device. The Video Skill API provides both customers and developers with a consistent experience and interaction model.
- Understand How a Video Skill Works
- Who Can Develop Video Skills for Alexa
- Prerequisites to Video Skill Development
- Documentation Guide
The Video Skill API is designed to enable customers to easily find and consume video content without invoking a specific skill. For example, a customer could say, "Alexa, play Manchester by the Sea" without specifying a provider or device. Through the Video Skill API, Alexa is aware of video devices and services a user has or subscribes to, and enables the user to control experiences across these devices and services by voice. The Video Skill API intelligently routes users to the content they want. In contrast, custom skills require users to invoke a skill by name, and result in individual skills that aren’t aware of the user’s broader set of devices and services.
For example, a video provider produces custom content, a new television series called "The Adventures of Sam". If that provider uses the Video Skill API to create an Alexa skill, that content can be ingested into Alexa’s content catalog. Alexa then understands the provider for the content. When a customer says, "Alexa, play The Adventures of Sam" , Alexa identifies the content provider, and walks the customer through the process of enabling the appropriate skill. Without the Video Skill API, a customer would have to remember that "The Adventures of Sam" came from a specific provider, make sure they had enabled that provider’s custom skill, and then ask the skill for the content.
The Video Skill API focuses on the video experience. Developers can take advantage of a streamlined setup process for customers and a set of APIs that are designed specifically for integrating video functionality. One of the main goals of the Video Skill API is to reduce developer friction and skill implementation time. To help with this, the Video Skill API team provides documentation and code examples for getting started quickly.
The Video Skill API exposes a variety of functionality including:
- Searching and playing content
- Playback controls such as pause and rewind
- Channel navigation
- Video catalog ingestion
Understand How a Video Skill Works
An Alexa video ecosystem contains the following:
- Customer: The person interacting with the Alexa device and the subscriber to your video service
- The Video Skill API: A service that understands the voice commands and converts them to directives (JSON messages) that are sent to video skills
- AWS Lambda: A compute service offered by Amazon Web Services (AWS) that hosts the video skill code
- Video skill: Code and configuration that interpret directives and sends messages to a video app or device to complete the customer request
Who Can Develop Video Skills for Alexa
Anyone can develop a video skill. Developing video skills is relatively easy because the voice interactions are defined by Amazon. The Alexa service knows how to interpret the user’s speech and what messages to send to your video skills.
Generally, video skill development falls into two categories:
- Developers who represent device manufacturers that want to enable voice interactions with their devices
- Developers who represent video service providers that want to enable voice interactions with their video services
Prerequisites to Video Skill Development
In order to develop a Video Skill you must have the following:
- An Amazon developer account. Sign up is free
- A connected device with a cloud API or cloud-enabled video service
- An Alexa device such as Amazon Echo
- An AWS account. You host your skill code as an AWS Lambda function
- Knowledge of Java, Node.js, Python or C# as Lambda functions can be written in any of these languages
- An understanding of OAuth 2.0
The following topic describes the steps to create a video skill.
The following topics describe the Video Skill API message format, device discovery and error handling.
The following interface topics describe the directives that are sent to your skill as a result of customer request to search, display or play content. Your code interprets these directives and communicates with your connected devices to complete customer requests. You respond to Alexa with an event. These interfaces describe directives and events to support search, play, and channel changes.
The following topic describes how video entities are represented in search and play messages.
To provide the best speech recognition accuracy and improved speech training, you should provide a catalog of known entities: channels, TV shows, movies and other content information. This information is provided in a specific format and uploaded to an Amazon S3 bucket where Alexa can ingest the catalog data.