Audio Query
Query audio moderation results. Supports results from the last 3 days.
Poll this endpoint to actively query audio moderation results. Results are available for up to 3 days.
Requirements
| Item | Specification |
|---|---|
| Protocol | HTTP or HTTPS |
| Method | POST |
| Encoding | UTF-8 |
| Format | All request and response parameters use JSON |
Timeout
- Recommended timeout: 5s
- Response time depends on audio download time. Ensure the storage service hosting the audio is stable and reliable. Actual duration varies based on the request
typeand audio size.
Request
Request URL
| Cluster | Request URL | Supported Products |
|---|---|---|
| Shanghai | http://api-audio-sh.fengkongcloud.com/query_audio/v4 | Chinese, Arabic |
| Silicon Valley | http://api-audio-sh.fengkongcloud.com/query_audio/v4 | Chinese, English, Arabic |
| Singapore | http://api-audio-xjp.fengkongcloud.com/query_audio/v4 | Chinese, English, Arabic |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
accessKey | string | Yes | Company key, provided by ISHUMEI. See the onboarding email for details. |
btId | string | Yes | Unique audio file identifier used to query the recognition result. |
Response
Response Parameters
Parameters other than
code,message, andrequestIdare only guaranteed to be returned whencodeis1100.
| Parameter | Type | Required | Description |
|---|---|---|---|
requestId | string | Yes | Unique request identifier. |
btId | string | Yes | Unique audio identifier. |
code | int | Yes | Response code. See Response Codes. |
message | string | Yes | Response message corresponding to the code. |
riskLevel | string | Yes | Overall disposition recommendation. PASS, REVIEW, or REJECT. During initial integration, it is recommended not to use results directly for blocking — adjust interception thresholds first. |
audioText | string | Yes | Full audio-to-text transcription result. |
audioTime | int | Yes | Total audio duration in seconds. |
audioDetail | json_array | Yes | Audio segment information. See audioDetail Array. |
audioTags | json_object | No | Audio tags including gender, timbre, and singing detection. Legacy compatibility field — use businessLabels instead. See audioTags Object. |
requestParams | json_object | Yes | Pass-through field. Returns all fields under data. |
auxInfo | json_object | No | Auxiliary information. See auxInfo Object. |
Response Codes
| Code | Description |
|---|---|
1100 | Success |
1101 | Processing |
1901 | QPS limit exceeded |
1902 | Invalid parameters |
1903 | Service failure |
1904 | Download failure |
1905 | Decoding failure |
9100 | Insufficient balance |
9101 | Unauthorized operation |
audioDetail Array
audioDetail ArrayEach element represents an audio segment:
| Parameter | Type | Required | Description |
|---|---|---|---|
requestId | string | Yes | Unique identifier for this audio segment. |
audioStarttime | float | Yes | Segment start time relative to the audio beginning, in seconds. |
audioEndtime | float | Yes | Segment end time relative to the audio beginning, in seconds. |
audioUrl | string | Yes | Audio segment URL (MP3 format). |
riskLevel | string | Yes | Segment risk level. PASS, REVIEW, or REJECT. |
riskLabel1 | string | Yes | Level 1 risk label. |
riskLabel2 | string | Yes | Level 2 risk label. |
riskLabel3 | string | Yes | Level 3 risk label. |
riskDescription | string | Yes | Risk description. For reference only — do not use for programmatic logic. |
riskDetail | json_object | No | Risk detail information. See Segment riskDetail. |
allLabels | json_array | No | All risk labels. See Segment allLabels. |
businessLabels | json_array | No | All business labels. See Segment businessLabels. |
Segment allLabels
allLabelsEach element in the allLabels array:
| Parameter | Type | Required | Description |
|---|---|---|---|
riskLabel1 | string | Yes | Level 1 risk label. |
riskLabel2 | string | Yes | Level 2 risk label. |
riskLabel3 | string | Yes | Level 3 risk label. |
riskDescription | string | Yes | Risk description. For reference only — do not use for programmatic logic. |
riskLevel | string | Yes | Risk level: PASS, REVIEW, or REJECT. |
probability | float | No | Confidence score (0–1). Higher values indicate higher risk probability. |
riskDetail | json_object | No | Risk detail information. See Segment riskDetail. |
Segment riskDetail
riskDetail| Parameter | Type | Required | Description |
|---|---|---|---|
audioText | string | No | Audio-to-text transcription result for this segment. |
riskSource | int | No | Risk source: 1000 (no risk), 1001 (text risk), 1003 (audio risk). |
matchedLists | json_array | No | Matched custom list information. Returned only when a custom list is hit. |
matchedLists[].name | string | Yes | Name of the custom list. |
matchedLists[].words | json_array | Yes | Sensitive word information from the matched list. |
matchedLists[].words[].word | string | Yes | The matched sensitive word. |
matchedLists[].words[].position | int_array | Yes | Position of the sensitive word. |
riskSegments | json_array | No | High-risk content segments. |
riskSegments[].segment | string | No | High-risk content segment text. |
riskSegments[].position | int_array | No | Position of the high-risk segment. |
Segment businessLabels
businessLabelsEach element in the businessLabels array:
| Parameter | Type | Required | Description |
|---|---|---|---|
businessLabel1 | string | Yes | Level 1 business label. |
businessLabel2 | string | Yes | Level 2 business label. |
businessLabel3 | string | Yes | Level 3 business label. |
businessDescription | string | Yes | Business label description. Format: "Level 1: Level 2: Level 3". |
confidenceLevel | int | No | Confidence level (0–2). Higher values indicate greater confidence. |
probability | float | No | Confidence score (0–1). |
businessDetail | json_object | No | Detailed information. Reserved field. |
audioTags Object
audioTags ObjectThis is a legacy compatibility field. Use
businessLabelsinaudioDetailinstead for new integrations.
| Parameter | Type | Required | Description |
|---|---|---|---|
gender | object | No | Gender detection result. |
gender.label | string | Yes | Gender label name (e.g., "Male", "Female"). |
gender.probability | int | No | Gender probability (0–100). Higher values indicate greater likelihood. |
timbre | array | No | Voice timbre detection results. Each element contains label and probability. Possible label values: Uncle, Young Man, Boy, Elderly Man, Queen, Mature Woman, Young Woman, Loli, Middle-aged Woman, Male, Female, No Voice. |
language | array | No | Language detection results. Each element contains label and probability/confidence. |
Language Labels
| Label | Description |
|---|---|
0 | Mandarin Chinese |
1 | English |
2 | Cantonese |
3 | Tibetan |
4 | Uyghur |
5 | Mongolian |
6 | Korean |
-1 | Other languages |
auxInfo Object
auxInfo Object| Parameter | Type | Required | Description |
|---|---|---|---|
errorCode | int | Yes | Status code. 2003: audio download failure. 2007: no valid data. |
Examples
Request Example
{
"accessKey": "YOUR_ACCESS_KEY",
"btId": "1604311839040"
}Response Example
{
"requestId": "6a9cb980346dfea41111656a514e9109",
"btId": "1604311839040",
"code": 1100,
"message": "Success",
"riskLevel": "PASS",
"audioDetail": [
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0000",
"audioStarttime": 0,
"audioEndtime": 10,
"audioUrl": "http://example.com/audio_segment_a0000.mp3",
"businessLabels": [
{
"businessDescription": "Singing: Singing: Singing",
"businessLabel1": "sing",
"businessLabel2": "changge",
"businessLabel3": "changge",
"confidenceLevel": 2,
"probability": 0.858334402569294
}
],
"allLabels": [],
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "Normal",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0001",
"audioStarttime": 10,
"audioEndtime": 20,
"audioUrl": "http://example.com/audio_segment_a0001.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "Normal",
"riskDetail": {
"audioText": ""
}
},
{
"requestId": "6a9cb980346dfea41111656a514e9109_a0002",
"audioStarttime": 20,
"audioEndtime": 30,
"audioUrl": "http://example.com/audio_segment_a0002.mp3",
"riskLevel": "PASS",
"riskLabel1": "normal",
"riskLabel2": "",
"riskLabel3": "",
"riskDescription": "Normal",
"riskDetail": {
"audioText": ""
}
}
],
"audioTags": {
"gender": {
"label": "Female",
"probability": 95
},
"language": [
{
"confidence": 0,
"label": 2
},
{
"confidence": 99,
"label": 0
},
{
"confidence": 0,
"label": 1
}
],
"song": 0,
"timbre": [
{
"label": "Female",
"probability": 95
},
{
"label": "Queen",
"probability": 12
},
{
"label": "Mature Woman",
"probability": 37
},
{
"label": "Young Woman",
"probability": 56
},
{
"label": "Middle-aged Woman",
"probability": 67
},
{
"label": "Loli",
"probability": 24
}
]
}
}Updated 12 days ago