Live Video Stream Moderation API 2.0
Video Live Stream moderation Enhanced Edition helps you detect risky content in the video and audio of live streams. This topic describes how to use API operations to perform live stream moderation.
Onboarding guide
Register now and follow the instructions to complete the registration.
Enable pay-as-you-go for AI Guardrails. Make sure that you have enabled the service. For more information, see Enable Service. No fees are charged for activating the service. After you use the API, the system automatically bills you based on your usage. For more information, see Billing description. You can also purchase resource plans to offset pay-as-you-go fees. Resource plans offer tiered discounts over the pay-as-you-go billing method and are ideal for users with predictable and high usage. For more information, see Purchase a resource plan.
Create an AccessKey in the RAM console. For more information, see Create an AccessKey. If you use the AccessKey of a Resource Access Management (RAM) user, you must use your Alibaba Cloud account to grant the AliyunYundunGreenWebFullAccess permission to the RAM user. For more information, see Grant permissions to a RAM user.
Develop and integrate the service. We recommend that you call the operation using a software development kit (SDK). For more information, see Video Moderation SDK v2.0 and integration guide.
The live video stream moderation service includes the following three API operations:
VideoModeration: Submit a live stream moderation job
VideoModerationResult: Query the result of a live stream moderation job
VideoModerationCancel: Cancel a live stream moderation job
Submit a moderation job
API description
API operation: VideoModeration. This operation supports only asynchronous moderation for live video streams.
Supported regions and endpoints:
Region
Public endpoint
VPC endpoint
Supported services
China (Shanghai)
green-cip.cn-shanghai.aliyuncs.com
green-cip-vpc.cn-shanghai.aliyuncs.com
liveStreamDetection, liveStreamDetectionByVL
China (Beijing)
green-cip.cn-beijing.aliyuncs.com
green-cip-vpc.cn-beijing.aliyuncs.com
China (Hangzhou)
green-cip.cn-hangzhou.aliyuncs.com
green-cip-vpc.cn-hangzhou.aliyuncs.com
China (Shenzhen)
https://green-cip.cn-shenzhen.aliyuncs.com
green-cip-vpc.cn-shenzhen.aliyuncs.com
Singapore
green-cip.ap-southeast-1.aliyuncs.com
green-cip-vpc.ap-southeast-1.aliyuncs.com
liveStreamDetection_cb, liveStreamDetectionByVL_cb
US (Virginia)
https://green-cip.us-east-1.aliyuncs.com
https://green-cip-vpc.us-east-1.aliyuncs.com
liveStreamDetection_cb
US (Silicon Valley)
https://green-cip.us-west-1.aliyuncs.com
Not available
Germany (Frankfurt)
green-cip.eu-central-1.aliyuncs.com
Not available
Billing:
This is a paid operation. You are charged based on the moderation policies that you configure for live video frames and audio. For live video frames, you can select multiple services. The total fee is calculated by multiplying the number of video snapshots by the unit price of each service. If you also moderate the audio in the live stream for violations, you are charged an additional fee. This fee is calculated by multiplying the video duration by the unit price of the audio moderation feature. For more information about billing methods, see Billing.
Detection object: Live video streams.
Response: Asynchronous moderation jobs do not return results in real time. You must obtain the moderation result using a callback or polling.
Use a callback to obtain the moderation result: When you submit an asynchronous moderation job, you can specify the callback parameter in the request to automatically receive the moderation result.
Use polling to obtain the moderation result: When you submit an asynchronous moderation job, do not specify the callback parameter. After you submit the job, you can call the result query operation to obtain the moderation result.
Live stream requirements:
Supported protocols: RTMP, HLS, HTTP-FLV, and RTSP.
Live stream duration limit: A single video stream moderation job can last for a maximum of 24 hours. A job automatically ends if it exceeds this limit.
Detection rule configuration:
For your first call, you can configure live stream moderation rules in the Content Moderation console.
If you do not set any rules, the Live Stream Moderation Enhanced Edition API uses the following default configurations:
Service
Default configurations
Live stream detection (liveStreamDetection)
Fixed frame capture frequency: 1 frame/second
Video frame detection service: Video/Live stream screenshot moderation (liveStreamCheck)
Video audio detection: Enabled
Video audio detection service: Social and entertainment live stream detection (live_stream_detection)
Result return method: Returns only results with detected threats
Live stream detection for regions outside China (liveStreamDetection_cb)
NoteAvailable in the Singapore and US East regions.
Fixed frame capture frequency: 1 frame/second
Video frame detection service: General baseline detection for regions outside China (liveStreamCheck_cb)
Video audio detection: Enabled
Video audio detection service: Social and entertainment live stream detection for regions outside China (live_stream_detection_cb)
Result return method: Returns only results with detected threats
Live stream detection (large model) (liveStreamDetectionByVL)
NoteCurrently supported only in the Beijing and Shanghai regions. The large model version is limited to 10 concurrent ingest endpoints.
Fixed frame capture frequency: 1 frame/second
Video frame detection service: Image moderation service with large and small models (postImageCheckByVL)
Video audio detection: Enabled
Video audio detection service: Social and entertainment live stream detection for regions outside China (live_stream_detection_cb)
Result return method: Returns only results with detected threats
Live stream detection (large model) for regions outside China (liveStreamDetectionByVL_cb)
NoteCurrently supported only in the Singapore region. The large model version is limited to 10 concurrent ingest endpoints.
Fixed frame capture frequency: 1 frame/second
Video frame detection service: Image moderation service with large and small models for regions outside China (postImageCheckByVL_cb)
Video audio detection: Enabled
Video audio detection service: Social and entertainment live stream detection for regions outside China (live_stream_detection_cb)
Result return method: Returns only results with detected threats
QPS limits
The queries per second (QPS) limit for this operation is 100 for each user. The number of concurrent moderation streams is limited to 50. This means a maximum of 50 jobs can be processed at the same time. To increase the limit, contact your business manager. If the limit is exceeded, the API call is throttled. This may affect your business. Call the operation in a reasonable manner.
Debugging
Before integration, you can also use Alibaba Cloud OpenAPI to debug the VideoModeration API online, view sample code and SDK dependency information, and obtain an overview of the API methods and parameters.
The online debugging feature uses the currently logged-on account to call the AI Guardrails API operations. Therefore, the number of calls is included in the billable usage of the account.
Request parameters
Name | Type | Required | Example | Description |
Service | String | Yes | liveStreamDetection | The type of the moderation service. Valid values:
|
ServiceParameters | JSONString | Yes | The parameters required by the moderation service. This parameter is a JSON string. For more information about the parameters, see Table 1. ServiceParameters. |
Table 1. ServiceParameters
Name | Type | Required | Example | Description |
url | String | Yes | http://www.aliyundoc.com/a.flv | The URL of the object to moderate. Make sure that the URL is accessible over the Internet. The URL can be up to 2,048 characters in length. Note The URL cannot contain Chinese characters. Make sure that you specify only one URL in each request. |
callback | String | No | http://www.aliyundoc.com | The URL to which the moderation result is sent in a callback. HTTP and HTTPS are supported. If you leave this parameter empty, you must poll for the moderation result. The callback interface must support POST requests, UTF-8 encoded data, and the checksum and content form parameters. AI Guardrails sets the checksum and content parameters based on the following rules and format, and calls your callback interface to return the moderation result.
Note After your callback server receives the result pushed by AI Guardrails, if the returned HTTP status code is 200, the result is received successfully. Other HTTP status codes indicate a failure. If the result fails to be received, AI Guardrails retries pushing the moderation result up to 16 times until the result is successfully received. If the result is still not received after 16 retries, the result is no longer pushed. We recommend that you check the status of your callback interface. |
seed | String | No | abc**** | A random string used for the signature in the callback notification request. The string can contain letters, digits, and underscores (_), and can be up to 64 characters in length. You can customize this value to verify that the callback notification request is initiated by the Alibaba Cloud AI Guardrails service. Note This parameter is required when you use a callback. |
cryptType | String | No | SHA256 | The encryption algorithm for the signature in the callback notification. AI Guardrails calculates the signature for the returned result (the `user uid + seed + content` string) based on the encryption algorithm you specify, and then sends the signature to your callback URL. Valid values:
|
dataId | String | No | videoId**** | The data ID of the object. The ID can contain uppercase letters, lowercase letters, digits, underscores (_), hyphens (-), and periods (.), and can be up to 128 characters in length. You can use this ID to uniquely identify your business data. |
liveId | String | No | liveId**** | The ID of the live video stream. This parameter is used to remove duplicate live video stream moderation jobs and prevent repeated moderation. If you specify this parameter, the system checks whether a live stream moderation job is in progress based on the `uid+service+liveId` combination. If a job is in progress, the system returns the taskId of the existing job and does not start a new one. |
After your callback server receives the result pushed by AI Guardrails, an HTTP status code of 200 indicates that the result was received successfully. Other HTTP status codes indicate a failure. If the result is not received, AI Guardrails retries pushing the moderation result up to 16 times. If the result is still not received after 16 retries, AI Guardrails stops pushing the result. We recommend that you check the status of your callback interface.
Response parameters
Name | Type | Example | Description | |
Code | Integer | 200 | The status code. For more information, see Code description. | |
Data | JSONObject | {"TaskId": "AAAAA-BBBBB"} | The moderation result data. | |
Message | String | OK | The response message for the request. | |
RequestId | String | ABCD1234-1234-1234-1234-123**** | The request ID. | |
Examples
Sample request
{
"Service": "liveStreamDetection",
"ServiceParameters": {
"url": "http://www.aliyundoc.com/a.flv",
"dataId": "videoId****",
"liveId": "liveId****"
}
}Sample success response
{
"Msg": "OK",
"Code": 200,
"Data":
{
"TaskId": "AAAAA-BBBBB",
"DataId": "videoId****"
},
"RequestId": "ABCD1234-1234-1234-1234-123****"
}Query the result of a live stream moderation job
API description
API operation: VideoModerationResult.
Billing: This operation is not billed.
Query timeout: You can set the query interval to 30 seconds. This means you can query the result 30 seconds after you submit the asynchronous moderation job. The maximum query period is 24 hours. After 24 hours, the result is automatically deleted.
Result return: If the live stream is in progress, the last 10 moderation results are returned for each query. If the live stream has ended, all moderation results are returned.
QPS limits
The QPS limit for this operation is 100 for each user. If the limit is exceeded, the API call is throttled. This may affect your business. Call the operation in a reasonable manner.
Debugging
Before integration, you can also use Alibaba Cloud OpenAPI to debug the VideoModerationResult API online. This lets you view sample code and SDK dependency information and obtain an overview of the API methods and parameters.
Request parameters
Name | Type | Required | Example | Description |
Service | String | Yes | liveStreamDetection | The type of the moderation service. The value must be the same as the service type you specified when you submitted the moderation job. |
ServiceParameters | JSONString | Yes | The parameters required by the moderation service. This parameter is a JSON string. For more information about the parameters, see Table 1. ServiceParameters. |
Table 1. ServiceParameters
Name | Type | Required | Example | Description |
taskId | string | Yes | abcd**** | The taskId of the moderation job to query. You can specify only one taskId at a time. Note You can obtain the taskId of a moderation job from the response data after you submit the job. |
Response parameters
Name | Type | Example | Description |
RequestId | String | ABCD1234-1234-1234-1234-123**** | The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request and can be used for troubleshooting. |
Data | Object | The result of the live stream content moderation. For more information, see Table 2. Data. | |
Code | String | 200 | The status code. For more information, see Code description. |
Message | String | OK | The response message for the request. |
Table 2. Data
Name | Type | Example | Description |
DataId | String | videoId**** | The data ID of the object. Note If you specified the dataId parameter in the moderation request, the corresponding DataId is returned. |
LiveId | String | liveId**** | The ID of the live stream. Note If you specified the liveId parameter in the moderation request, the corresponding LiveId is returned. |
TaskId | String | AAAAA-BBBBB | The ID of the moderation job. |
RiskLevel | String | high | The risk level of the live stream. The value is determined based on the moderation results of both the video frames and audio. Valid values:
Note We recommend that you handle high-risk content directly, manually review medium-risk content, and handle low-risk content only when high recall is required. In other cases, we recommend that you handle low-risk content in the same way as content with no detected risks. You can configure the risk scores for video frames in the AI Guardrails console. |
FrameResult | JSONObject | The moderation result of the video frames. If the call is successful (code=200), a struct is returned. For more information about the struct, see Table 3. FrameResult. Note For video stream moderation, the status code 280 indicates that the moderation is in progress, and 200 indicates that the moderation is complete. If the moderation is in progress, the moderation result contains the results detected from the start of the moderation to the current time. | |
AudioResult | JSONObject | The moderation result of the audio. A struct is returned. For more information about the struct, see Table 8. audioResult. |
Table 3. FrameResult
Name | Type | Example | Description |
FrameNum | Integer | 200 | The number of snapshots returned for the video frames. |
FrameSummarys | JSONArray | A summary of the labels for the video frames. For more information about the struct, see Table 4. FrameSummarys. | |
RiskLevel | String | high | The risk level of the video frames. The value is calculated based on all live stream snapshots. Valid values:
|
Frames | JSONArray | Information about the live stream frames that hit a label. For more information about the struct, see Table 5. Frames. |
Table 4. FrameSummarys
Name | Type | Example | Description |
Label | String | violent_armedForces | The label of the video frame. |
Description | String | Suspected to contain fireworks | The description of the Label field. Important This field provides an explanation of the Label field and may be subject to changes. We recommend that you handle the results based on the Label field, not this field. |
LabelSum | Integer | 8 | The number of times the label appears. |
Table 5. Frames
Name | Type | Example | Description |
TempUrl | String | http://www.aliyundoc.com/test.jpg | The temporary URL of the live stream frame. The URL is valid for 30 minutes. Save the frame promptly. Note If video evidence storage is enabled, the OSS URL of the stored video frame is returned. |
Offset | Float | 50.5 | The timestamp of the live stream frame relative to the start of the live stream. Unit: seconds. |
Timestamp | Integer | 1684559739000 | The absolute timestamp when the frame was processed. Unit: milliseconds. |
RiskLevel | String | high | The risk level of the live stream frame, returned based on the configured high and low risk scores. Valid values:
Note We recommend that you handle high-risk content directly, manually review medium-risk content, and handle low-risk content only when high recall is required. In other cases, we recommend that you handle low-risk content in the same way as content with no detected risks. You can configure the risk scores for video frames in the rule configuration of the AI Guardrails console. |
Results | JSONArray | The results of the live stream frame moderation, including risk labels and confidence scores. For more information, see Table 6. Results. |
Table 6. Results
Name | Type | Example | Description |
Service | String | liveSteamCheck | The frame moderation service that is called. |
Result | Array | The results of the live stream frame moderation, including risk labels and confidence scores. For more information, see Table 7. Result. |
Table 7. Result
Name | Type | Example | Description |
Label | String | violent_explosion | The risk label returned by the live stream frame moderation. The label identifies the specific type of risk detected in the frame, such as political content, adult content, violent content, or advertising violations. A frame can have multiple labels, each with a corresponding confidence score. Labels vary by the moderation service configured in your request (the
For the complete list of supported labels for each moderation service, see Video File Moderation Enhanced 2.0 API. |
Confidence | Float | 81.22 | The confidence score, ranging from 0 to 100. The value is accurate to two decimal places. |
Description | String | Suspected to contain fireworks | The description of the Label field. Important This field provides an explanation of the Label field and may be subject to changes. We recommend that you handle the results based on the Label field, not this field. |
Table 8. audioResult
Name | Type | Example | Description |
AudioSummarys | JSONArray | A summary of the audio labels. For more information about the struct, see Table 9. AudioSummarys. | |
RiskLevel | String | high | The risk level of the audio. The value is calculated based on all audio segments. Valid values:
|
SliceDetails | JSONArray | The details of the text converted from the audio. Each element corresponds to a sentence. The value contains one or more elements. For more information about the struct, see Table 10. SliceDetails. |
The risk result fields returned in each SliceDetails element depend on the audio moderation service version configured in the live stream moderation rule:
Large model version (for example,
liveStreamDetectionByVL,liveStreamDetectionByVL_cb, orliveStreamDetectionByVL_global): Risk results are returned in theresultfield.Small model version (for example,
liveStreamDetection,liveStreamDetection_cb, orliveStreamDetection_global): Risk results are returned in theLabels,RiskLevel,RiskWords, andRiskTipsfields.
Table 9. AudioSummarys
Name | Type | Example | Description |
Label | String | profanity | The label of the video audio. |
LabelSum | Integer | 8 | The number of times the label appears. |
Table 10. SliceDetails
Name | Type | Example | Description |
StartTime | Integer | 0 | The start time of the sentence. Unit: seconds. |
EndTime | Integer | 4065 | The end time of the sentence. Unit: seconds. |
StartTimestamp | Integer | 1678854649720 | The start timestamp of the segment. Unit: milliseconds. |
EndTimestamp | Integer | 1678854649720 | The end timestamp of the segment. Unit: milliseconds. |
Text | String | disgusting | The text content converted from the audio. |
Url | String | https://aliyundoc.com/test.wav | If the moderated content is an audio stream, this parameter indicates the temporary URL of the audio stream corresponding to the text. The URL is valid for 30 minutes. Save the audio stream promptly. |
RiskLevel | String | high | The risk level of the audio segment. Valid values:
|
Labels | String | political_content,xxxx | The details of the labels. Multiple labels are separated by commas. When the small model version of the audio moderation service is selected, risk results are returned in the
|
RiskWords | String | AAA,BBB,CCC | The risk words that are hit. Multiple words are separated by commas. |
RiskTips | String | porn_vulgar_words,porn_description | The sub-labels. Multiple labels are separated by commas. |
Extend | String | {"riskTips":"porn_vulgar_words","riskWords":"pornographic_service"} | A reserved field. |
Result | JSONArray | The detailed risk detection results for this audio slice. This field is returned only when the audio moderation service is configured to use the large model version. When the small model version is used, this field is not returned and the risk results are returned in the Labels, RiskWords, RiskTips, and other fields instead. The field structure is consistent with the Result field of the audio moderation large model API. The subfield descriptions are as follows. |
Table 10-1. Result
Parameter | Type | Example | Description |
Label | String | political_entity | The labels returned after audio content detection. Multiple labels and scores may be detected. Contains text policy labels and audio-specific labels:
Note Specified voice and moaning sounds are not detected by default. Contact your account manager to enable detection. |
Description | String | Suspected pornographic content | A description of the Label field. Important This field provides an explanation of the Label field and may change. When processing results, use the Label field rather than this field. |
Confidence | Float | 81.22 | Confidence score, ranging from 0 to 100, rounded to 2 decimal places. Some labels may not have a confidence score. |
RiskLevel | String | high | The risk level of the current label. Valid values:
|
Riskwords | String | AA,BB,CC | Detected sensitive words, separated by commas. Some labels may not return sensitive words. |
CustomizedHit | JSONArray | [{"LibName":"...","Keywords":"..."}] | When a custom library is matched, the Label is customized, and the custom library name and custom words are returned. For details, see Table 10-2 CustomizedHit. |
RiskPositions | JSONArray | Position information of detected sensitive words. For more information, see Table 10-3 RiskPositions. |
Table 10-2. CustomizedHit
Parameter | Type | Example | Description |
LibName | String | CustomLib1 | Custom library name |
Keywords | String | keyword1,keyword2 | Custom words, separated by commas. |
Table 10-3. RiskPositions
Parameter | Type | Example | Description |
RiskWord | String | AA | Detected sensitive words. |
StartPos | Integer | 10 | Start position of the sensitive word. |
EndPos | Integer | 12 | End position of the sensitive word. |
Examples
Sample request
{
"Service": "liveStreamDetection",
"ServiceParameters": {
"taskId": "abcd****"
}
}Sample success response
Moderating only live stream video
{
"Code": 200,
"RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
"Message": "success finished",
"Data": {
"DataId": "dc16c28f-xxxx-xxxx-xxxx-51efe0131080",
"LiveId": "live0307-0728-****",
"RiskLevel": "high",
"FrameResult": {
"FrameNum": 2,
"FrameSummarys": [
{
"Label": "violent_explosion",
"Description": "Suspected to contain pyrotechnic content",
"LabelSum": 8
},
{
"Label": "sexual_cleavage",
"Description": "Suspected to contain nudity or sexually suggestive content",
"LabelSum": 8
}
],
"RiskLevel": "medium",
"Frames": [
{
"Offset": 1,
"RiskLevel": "none",
"Results": [
{
"Result": [
{
"Label": "nonLabel",
"Description": "No risk detected"
}
],
"Service": "baselineCheck"
},
{
"Result": [
{
"Label": "nonLabel",
"Description": "No risk detected"
}
],
"Service": "baselineCheck_pro"
}
],
"TempUrl": "http://abc.oss-cn-shanghai.aliyuncs.com/test1.jpg",
"Timestamp": 1704769999000
},
{
"Offset": 2,
"RiskLevel": "medium",
"Results": [
{
"Result": [
{
"Confidence": 74.18,
"Label": "violent_explosion",
"Description": "Suspected to contain pyrotechnic content"
}
],
"Service": "baselineCheck"
},
{
"Result": [
{
"Confidence": 78.88,
"Label": "sexual_cleavage",
"Description": "Suspected to contain nudity or sexually suggestive content"
}
],
"Service": "baselineCheck_pro"
}
],
"TempUrl": "http://abc.oss-cn-shanghai.aliyuncs.com/test2.jpg",
"Timestamp": 1704769989000
}
]
}
}
}Moderating both live stream video and audio
{
"Code": 200,
"RequestId": "25106421-XXXX-XXXX-XXXX-15DA5AAAC546",
"Message": "success finished",
"Data": {
"DataId": "dc16c28f-xxxx-xxxx-xxxx-51efe0131080",
"LiveId": "live0307-0728-****",
"RiskLevel": "high",
"AudioResult": {
"AudioSummarys": [
{
"Label": "sexual_sounds",
"LabelSum": 3
}
],
"RiskLevel": "high",
"SliceDetails": [
{
"EndTime": 60,
"EndTimestamp": 1698912813192,
"Labels": "",
"RiskLevel": "none",
"StartTime": 30,
"StartTimestamp": 1698912783192,
"Text": "AI Guardrails",
"Url": "http://abc.oss-cn-shanghai.aliyuncs.com/test.wav"
},
{
"EndTime": 30,
"EndTimestamp": 1698912813192,
"Extend": "{\"customizedWords\":\"service\",\"customizedLibs\":\"test\"}",
"Labels": "C_customized",
"RiskLevel": "high",
"StartTime": 0,
"StartTimestamp": 1698912783192,
"Text": "Welcome to Alibaba Cloud AI Guardrails service",
"Url": "http://abc.oss-cn-shanghai.aliyuncs.com/test.wav"
}
]
},
"FrameResult": {
"FrameNum": 2,
"FrameSummarys": [
{
"Label": "violent_explosion",
"Description": "Suspected to contain fireworks-related content elements",
"LabelSum": 8
},
{
"Label": "sexual_cleavage",
"Description": "Suspected to contain body exposure or sexually suggestive content",
"LabelSum": 8
}
],
"RiskLevel": "medium",
"Frames": [
{
"Offset": 1,
"RiskLevel": "none",
"Results": [
{
"Result": [
{
"Label": "nonLabel",
"Description": "No risk detected"
}
],
"Service": "baselineCheck"
},
{
"Result": [
{
"Label": "nonLabel",
"Description": "No risk detected"
}
],
"Service": "baselineCheck_pro"
}
],
"TempUrl": "http://abc.oss-cn-shanghai.aliyuncs.com/test1.jpg",
"Timestamp": 1704769999000
},
{
"Offset": 2,
"RiskLevel": "medium",
"Results": [
{
"Result": [
{
"Confidence": 74.18,
"Label": "violent_explosion",
"Description": "Suspected to contain fireworks-related content elements"
}
],
"Service": "baselineCheck"
},
{
"Result": [
{
"Confidence": 78.88,
"Label": "sexual_cleavage",
"Description": "Suspected to contain body exposure or sexually suggestive content"
}
],
"Service": "baselineCheck_pro"
}
],
"TempUrl": "http://abc.oss-cn-shanghai.aliyuncs.com/test2.jpg",
"Timestamp": 1704769989000
}
]
}
}
}Cancel a live stream moderation job
API description
You can call this operation to cancel a live stream moderation job.
API operation: VideoModerationCancel.
Billing: This operation is not billed.
Debugging
Before integration, you can also use Alibaba Cloud OpenAPI to debug the VideoModerationCancel API online and view sample call code and SDK dependency information for an overview of the API's usage and parameters.
Request parameters
Name | Type | Required | Example | Description |
Service | String | Yes | liveStreamDetection | The type of the moderation service. The value must be the same as the service type you specified when you submitted the moderation job. |
ServiceParameters | JSONString | Yes | The parameters required by the service. This parameter is a JSON string. For more information about the parameters, see Table 11. ServiceParameters. |
Table 11. ServiceParameters
Name | Type | Required | Example | Description |
taskId | string | Yes | abcd**** | The taskId of the moderation job to cancel. You can specify only one taskId at a time. Note: You can obtain the taskId of a moderation job from the response data after you submit the job. |
Response parameters
Name | Type | Example | Description |
Code | Integer | 200 | The status code. For more information, see Code description. |
Message | String | OK | The response message for the request. |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | The request ID. |
Example
Sample request
{
"Service": "liveStreamDetection",
"ServiceParameters": {
"taskId": "abcd****"
}
}Sample response
{
"Msg": "OK",
"Code": 200,
"RequestId": "70ED13B0-BC22-576D-9CCF-1CC12FEAC477"
}Code description
This topic describes the response codes for the Video Live Stream auditing Enhanced Edition API. You are charged only for requests that return a response code of 200 or 280. Requests that return other response codes are not charged.
Code | Description |
200 | The request is successful or the moderation is complete. |
280 | Moderation in progress. |
400 | The request parameters are empty. |
401 | The request parameters are invalid. |
402 | The length of a request parameter does not meet the requirements. Check the parameter and try again. |
403 | The number of queries per second (QPS) exceeds the limit. Check the number of concurrent requests and try again. |
404 | An error occurred while downloading the video. Check the video and try again. |
405 | The video download timed out. The video may be inaccessible. Check the video and try again. |
406 | The video is too large. Check the video size and try again. |
407 | The video format is not supported. Check the format and try again. |
408 | You are not authorized to call this operation. Your account may not have the service activated, have an overdue payment, or is not granted the required permissions. |
409 | The specified TaskId does not exist. The result may have expired because it was retained for more than 24 hours. |
480 | The number of concurrent moderation streams exceeds the limit. Check the number of concurrent requests and try again. |
500 | A system error occurred. |