Start live curtain

Prev Next

Available in Classic and VPC

Start a live curtain, which replaces the playback screen of a live channel with another video or image for streaming as an admin for a certain amount of time. You can utilize this feature to blind live broadcasts, make service announcements, etc.
It is available at any time based on the live curtain content you create, and can only be started when the channel is in the PUBLISHING status.

Caution

Note the following when using live curtain.

  • It supports General channel (HLS only) and does not support VOD2LIVE and re-stream channels.
  • It supports image quality settings that do not include bypass (pass-through) and audio only quality.
  • When using two or more MP4 files, all files must have the same resolution.
  • If you end the recording while the live curtain is in progress, the live curtain will be interrupted and switched to the existing streaming video.
  • The time to reflect live curtain content after the request is determined by {Playback time per segment} X {Number of segments}.
    Example: If the playback time per segment is 2 seconds and the number of segments is 3, the HLS URL is available about 7-8 seconds after the request.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /api/v2/channels/{channelId}/curtain/insert

Request headers

For information about the headers common to all Live Station APIs, see Live Station request headers.

Request path parameters

You can use the following path parameters with your request:

Field Type Required Description
channelId String Required Channel ID

Request body

You can include the following data in the body of your request:

Field Type Required Description
contentId Array Required Live curtain content ID list
insertTime Integer Optional Live curtain retention time (minute)
  • 1-10 (default 3)
Note

The live curtain starts immediately after the start request and lasts for the time entered in insertTime. If no insertTime is entered, it will default to 3 minutes, and will switch to the existing streaming video after the retention time.

Request example

The request example is as follows:

curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/channels/ls-20250814******-zTwK2/curtain/insert' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'x-ncp-region_code: KR' \
--header 'Content-Type: application/json' \
--data '{
    "contentId": [
        412
    ],
    "insertTime": 5
}'

Response

This section describes the response format.

Response body

The response body includes the following data:

Field Type Required Description
content Object - Response result
content.content Object - Live curtain information
content.content.ids Array - Content ID list
content.content.insertTime Integer - Live curtain retention time (minute)
content.content.responseTime Integer - Response time (millisecond)
  • Unix timestamp format
content.channelId String - Channel ID
content.isLiveCurtain Boolean - Whether live curtain is on
  • true | false
    • true: On
    • false: Off

Response status codes

For information about the HTTP status codes common to all Live Station APIs, see Live Station response status codes.

Response example

The response example is as follows:

{
    "content": {
        "content": {
            "ids": [
                412
            ],
            "insertTime": 5,
            "responseTime": 1755581363917
        },
        "channelId": "ls-20250814******-zTwK2",
        "isLiveCurtain": true
    }
}