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.
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)
|
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)
|
content.channelId |
String | - | Channel ID |
content.isLiveCurtain |
Boolean | - | Whether live curtain is on
|
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
}
}