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.

Introduction

With the Video Skill API, you can build skills that let customers control their entire video experience by voice. Customers can control video devices and consume video content without invoking a specific skill. For example, a customer could:

Start video playback without specifying a provider or device: "Alexa, play Manchester by the Sea"

Control a specific video device:

"Alexa, turn on my video device"

"Alexa, lower the volume on my video device"

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

Adjusting the volume

Turning a video device on or off

Changing a video device's input

Launching an app or GUI shortcut

Recording video content

Channel navigation

Video catalog ingestion

The Video Skill API offers advantages over using a custom skill for video. 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 controls devices and 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.

Note: If you are creating a video skill for use with Fire TV, you should complete the video catalog ingestion step before you create your skill. For more information, see Integrating your Catalog with Fire TV.

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.

Code and configuration that interpret directives and send 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.

Provides directives to set or adjust the volume and mute or unmute a capable video device. Implement the Speaker interface for devices that can set and adjust the volume to any integer value in a continuous range of values. Implement the StepSpeaker interface for devices that can only adjust the volume in incremental discrete steps when the range of volume is not known.