Alexa.RemoteVideoPlayer Interface: SearchAndPlay (VSK Fire TV)
When users ask Alexa to play specific video content, such as "Watch Bosch" or "Watch the Warriors game," the Alexa.RemoteVideoPlayer
interface sends SearchAndPlay
directives to your app or Lambda.
- Overview
- Utterances for SearchAndPlay Directives
- SearchAndPlay Directive Example
- Payload Definitions
- Handling SearchAndPlay Directives
- Response Example
- Declaring Capability Support for this Interface
Overview
The SearchAndPlay
directive signals that the customer has asked Alexa to "watch" an item. SearchAndPlay
results in playback of the specifically requested title, or a title that best matches the requested entity. If there are no matched titles, search results are returned instead.
Here are some example utterances:
- Alexa, watch title
- Alexa, play title
- Alexa, stream title
- Alexa, start title
Utterances for SearchAndPlay Directives
Alexa sends a SearchAndPlay
directive to your app (for app-only integrations) or to your Lambda (for cloudside integrations) when users say the following utterances.
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
Watch breaking bad |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
Watch sean connery |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
Watch comedy |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
Watch star trek |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
Watch a movie |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
Watch breaking bad season two |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
Watch breaking bad episode five |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Watch breaking bad season two episode five |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Watch james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Watch seahawks |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Watch soccer |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Watch n. b. a. league |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Watch soccer game |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
mets / joue / lance / pars [VideoName] sur [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
regarde un film avec [actor] mets un film avec [actor] joue un film avec [actor] pars un film avec [actor] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
regarder un [GenreName] regarder une [GenreName] mets un [GenreName] mets une [GenreName] joue un [GenreName] joue une [GenreName |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
regarde [title] mets [title] joue [title] pars [title] |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
regarde un film mets un film joue un film pars un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
regarde la saison [x] de [title] mets la saison [x] de [title] joue la saison [x] de [title] pars la saison [x] de [title] regarde [title] saison [x] mets [title] saison [x] joue [title] saison [x] pars [title] saison [x] joue la saison [x] de [title] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
regarde l'épisode [x] de [title] mets l'épisode [x] de [title] joue l'épisode [x] de [title] pars l'épisode [x] de [title] joue [title] épisode [x] mets [title] épisode [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Same as fr-FR |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Regarde le [team] Regarde le match de [team] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Mets [league] Joue [league] Regarde [league] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
mets / joue / lance [VideoName] sur [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
regarde un film avec [actor] mets un film avec [actor] joue un film avec [actor] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
regarder un [GenreName] regarder une [GenreName] mets un [GenreName] mets une [GenreName] joue un [GenreName] joue une [GenreName |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
Regarde [title] Mets [title] Joue [title] |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
regarde un film mets un film joue un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
Regarde la saison [x] de [title] Mets la saison [x] de [title] Regarde [title] saison [x] Mets [title] saison [x] Joue [title] saison [x] Joue la saison [x] de [title] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
Regarde l'épisode [x] de [title] Mets l'épisode [x] de [title] Joue l'épisode [x] de [title] Joue [title] épisode [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
Regarde l'épisode [x] de la saison [x] de [title] Joue l'épisode [x] de la saison [x] de [title] Mets l'épisode [x] de la saison [x] de [title] |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
Regarde le [team] Regarde le match de [team] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
Not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
Mets [league] Joue [league] Regarde [league] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
Not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
ich möchte [VideoName] gucken spiel [VideoName] spiel watchlist ab von [VideoName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
spiel [VideoName] (mit [ActorName]) auf [AppName] streame einen film mit [ActorName] auf [AppName] streame einen [ActorName] film auf [AppName] streame eine serie mit [ActorName] auf [AppName] streame eine [ActorName] serie auf [AppName] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
spiel eine [GenreName] [MediaType] auf [DeviceType] ab spiel eine [GenreName] [MediaType] auf [AppName] ab [GenreName] [MediaType] schauen spiel einen [GenreName] [MediaType] |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
ich möchte [VideoName] gucken spiel [VideoName] spiel watchlist ab von [VideoName]? |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
spiel einen [MediaType] spiel [MediaType] aus der/meiner watchlist streame den [MediaType] [VideoName] auf [AppName]/[Device] spiel trailer von [VideoName] spiel die neueste folge von [VideoName] |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
spiel [VideoName] [Season] [Season_Numer] spiel [VideoName] [Season] [Season_Numer] auf [AppName] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
spiel die [Episode_Number] [Episode] von [VideoName] spiel [VideoName] [Episode_Number] spiel von [VideoName] [Episode] [Episode_Number] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
spiel [Season] [Season_Numer] [Episode] [Episode_Number] von [VideoName] spiel [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number] spiel die [VideoName] [Season] [Season_Numer] [Episode] [Episode_Number] auf [AppName] ab |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
spiel [SportsTeam] [Event] auf [AppName] [SportsTeam] [Event] anschauen/ansehen das [SportsTeam] [Event] auf [AppName] anschauen/ansehen spiel das [SportsTeam] [Event] auf meinem [Device] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
spiel das [Sport] [Event] auf meinem [Device] das [Sport] [Event] ansehen |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
spiel [SportsTeam] [Event] auf [AppName] [SportsTeam] [Event] anschauen |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
spiel das [Sport] [Event] auf meinem [Device] das [Sport] [Event] ansehen |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
[VideoName] चलाओ/बजाओ/लगाओ/play/देखो [AppName] पे/पर/में [VideoName] चलाओ/बजाओ/लगाओ/play |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
[ActorName] का/की/के movies को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के movies चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [GenreName] चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के [VideoName] चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के/वाला [GenreName] की [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [ActorName] का/की/के/वाला [GenreName] की [VideoName] चलाओ/बजाओ/लगाओ/play/देखो |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
[GenreName] [VideoName] को चलाओ/बजाओ/लगाओ/play/देखो [GenreName] [VideoName] चलाओ/बजाओ/लगाओ/play/देखो |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
star trek देखो/देखना/देखिए |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
[VideoName] movies चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
[VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [SeasonNumber] [SeasonNumber] चलाओ/बजाओ/लगाओ/play/देखो |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
[VideoName] का/की/के [EpisodeNumber] को चलाओ/बजाओ/लगाओ/play/देखो [VideoName] का/की/के [EpisodeNumber] चलाओ/बजाओ/लगाओ/play/देखो |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
[VideoName] season one episode one चलाओ/बजाओ/लगाओ/play करो [VideoName] season एक का episode एक चलाओ/बजाओ/लगाओ/play करो |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
[CharacterName] का/की/के/वाला movies चलाओ/बजाओ/लगाओ/play/देखो [CharacterName] का/की/के/वाला movies को चलाओ/बजाओ/लगाओ/play/देखो Watch [CharacterName] movie [VideoName] |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
[Sport/League/Seam] games चलाओ/बजाओ/लगाओ/play/देखो [Sport/League/Seam] के games को चलाओ/बजाओ/लगाओ/play/देखो |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
metti / trasmetti / riproduci / fammi guardare / fammi vedere + [VideoName] (+ da/su [DeviceName]) |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
guarda un film con [ActorName] metti un film con [ActorName] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
guarda una [GenreName] fammi vedere una commedia mostra mi una commedia metti una commedia |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
guarda star trek fammi vedere star trek mostra star trek |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
guarda un film metti un fim trasmetti un film riproduci un film |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
guarda [VideoName] stagione due metti [VideoName] stagione due riproduci [VideoName] stagione due |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
guarda [VideoName] episodio cinque metti [VideoName] episodio cinque riproduci [VideoName] episodio cinque |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
guarda [VideoName] stagione due episodio cinque metti [VideoName] stagione due episodio cinque riproduci [VideoName] stagione due episodio cinque |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
guarda [CharacterName] fammi vedere un film con james bond mostrami un film di james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
riproduci la partita del [SportsTeam] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
not supported |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
trasmetti la partita della [League] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
[VideoName]を再生して [VideoName]を[AppName]で再生して [AppName]で[VideoName][MediaType]を再生して |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
[ActorNameName]が出ている[MediaType]を再生 |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
[AppName]で[GenreNameName][MediaType]を再生[AppName]で[GenreNameName]を再生 |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
|
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
[VideoName]を再生して [VideoName]を<AppName]で再生して [AppName]で[VideoName][MediaType]を再生して [MediaType]を再生して [ActorNameName]が出ている[MediaType]を再生 [Anaphor][MediaType]を流して [AppName]で[GenreNameName][MediaType]を再生 [AppName]で[VideoName][MediaType]を再生して [ChannelName]の[MediaType]を再生 |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
[VideoName]の[Season][Season_Number]の |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
[Episode_Number][Episode]を再生 |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
[Episode_Number][Episode]を再生 [VideoName]の[Season][Season_Number]の |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
|
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
[SportsTeam]の[Event]を[AppName]で見せて |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
tocar/assistir/reproduzir [VideoName] no/na [AppName] |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
assistir [ator] colocar [ator] coloque filmes com [ator] encontre filmes com [ator] me mostre filmes com [ator] |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
assitir [GenreName] assistir programas de [GenreName] programas de [GenreName] colocar [GenreName] por favor reproduzir [GenreName] reproduzir programas de [GenreName] colocar um programa de [GenreName] |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
assitir jornada nas estrelas colocar jornada nas estrelas reproduzir jornada nas estrelas você pode passsar jornada nas estrelas por favor reproduzir jornada nas estrelas |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
assistir um filme colocar um filme nós podemos assistir um filme ver um filme |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
assistir [title] temporada [x] colocar [title] temporada [x] reproduzir [title] temporada [x] |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
assistir [title] episódio [x] colocar [title] episódio [x] reproduzir [title] episódio [x] reproduzir o [title] episódio [x] |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
assistir [title] temporada [x] episódio [x] colocar [title] temporada [x] episódio [x] reproduzir [title] temporada [x] episódio [x] |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
Not Supported |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
assisitr [SportTeam] assitir o/a [SportTeam] colocar no/na [SportTeam] colocar o jogo do/da [SportTeam] me mostre o jogo do/da [SportTeam] mostre o jogo do/da [SportTeam] |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
assistir [Sport] |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
assistir [League] colocar [League] |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
not supported |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Feature | Sample Utterances | Expected Response |
---|---|---|
Watch [title] Required for certification |
pon interstellar reproduce interstellar ver interstellar |
The requested media plays. If there are multiple matches for the content, the user is prompted to select the desired media. |
Watch by actor Required for certification |
pon salma hayek reproduce salma hayek |
Either media with the actor plays (through an algorithm that selects the best match for the user), or a list of results is presented to the user. |
Watch by genre name Required for certification |
pon comedia en netflix (Not supported without AppName) |
Either media from the requested genre plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by franchise [title] Required for certification |
pon star wars reproduce star wars |
Either the top recommended result for the requested franchise plays, or the user is presented with a list of matching franchises. |
Watch by media type Optional |
pon la película* reproduce la película* Note: Not supported in es-ES or es-US |
Either media matching the non-title request plays (through an algorithm that selects a recommended video for the user), or a list of results is presented to the user. |
Watch [title] with season number Optional |
empieza la segunda temporada de los rompecorazones comienza la segunda temporada de los rompecorazones reproduce la segunda temporada de los rompecorazones |
The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with episode number Optional |
pon el capítulo final de los serrano |
The correct season is identified by the user's last-watched episode. The last-watched episode in the series plays, if the episode wasn't completed. If the last-watched episode was completed, the next unwatched episode plays. |
Watch [title] with season and episode number Optional |
pon el segundo episodio de la primera temporada de anabel reproduce el cuarto episodio de la temporada tres de águila roja |
The content corresponding to the requested season and episode plays. |
Watch by character name Optional |
reproduce algo con james bond |
Either media matching the character name plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports team Optional |
ver el partido del real madrid |
Either media matching the sports team plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of media results. |
Watch by sports type Optional |
reproduce el partido de fútbol en mi televisor ver el partido de fútbol en mi tele ver el partido de fútbol |
Either media matching the sports type plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports league Optional |
pon el partido de la a. c. b. en mi tele ver el partido de la a. c. b. en mi televisor |
Either media matching the sports league plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
Watch by sports event Optional |
ver el partido de fútbol |
Either media matching the sports event plays (through an algorithm that selects recommended media for the user), or the user is presented with a list of results. |
SearchAndPlay Directive Example
The following is an example SearchAndPlay
directive. This is a directive that Alexa might send in response to a user's request to watch "Manchester by the Sea."
EXTRA_DIRECTIVE_NAMESPACE: Alexa.RemoteVideoPlayer EXTRA_DIRECTIVE_NAME: SearchAndPlay EXTRA_DIRECTIVE_PAYLOAD_VERSION: 3 EXTRA_DIRECTIVE_PAYLOAD: payload
payload
contains the following:
{
"payload": {
"experience": {
"mode": "VOICE_OPTIMIZED",
},
"entities": [
{
"externalIds": {
"imdb": "tt4574334"
},
"type": "Video",
"uri": "entity://provider/show/manchesterbythesea",
"value": "Manchester by the Sea"
}
],
"searchText": [
{
"transcribed": "Manchester by the Sea"
}
],
"timeWindow": {
"end": "2016-09-07T23:59:00+00:00",
"start": "2016-09-01T00:00:00+00:00"
}
}
}
{
"directive": {
"endpoint": {
"cookie": {},
"endpointId": "<the identifier of the target endpoint>",
"scope": {
"token": "<an OAuth2 bearer token>",
"type": "BearerToken"
}
},
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "e7f9c31f-cb90-4003-9795-c6fb9f487945",
"name": "SearchAndPlay",
"namespace": "Alexa.RemoteVideoPlayer",
"payloadVersion": "3"
},
"payload": {
"experience": {
"mode": "VOICE_OPTIMIZED",
},
"entities": [
{
"externalIds": {
"imdb": "tt4574334"
},
"type": "Video",
"uri": "entity://provider/show/manchesterbythesea",
"value": "Manchester by the Sea"
}
],
"searchText": [
{
"transcribed": "Manchester by the Sea"
}
],
"timeWindow": {
"end": "2016-09-07T23:59:00+00:00",
"start": "2016-09-01T00:00:00+00:00"
}
}
}
}
Payload Definitions
Field | Description | Data Type |
---|---|---|
entities optional |
An array of entity objects to play, such as a Title, Franchise, Actor, Team, or MediaType. See Entity Types for more details about entity types and values. | array |
experience optional |
An object that optimizes the display of search results. With the experience object, you can change the search results based on the device your customer used to search. See Experience Types for more details about the experience object and its values.
|
Object containing mode |
searchText optional |
Contains a transcribed version of the user's search query as a string value in the transcribed field. See Viewing the Customer's Actual Request for details.
|
Object containing transcribe |
transcribed optional |
Provides the transcribed version of the user's utterance. See The searchText Object for details.
Examples: |
String |
timeWindow optional |
Provides the time window for the content the customer wants to play. For example if a customer wants to play an episode from last week, time window would indicate the preceding week.
|
Object containing start and end times. |
end optional |
The end time of the time window. Examples: |
A string in ISO 8601 format. |
start optional |
The start time of the time window. Examples: |
A string in ISO 8601 format. |
Entity Types
The entities
object consists of a list of objects, each of which contains a type
and a value along with other possible data such as external IDs. The following values are possible for the type
value: Actor
, App
, Channel
, Character
, Director
, Episode
, Event
, Franchise
, Genre
, League
, MediaType
, ProductionCompany
, Season
, Sport
, SportsTeam
, Video
, Popularity
, Recency
, and VideoResolution
. Details about the payloads for each entity type are provided in the sections below.
Actor
Actor
represents an actor credited in video media content; for example, Casey Affleck might contain the following:
Actor Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ASIN |
The external ASIN of this entity | String | B01LTHZVKG |
└─ imdb |
The IMDB identifier for the actor. | String | tt4034228 |
uri |
URI mapping to the actor/actress | URI | entity://provider/actor/caseyaffleck |
value |
The name of the actor | String | Casey Affleck |
App
App
represents the explicit app name specified by the user in utterance; for example, "Manchester by the Sea on Prime" might contain the following:
App Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ENTITY_ID |
An application identifier from a list of apps. | String | amzn1.alexa-ask-target.app.72095 |
value |
The name of the application | String | Prime Video |
Channel
Channel
represents the identifying data for a television channel; for example, "PBS" might contain the following:
Channel Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
entityMetadata |
A map of meta data associated with the channel | Object | — |
└─ channelNumber |
The channel number | Integer | 1234 |
└─ channelCallSign |
The call sign for the channel | String | KBTC |
uri |
The URI of the channel | URI | entity://provider/channel/1234 |
value |
The name of the channel | String | PBS |
Character
A Character
represented in video media content.
Character Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ ASIN |
The Amazon Standard Identification Number (ASIN) for this entity | String | B00DT55P3K |
└─ imdb |
The IMDB identifier for the character. | String | character id |
uri |
URI mapping to the character | URI | entity://provider/character/snowwhite |
value |
The name of the character | String | Snow White |
Director
Director
represents the director name for the video media content; for example, "Kenneth Lonergan" might contain the following:
Director Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the director | URI | entity://provider/director/kennethlonergan |
value |
The name of the director | String | Kenneth Lonergan |
Episode
Episode
represents the episode number for serial content like TV Shows; for example, the eighth episode of "Transparent" would have episode number 8.
Episode Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The episode number | Integer | 8 |
Event
An Event
is a reference to a type of event; examples would include sports, music, or other types of events. For example, searching for "Football games" would search for a game
event entity and a football
sport entity.
Event Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the event. | String | tt4034228 |
uri |
URI mapping to the event | URI | entity://amazon/events/games |
value |
The name of the event type | String | Games |
Franchise
A Franchise
is a video entity which can represent a number of video entities, like movies or TV shows. For example, take the fictional franchise "Intergalactic Wars" which represents a collection of movie trilogies, as well as animated and live action TV shows. This entity type was introduced to account for requests by customers such as "Find Intergalactic Wars movies", which would search for all "Intergalactic Wars" programs of the MOVIE
value for MediaType
, rather than attempting to match to a single title.
Franchise Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the franchise | URI mapping to the event | entity://amazon/franchise/intergalacticwars |
value |
The name of the genre | String | Intergalactic Wars |
Genre
Genre
represents the genre of video media content such as action, drama or comedy. For example, the Action
genre might contain the following:
Genre Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The external IMDB identifier | String | tt4034228 |
uri |
URI mapping to the genre | URI | entity://provider/genre/action |
value |
The name of the genre | String | Action |
League
League
represents the categorical information for a sporting league; for example, NCAA
is a league that might contain the following:
League Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the league | String | tt4034228 |
uri |
URI mapping to the league | URI | entity://amazon/league/ncaa |
value |
The name of the league | String | NCAA |
MediaType
MediaType
represents the media type category of a particular piece of content; for example, the MediaType
for "Manchester by the Sea" would be MOVIE
.
MediaType Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The media type; possible values are MOVIE , VIDEO , TV_SHOW |
Enum | MOVIE |
ProductionCompany
ProductionCompany
represents the production company name for the video media content; for example, Marvels, Disney.
ProductionCompany Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Production company name | String | Marvel |
Season
Season
represents the season number for serial content like TV Shows; for example, the season two of "Transparent" would have season number 2.
Season Payload Fields | Description | Type | Example |
---|---|---|---|
value |
The season number | Integer | 2 |
Sport
Sport
represents the categorical information of a sport; for example, football is a sport that might contain the following:
Sport Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for the sport | String | tt4034228 |
uri |
URI mapping to the sports | URI | entity://amazon/sport/football |
value |
The name of the sport | String | Football |
SportsTeam
SportsTeam
represents the categorical information of a professional sports team; for example, "University of Washington Huskies" is a sports team that might contain the following:
SportsTeam Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
└─ imdb |
The IMDB identifier for this team. | String | tt4034228 |
uri |
URI mapping to the sports team | URI | entity://amazon/sportsteam/huskies |
value |
The name of the sports team | String | University of Washington Huskies |
Video
Video
represents the identifying data for the piece of video content; for example, "Manchester by the Sea" might contain the following:
Video Payload Fields | Description | Type | Example |
---|---|---|---|
externalIds |
A map of external identifiers for this entity. Key is the provider, value is the id. | Object | — |
ASIN |
The external ASIN of this entity | String | B01LTHZVKG |
└─ imdb |
The IMDB identifier | String | tt4034228 |
userConfirmations |
Object containing information about user confirmations for the item | Object | |
└─ entitlementVoiceActivation |
Flag to inform partner if voice enablement of viewing period or entitlement is successful. Possible values - CONFIRMED (optional). |
Enum; Default policy - unrecognized values are ignored | CONFIRMED |
uri |
URI mapping to the video | URI | entity://provider/movie/manchesterbythesea |
value |
The name of the video | String | Manchester by the Sea |
Popularity
Popularity
indicates whether the user asks for popular content.
Popularity Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Indicates to provider that the user searches for popular content | String | TRUE |
Recency
The resolved values for Recency
indicate whether the user asks for new or old content.
Recency Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Indicates whether the user searches for new or old content; possible values are NEW , OLD |
Enum | NEW |
VideoResolution
VideoResolution
represents the requested video resolution in one of the following standards:
- SD (480p)
- HD (720p-1080p)
- 4k (2160p)
- 8k (4320p)
VideoResolution Payload Fields | Description | Type | Example |
---|---|---|---|
value |
Video resolution; possible values are SD , HD , 4k , 8k |
Enum | HD |
Experience Types
Use the experience
object to optimize the display of search results based on the device used to perform the search. For example, if a customers searches from a Fire TV remote, the experience
object shows a large number of search results that the customer can browse through with a remote. However, if the search request is from an Echo paired to Fire TV, the experience
object limits the number of results shown, and how they are displayed, allowing the customer to see results without using the remote.
The experience
object consists of a mode
object, which determines how to display the search results. The mode
object takes two values: VOICE_OPTIMIZED
and DEFAULT
.
-
VOICE_OPTIMIZED
: The optimized display of search results for voice-only devices. Provides a list of results that customers can navigate via voice, without the need for a remote. -
DEFAULT
: The default displays of all search results list format, regardless of the device used for the search.
To ensure forward compatibility, fallback to DEFAULT
instead of failing if you receive an unknown value in mode
.
Handling SearchAndPlay Directives
SearchAndPlay
directives contain instructions to watch or play media. The directive contains the desired media object and URI obtained described as an entity. The directive contains an array of entities that specifies what to search and play.
(The SearchAndPlay
directive is similar to GetPlayableItems
in the video skills for multimodal implementations.)
The following sections provide guidance for handling SearchAndPlay
directives with different requests.
Watch by Title
When users say "Alexa, watch Interstellar" or any other title to your Alexa-enabled device, you will receive a SearchAndPlay
directive in your app or Lambda.
As part of the SearchAndPlay
directive, you will see an externalIds
section in the directive. Within this section, you should look for a field corresponding with your own catalog. This field will contain the same ID
values you used in your catalog integration, allowing you to know precisely which show a user desires to watch. You can then use that to fulfill the user's request by playing the media.
If within the same catalog you still see multiple ID
values in the directive, this may be because Alexa identified multiple shows within your catalog that match the title the user asked for. You should select the best one to play for the user. Leverage any algorithms that help match the content to the user.
If you do not see your own catalog ID
values in the externalIds
field, and you've made sure that you're asking Alexa to watch content that is in your app, contact your Amazon representative for assistance.
Watch by Title, Episode, and Season
When users say "Alexa, watch Interstellar Season 2 Episode 2," you will receive a similar directive as when users say "Alexa, watch Interstellar." However, the key difference is that this directive will also have the following JSON inside of it:
{
"type": "Episode",
"value": "2"
},
{
"type": "Season",
"value": "2"
}
This JSON indicates the season and episode number that the user requested. You must play the season/episode the customer requests. The catalog ID
you receive will contain only the top-level show's catalog ID
, not the season/episode ID. However, you should be able to use the season/episode number alongside the show's catalog ID
to play the correct content.
You should also account for the fact that a user might choose to specify a season but not an episode, or an episode but not the season — you must still fulfill their request. Follow this guidance for identifying the right content:
- If the user asks to watch a title by season, (e.g., "Alexa, watch Bosch, Season 3"), and it is unclear which episode of a TV series a user wants, show the last watched episode. If the last watched episode is completed, show the next unwatched episode after that. Alternatively, show an episode list for the season.
- If the user asks to watch a title by episode, (e.g., "Alexa, watch Bosch, episode 5") that could belong to multiple seasons, identify the correct season by checking the user's last-watched episode. If the last-watched episode was within Season 2, then play episode 5 in Season 2. Alternatively, show an episode list for the season.
Watch by Franchise
For certain utterances, it's not actually clear which content the user wants. For example, a user might say "Alexa, watch Jurassic Park." In such a scenario, we don't know if the user meant Jurassic Park 1, Jurassic Park 2, or Jurassic Park 3. Media that has multiple variants like this is called a "franchise." Franchise scenarios, which don't fit neatly into the season/episode model, are handled by "Watch by Franchise."
When a user conducts a watch-by-franchise request, you will receive the franchise that the user requested (in this case, Jurassic Park) in the directive, but the directive will not contain a catalog ID. For these directives, the expectation is that you will conduct a search within your catalog for this content and then play the top result from your search. If that is not possible, you must at least take the user to search results within your app so that the user can use their remote to see the content they would like. You shouldn't simply ignore the directive.
A list of franchises is available in Franchise List.
Watch by Genre, Sport, Team, League, and Other Ambiguous Watch Directives
Alexa also supports phrases such as "Alexa, watch a comedy" or "Alexa, watch basketball." For generic scenarios like these, you have the option of either taking the user to search results, or taking the user to the detail page of that particular genre or appropriate entity.
For example, many apps have special pages dedicated to comedies, action movies, sitcoms, etc., which are different from simple search results. These genre pages curate media related to that topic. If desired, you can choose to take the user to these genre pages when the relevant ambiguous request is received by the user. The expectation is that, even in the worst case scenario, your app should at least take the user to search results. You shouldn't simply ignore the directive.
A list of genres that might be received in directives is available in Genre List.
Handling Ambiguous Requests
Similar to SearchAndDisplayResults
, SearchAndPlay
supports multiple entity types, including a content title, franchise name, actor, director, sports team, media type and more. This means one of these directives might contain an ambiguous entity request.
For example, a customer could request, "Alexa, watch a popular comedy," or "Alexa, watch a Billy Bob Thornton movie." Despite the ambiguity, you can decide how to act on a request. For example, you can do the following:
- Begin playing a popular comedy or Bob Thornton movie
- Generate a list of the top ten comedies or Billy Bob Thornton movies and randomly select one for the customer to avoid repetition
- Go straight to search results for that ambiguous entity
You can choose how to respond; however, it's recommended that you accommodate a customer's request if at all possible.
Viewing the Actual Customer's Request
Recall that an Alexa service in the cloud does the work of interpreting the customer's request, determining the intent, and then packaging it into a directive. What if you want to see the actual user's request (rather than Alexa's interpretation of it)? fortunately, a version of the user's actual request is available.
In the directive payload
, the searchText
object represents the customer search request. In the searchText
object, the transcribed
value is a string that represents the customer intent. This transcribed
value is a stripped-down version of what the customer said. For example, here's how the transcribed
value might look like for the request, "Alexa, watch popular comedy tv shows in HD":
{
"searchText": {
"transcribed": "h.d. popular comedy tv shows"
}
}
As you can see, the transcribed
property is a summarized/redacted version of the request that selects the main words of the request. The searchText
object has the following limitations:
- There is no word order guarantee. For the same utterance,
searchText
might return thetranscribed
values with different order, such as:- "h. d. korean war documentary movies"
- "korean war documentary h. d. movies"
- The content of
searchText
might change over time or by directive. For the same utterance,searchText
might return differenttranscribed
values at different points in time, such as:- "top ten comedies"
- "top 10 comedies"
- Action verbs are omitted. The
transcribed
value will not show the action verbs used in the user's request.
Note that searchText
can include content provider names (if they were part of the customer's request). Here are some examples:
- The request, "Alexa, find content provider movies" will return the
transcribed
value "content provider movies" - The request, "Alexa, find comedies on content provider" will return the
transcribed
value "content provider comedies"
searchText
only as a fallback for other values in the search payload. The searchText
field is optional and might not appear in the directive you receive. Your implementation must return a response even if the directive contains no searchText
value. Use searchText
if you want to focus on key word searches (for example, a full text search). Note that entities
rely on resolved catalog values. Use these entities if you have specialized catalogs pertaining to specific values, such as Movie catalog, Genre catalog, and so on, or if you have some form of data model that facilitates structured queries.
Response Example
If your app handled the directive successfully, your BroadcastReceiver class should send a success intent back with a success status, like this:
if (response != null && sendResponse) {
Intent success = new Intent().putExtra(VSKIntentConstants.EXTRA_DIRECTIVE_STATUS, didSucceed);
try {
response.send(context, 0, success);
} catch(PendingIntent.CanceledException e) {
//we probably took too long to respond, log error
}
}
For more details, see Step 7: Add a BroadcastReceiver. Also see the AlexaDirectiveReceiver
class in the sample app for a more specific code example.
When a SearchAndPlayResults
directive successfully completes, your app or Lambda should respond with an Alexa.Response
message.
{
"context": {
"properties": []
},
"event": {
"header": {
"correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
"messageId": "1d8749ce-2805-4781-bb34-c5c59ce71f6a",
"name": "Response",
"namespace": "Alexa",
"payloadVersion": "3"
},
"payload": {}
}
}
No payload
content is required. With video skills on Fire TV apps, the response back to Alexa is minimal, with an empty payload
. This is because you sent the needed instruction to your Fire TV app through ADM.
If you cannot complete the customer request for some reason, reply with an error. See Error Handling for more details.
Declaring Capability Support for this Interface
To receive SearchAndDisplayResults
directives to your app from the RemoteVideoPlayer
interface, you must indicate support for this interface when you declare your capabilities. See the following for more information on declaring capabilities with app-only integrations:
To indicate that your video skill supports SearchAndPlay
directives from the Alexa.RemoteVideoPlayer
interface, you must indicate support for it in your response to the Discover
directive sent through the Alexa.Discovery
interface. More details are provided in Alexa.Discovery
.
Last updated: Jun 09, 2021