Alexa.SeekController Interface (VSK FTV)

When users say to skip ahead or rewind by a specific duration (such as "Alexa, fast forward 5 minutes" or "Alexa, skip ahead 60 seconds"), the Alexa.SeekController interface sends an AdjustSeekPosition directive to your Lambda. This directive is different from the fast-forward and rewind operations within the PlaybackController interface in that the SeekController directives include a specific duration.

Note that directives sent by the SeekController interface are different from the fast-forward and rewind operations within the PlaybackController Interface: the SeekController directives include a specific duration for the offset.

Utterances for AdjustSeekPosition directives

Alexa sends AdjustSeekPosition directives to your Lambda when users say the following utterances.

Feature Sample Utterances Expected Response
Fast Forward {duration}

Fast forward thirty seconds

<duration> vorspulen

<duration> vor

um <duration> vorspulen

Avance de 30 secondes

avance (de) trente secondes

manda avanti di trenta secondi

vai avanti di trenta secondi

avanza treinta segundos

avanza treinta segundos

avánzale treinta segundos

avánza le treinta segundos

adelanta treinta segundos

adelántale treinta segundos

adelánta le treinta segundos

{sec} 秒早送り

{sec} 秒早送りして

The media fast-forwards for the requested duration.

Rewind {duration}

Rewind forty seconds

<duration> zurückspulen

<duration> zurück

um <duration> zurückspulen

Recule de 30 secondes

Reviens en arrière de 30 secondes

recule (de) trente secondes

rewind (de) trente secondes

Reviens en arrière de 30 secondes

vai indietro di quaranta secondi

manda indietro di quaranta secondi

rebobina cuarenta segundos

retrocede treinta segundos

devuelve treinta segundos

retrocédele treinta segundos

devuélvele treinta segundos

retrocéde le treinta segundos

devuélve le treinta segundos

{sec} 秒巻き戻し

{sec} 秒巻き戻して

The media rewinds for the requested duration.

As with other directives, when you receive a Discovery directive, you must specify the SeekController directives that your video skill supports.

Handling AdjustSeekPosition Directives

AdjustSeekPosition directives include a property in the payload called deltaPositionMilliseconds. The value of deltaPositionMilliseconds can be positive (seek forward) or negative (go backwards in the stream).

For example, "Skip 5 minutes" would yield a deltaPositionMilliseconds value of 300000, whereas "Rewind 10 minutes" would yield a deltaPositionMilliseconds value of -600000.

In other words, a negative value indicates rewind, and a positive value indicates fast forward. You must fulfill the user's request by going forward by the specified offset.

Example AdjustSeekPosition Directive

The following is an example AdjustSeekPosition directive:

    "directive": {
        "endpoint": {
            "cookie": {},
            "endpointId": "VSKTV",
            "scope": {
                "token": "<an OAuth2 bearer token>",
                "type": "BearerToken"
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "4bef62cc-208d-4382-a43e-ce9e4825c1cb",
            "name": "AdjustSeekPosition",
            "namespace": "Alexa.SeekController",
            "payloadVersion": "3"
        "payload": {
            "deltaPositionMilliseconds": 300000

Payload Descriptions

The following table describes the payload properties.

Payload Descriptions
Field Description Data Type
The relative milliseconds to seek on the playback on a media player. A positive or negative integer value could be used to seek forward or backwards in relation to the current seek position. Accepted values include any integer value between -86400000 and 86400000 (-/+ 24 hrs.). If the required position falls outside the duration of the media item, it should be set to the beginning or the end of it depending on if deltaPositionMilliseconds was negative or positive respectively.

Example: 86400000


Example Response

After you receive an AdjustSeekPosition directive and execute the request, send a response back to Alexa that indicates the position state in milliseconds. The payload contains a name and value property as shown in the following example. The positionMilliseconds represents the absolute achieved seek position in milli seconds from -86400000 to 86400000.

Example Response

    "context": {
        "properties": []
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "eab7fe6e-f65d-4dbb-aeea-5bae61439f4d",
            "name": "Response",
            "namespace": "Alexa",
            "payloadVersion": "3"
        "payload": {
            "properties": [
                    "name": "positionMilliseconds",
                    "value": 300000

Declaring Capability Support for this Interface

To indicate that your video skill supports the Alexa.SeekController 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.

Error Response

If you cannot complete the customer request for some reason, reply with an error. See Error Handling for more details.