--- title: "Get player options" slug: "vpe-api-option" tags: ["Video Player Enhancement"] updated: 2026-09-17T10:12:36Z published: 2026-09-17T10:12:36Z canonical: "api.ncloud-docs.com/vpe-api-option" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Get player options Available in Classic and VPC Get information about the options set for a player. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | GET | /api/v1/players/{player_no}/options | ### Request headers For information about the headers common to all Video Player Enhancement APIs, see [Video Player Enhancement request headers](/docs/en/vpe-api-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `player_no` | String | Required | Player number - See [Get player list](/docs/en/vpe-api-list). | ### Request example The request example is as follows: ``` curl --location --request GET 'https://vpe.apigw.ntruss.com/api/v1/players/6144/options' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --header 'x-ncp-region_code: KR' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | String | - | Response code | | `message` | String | - | Response message | | `result` | Object | - | Response result | | `result.env` | String | - | Deployment environment | | `result.option` | Object | - | Player option information - Standard pricing plan: All options are supported. - Basic pricing plan: Some options are supported. | | `result.option.touchGestures` | Boolean | - | Touch gesture usage - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.option.autostart` | Boolean | - | Automatic playback - `true` \| `false` - `true`: Enable - `false`: Disable - Available from Basic pricing plan | | `result.option.controlBtn` | Object | - | Control bar button settings | | `result.option.controlBtn.fullscreen` | Boolean | - | Full screen button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.controlBtn.pictureInPicture` | Boolean | - | PIP (switch to mini player) button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.controlBtn.volume` | Boolean | - | Volume control button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.controlBtn.play` | Boolean | - | Play button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.controlBtn.times` | Boolean | - | Time display - `true` \| `false` - `true`: Displayed - `false`: Not displayed - Display the total video length and current playback time. | | `result.option.controlBtn.setting` | Boolean | - | Settings button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed - Display video resolution and refresh rate setting buttons. | | `result.option.controlBtn.subtitle` | Boolean | - | Subtitle selection button display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.controlBtn.progressBar` | Boolean | - | Progress bar display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.autoPause` | Boolean | - | Auto-stop on browser inactivity - `true` \| `false` - `true`: Enable - `false`: Disable - Available from Basic pricing plan | | `result.option.seekingPreview` | Boolean | - | Thumbnail preview display - `true` \| `false` - `true`: Displayed - `false`: Not displayed | | `result.option.descriptionNotVisible` | Boolean | - | Description (video title and metadata UI) usage - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.option.playRateSetting` | Array | - | Playback speed option list | | `result.option.repeat` | Boolean | - | Loop playback - `true` \| `false` - `true`: Loop - `false`: Not loop - Available from Basic pricing plan | | `result.option.startMutedInfoNotVisible` | Boolean | - | Whether to mute upon playback start - `true` \| `false` - `true`: Mute - `false`: Not mute | | `result.option.ui` | String | - | Control UI type - `all` \| `mobile` \| `pc` - `all`: Switch automatically. - `mobile`: Mobile - `pc`: PC | | `result.option.aspectRatio` | String | - | Aspect ratio - Available from Basic pricing plan | | `result.option.controlActiveTime` | Integer | - | Controlbar auto-hide time (millisecond) - Available from Basic pricing plan | | `result.option.muted` | Boolean | - | Mute indication window display - `true` \| `false` - `true`: Enable - `false`: Disable - Available from Basic pricing plan | | `result.option.controls` | Boolean | - | Control bar usage - `true` \| `false` - `true`: Enable - `false`: Disable - Available from Basic pricing plan | | `result.option.progressBarColor` | String | - | Control bar color | | `result.option.keyboardShortcut` | Boolean | - | Keyboard shortcut usage - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.option.objectFit` | String | - | Full screen method - `contain` \| `cover` \| `fill` - `contain`: Fit to proportions. - `cover`: Fit to proportions + full - `fill`: Ignore proportions + full - Available from Basic pricing plan | | `result.option.lowLatencyMode` | Boolean | - | Ultra-low latency mode usage - `true` \| `false` - `true`: Enable. - `false`: Disable. - Keep live video current when enabled. | | `result.option.lang` | String | - | Language settings - `auto` (default) \| `ko` \| `en` \| `ja` - `auto`: Automatic - `ko`: Korean - `en`: English - `ja`: Japanese - Available from Basic (free) pricing plan | | `result.option.visibleWatermark` | Boolean | - | Text watermark usage - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.option.iosFullscreenNativeMode` | Boolean | - | Support for full screen mode settings for iOS mobile Safari - `true` \| `false` - `true`: Supported - `false`: Not supported - Only version 1.1.5 or later or the latest version is supported. | | `result.option.customBtns` | Array | - | Custom button settings: [customBtns](/docs/en/vpe-api-option#customBtns) | | `result.option.watermarkConfig` | Object | - | Text watermark detailed option settings | | `result.option.watermarkConfig.randPosition` | Boolean | - | Whether to randomize location - `true` \| `false` - `true`: Enable - `false`: Disable | | `result.option.watermarkConfig.randPositionInterVal` | Integer | - | Exposure interval (millisecond) - Display valid value if `option.watermarkConfig.randPosition` is `true`. | | `result.option.watermarkConfig.x` | Integer | - | Horizontal offset (percentage) - 0-100 - Horizontal position value for the watermark. - Display valid value if `option.watermarkConfig.randPosition` is `false`. | | `result.option.watermarkConfig.y` | Integer | - | Horizontal offset (percentage) - Vertical position value for the watermark. - Display valid value if `option.watermarkConfig.randPosition` is `false`. | | `result.option.watermarkConfig.opacity` | Float | - | Transparency - The higher the number, the more opaque it is. - Display valid value if `option.watermarkConfig.randPosition` is `false`. | | `result.option.layout` | Array | Optional | Control bar layout settings (supported only in SDK version V2 and later) | #### `customBtns` The following describes `customBtns`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `ui` | String | - | Button UI environment - `pc` \| `mobile` - `pc`: PC - `mobile`: Mobile | | `flow` | String | - | Creation location - `left` \| `right` - `left`: Left - `right`: Right - If an existing button exists at `position`, create to the left or right of it. | | `position` | String | - | Button location - `left-top` \| `left-bottom` \| `right-top` \| `right-bottom` - `left-top`: Top left - `left-bottom`: Bottom left - `right-top`: Top right - `right-bottom`: Bottom right | | `icon` | String | - | Button image URL | ### Response status codes For information about the HTTP status codes common to all Video Player Enhancement APIs, see [Common Video Player Enhancement response status codes](/docs/en/vpe-api-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The response example is as follows: ``` { "code": "200", "message": "ok", "result": { "env": "dev", "option": { "touchGestures": true, "autostart": true, "controlBtn": { "fullscreen": true, "pictureInPicture": true, "volume": true, "play": true, "times": true, "setting": true, "subtitle": false, "progressBar": true }, "autoPause": true, "seekingPreview": true, "descriptionNotVisible": false, "playRateSetting": [ 0.5, 1, 1.5, 2, 2.5 ], "repeat": false, "startMutedInfoNotVisible": false, "ui": "pc", "aspectRatio": "16/9", "controlActiveTime": 3000, "muted": false, "controls": true, "progressBarColor": "#4299f5", "keyboardShortcut": true, "objectFit": "cover", "lowLatencyMode": false, "lang": "ko", "visibleWatermark": true, "customBtns": [ { "ui": "pc", "flow": "left", "position": "right-bottom", "icon": "{Icon URL}" } ], "watermarkConfig": { "randPosition": true, "randPositionInterVal": 60000, "x": null, "y": null, "opacity": null } } } } ```