GetTask - Get the result of an offline meeting minutes task
API reference for retrieving the results of an offline meeting minutes task.
Prerequisites
Activate the service and obtain and configure an API key. To prevent security risks from code leaks, configure the API key as an environment variable instead of hard coding it in your code.
NoteTo grant temporary access permissions to third-party applications or users, or want to strictly control risky operations such as accessing or deleting sensitive data, you can use a temporary authentication token.
Compared to a long-term API key, a temporary authentication token is valid for only a short period (60 seconds) and offers higher security. It is suitable for temporary call scenarios and can effectively reduce the risk of API key leaks.
Usage: In your code, replace the API key used for authentication with the obtained temporary authentication token.
Endpoint
https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
Request method
POST request
Request headers
Authorization: Bearer {api-key} // Replace {api-key} with your actual API key.
Content-Type: application/json
Request parameters
Name | Type | Required | Description | Sample value |
|---|---|---|---|---|
model | string | Yes | The business type. Set the value to |
|
input | object | Yes | Specify the relevant business parameters. | |
input.task | string | Yes | The task type. Set the value to | getTask |
input.dataId | string | Yes | The ID of the offline meeting minutes task to query. | wkb*** |
Response parameters
Name | Type | Description | Example/Parsing protocol |
|---|---|---|---|
code | string | The error code. | |
message | string | The error message. | |
request_id | string | The request ID. | f97ee37d-0f9c-9b93-b6bf-bd263a232bf9 |
usage | object | Usage. This parameter is currently empty. | {} |
output | object | The business response body. | |
output.status | int | The task status:
| 0 |
output.errorCode | string | The error code returned when the task is submitted but fails to run. This is returned when | TSC.FileError |
output.errorMessage | string | The error message returned when the task is submitted but fails to run. This is returned when | File cannot be read. |
output.playbackUrl | string | The URL for audio playback. The URL is valid for 24 hours. | For information about the parsing protocols for the content in the files at the Object Storage Service (OSS) URLs, see: Note: If the URL string is null, the subtask failed. Otherwise, the subtask succeeded. |
output.transcriptionPath | string | The OSS URL of the transcription result object. | |
output.translationsPath | string | The OSS URL of the translation. | |
output.autoChaptersPath | string | The OSS URL of the chapter overview. | |
output.summarizationPath | string | The OSS URL of the full-text summary, speaker summary, Q&A review, and mind map. | |
output.meetingAssistancePath | string | The OSS URL of the action items and keywords. | |
output.pptExtractionPath | string | The OSS URL of the extracted PPT and summary. | |
output.textPolishPath | string | The OSS URL of the polished text. | |
output.customPromptPath | string | The OSS URL of the custom prompt. |
Parsing protocol for output.transcriptionPath
The outermost layer is an Object. Its fields are as follows:
Name | Type | Description | Example |
|---|---|---|---|
audioInfo | object | The audio information object. | |
audioInfo.Size | long | The audio size in bytes. | 3335756 |
audioInfo.Duration | long | The audio duration in milliseconds. For real-time speech recognition, this field does not represent the actual audio duration. | 104006 |
audioInfo.SampleRate | int | The audio sampling rate. | 16000 |
audioInfo.Language | string | The audio language. | cn |
audioSegments | array<array<int>> | The range of valid audio segments. | |
audioSegments[i][0] | int | The start time of the valid audio segment in milliseconds. | 1690 |
audioSegments[i][1] | int | The end time of the valid audio segment in milliseconds. | 10704 |
paragraphs | array | A list of paragraphs. | |
paragraphs[0].paragraphId | String | Paragraph ID | 16987422100275***** |
paragraphs[0].speakerId | String | The speaker ID. | 1 |
paragraphs[0].words | array | A list of words. | |
paragraphs[0].words[0].id | int | The word ID. | 10 |
paragraphs[0].words[0].sentenceId | int | The sentence ID. | 1 |
paragraphs[0].words[0].start | int | The start time in milliseconds. | 4970 |
paragraphs[0].words[0].end | int | The end time in milliseconds. | 5560 |
paragraphs[0].words[0].text | String | The word text. | Hello, |
Example JSON:
{
"audioInfo": {
"duration": 300000,
"language": "cn",
"sampleRate": 16000,
"size": 9605546
},
"audioSegments": [
[
2960,
6908
],
[
7310,
12879
]
],
"paragraphs": [
{
"paragraphId": "1758265418316500000",
"speakerId": "1",
"words": [
{
"end": 3895,
"id": 10,
"sentenceId": 1,
"start": 2960,
"text": "At this moment"
},
{
"end": 4030,
"id": 20,
"sentenceId": 1,
"start": 3895,
"text": "I"
}
]
}
]
}
Parsing protocol for output.translationsPath
The outermost layer is an Object with the following fields:
Parameter | Type | Description |
|---|---|---|
paragraphs | list[] | A collection of translation results organized by paragraph. This corresponds to the speech recognition result message. |
paragraphs.paragraphId | string | The paragraph ID. This corresponds to the ParagraphId in the speech recognition result. |
paragraphs.sentences | list[] | A collection of translated sentences. |
paragraphs.sentences[i].sentenceId | long | The sentence ID. |
paragraphs.sentences[i].start | long | The start time of the segment relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
paragraphs.sentences[i].end | long | The end time of the segment relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
paragraphs.sentences[i].text | string | The translated text. This corresponds to the speech recognition result message. |
Example JSON:
{
"paragraphs": [
{
"paragraphId": "1758274598863500000",
"sentences": [
{
"end": 6908,
"sentenceId": 1,
"start": 2960,
"text": "At the moment, I will systematically tell you some things before we leave. "
},
{
"end": 12879,
"sentenceId": 2,
"start": 7310,
"text": "First of all, our car is equipped with this kind of remote control key, which can be directly controlled in APP. "
},
{
"end": 14576,
"sentenceId": 3,
"start": 13850,
"text": "This has two advantages. "
},
{
"end": 22510,
"sentenceId": 4,
"start": 14580,
"text": "First, if you are out of town and your car is now, for example, on the side of the road, you want to park your car in your garage, but you are not there, what should you do at this time? "
},
{
"end": 36466,
"sentenceId": 5,
"start": 22820,
"text": "Sharing one is to use this APP to share a key and remote key with your friend or driver. Let him tilt in the car prohibited by this APP. Just park the car and let him sleep again. It is to give him a temporary key. This is the first advantage. "
},
{
"end": 45255,
"sentenceId": 6,
"start": 36740,
"text": "The second advantage is that you can see the car locks and windows. If you are not sure whether the car doors are closed or not, you can watch and use them at home. "
},
{
"end": 48408,
"sentenceId": 7,
"start": 47210,
"text": "No, as long as there's a match for Wang. "
}
]
}
]
}
Parsing protocol for output.autoChaptersPath
The outermost layer is an array with the following fields:
Parameter | Type | Description |
|---|---|---|
[i].id | int | The ordinal number of the chapter. |
[i].start | long | The start time of the chapter relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
[i].end | long | The end time of the chapter relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
[i].headline | string | A one-sentence title for the chapter. |
[i].summary | string | The chapter summary. |
Example JSON:
[
{
"end": 245450,
"headline": "Smart Car Remote Control and Parking Features",
"id": 1,
"start": 2960,
"summary": "Introduces the remote control features of a smart car, including sharing temporary keys through an app, remotely controlling car locks and windows, starting the vehicle, and assistance features for automatic parking and maneuvering into and out of parking spaces. It also mentions the in-car voice control system, which allows both front and rear passengers to issue commands without a wake-word."
},
{
"end": 299930,
"headline": "Analysis of City NGP and Driving Assistance Features",
"id": 2,
"start": 248440,
"summary": "Discusses the conditions for using City NGP, noting that it can be tried on enabled road sections. On sections where it is not enabled, only basic assistance features like ACC are available. It highlights the dangers of manual driving in poor lighting conditions and the behavioral differences of the NGP system with and without support for specific road sections."
}
]
Parsing protocol for output.summarizationPath
The root element is an object that contains the following fields:
Parameter | Type | Description |
|---|---|---|
paragraphSummary | string | The full-text summary result. The at sign and hash (
|
conversationalSummary | list[] | A list of speaker summary results. |
conversationalSummary[i].speakerId | string | The speaker ID. |
conversationalSummary[i].speakerName | string | The speaker name. |
conversationalSummary[i].summary | string | The summary for the speaker. |
questionsAnsweringSummary | list[] | A list of Q&A review summary results. |
questionsAnsweringSummary[i].question | string | The question. |
questionsAnsweringSummary[i].sentenceIdsOfQuestion | list[] | A list of SentenceIds from the original Automatic Speech Recognition (ASR) transcription that correspond to the question. |
questionsAnsweringSummary[i].answer | string | The answer to the question. |
questionsAnsweringSummary[i].sentenceIdsOfAnswer | list[] | A list of SentenceIds from the original ASR transcription that correspond to the answer. |
mindMapSummary | list[] | A list of mind map results. |
mindMapSummary[i].title | string | The text content of a single node in the mind map. |
mindMapSummary[i].beginTime | int | The timestamp of a single mind map node relative to the start time, in milliseconds. This field exists only in leaf nodes. |
mindMapSummary[i].topic | list[] | A list of child nodes for a single mind map node. |
The following is a JSON example:
{
"conversationalSummary": [
{
"speakerId": "2",
"speakerName": "Speaker 2",
"summary": "Discussed the transition between autonomous driving and manual control of the vehicle."
},
{
"speakerId": "1",
"speakerName": "Speaker 1",
"summary": "Detailed the preparations before vehicle departure."
}
],
"mindMapSummary": [
{
"title": "Introduction to Vehicle Features Before Departure",
"topic": [
{
"title": "Remote Key and App Control",
"topic": [
{
"beginTime": 14580,
"title": "Remotely control the vehicle, such as sharing a temporary key with a friend or valet to park in the garage",
"topic": []
},
{
"beginTime": 36740,
"title": "Check the door lock status to ensure security",
"topic": []
}
]
},
{
"title": "Remote Start and Horn Location",
"topic": [
{
"beginTime": 54080,
"title": "Locate the vehicle in an underground garage by sounding the horn",
"topic": []
}
]
}
]
}
],
"paragraphSummary": "This record provides a detailed introduction and demonstration of the remote control and autonomous driving features of a smart car, including remote keys, parking space maneuvering, voice control, and the working principles of the City NGP driving assistance system.@#\n\n- **Introduction to Remote Control Features[2]**\n 1. **Remote Key Sharing[4]**\n 2. **Confirmation of Door and Window Status[6]**",
"questionsAnsweringSummary": [
{
"answer": "This system has two benefits. First, if you are away and want a friend or valet to park your car in the garage, you can share the remote key from the app to let them park the car using the app. Second, you can check and control the car locks and windows from home using the app, and even perform functions like remote start and sounding the horn.",
"question": "What are the benefits of this remote key system?",
"sentenceIdsOfAnswer": [
1,
2,
3,
4,
5,
6,
7
],
"sentenceIdsOfQuestion": [
1,
2,
3,
4,
5,
6,
7
]
}
]
}
Parsing protocol for output.meetingAssistancePath
The root element is an object with the following fields:
Parameter | Type | Description |
|---|---|---|
keywords | list[] | The extracted keywords. |
actions | list[] | A collection of action items and action item summaries. |
actions[i].id | long | The ordinal number of the action item. |
actions[i].sentenceId | long | The ID of the corresponding sentence in the original ASR transcription. |
actions[i].start | long | The start time relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
actions[i].end | long | The end time relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
actions[i].text | string | The content of the action item. |
classifications | object | The scenario classification. Currently, there are three scenario categories. |
classifications.interview | float | The confidence score for the interview scenario. |
classifications.lecture | float | The confidence score for the lecture scenario. |
classifications.meeting | float | The confidence score for the meeting scenario. |
Example JSON:
{
"actions": [
{
"end": 0,
"id": 1,
"sentenceId": 5,
"start": 0,
"text": "Provide feedback to the courier department about the damaged package and request repackaging or compensation."
}
],
"classifications": {
"interview": 0.0,
"lecture": 0.22630735,
"meeting": 0.2158773
},
"keywords": [
"Courier",
"Package Damage"
]
}
Parsing protocol for output.pptExtractionPath
The root element is an object. Its fields are described below:
Parameter | Type | Description |
|---|---|---|
availableForSummary | boolean | Indicates whether a PPT summary text exists. A value of false means no PPT summary result is available. A value of true means at least one is available. |
keyFrameList | list[] | A list of PPT results, including PPT images and summary text. |
keyFrameList[i].id | long | The ordinal number. |
keyFrameList[i].start | long | The start time relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
keyFrameList[i].end | long | The end time relative to the beginning of the audio. This is a relative timestamp in milliseconds. |
keyFrameList[i].fileUrl | string | The generated PPT image result. This is an HTTP download link. |
keyFrameList[i].summary | string | The corresponding PPT summary. |
The following is a JSON example.
{
"availableForSummary": true,
"keyFrameList": [
{
"end": 17470,
"fileUrl": "https://prod-tingwu-paas-common-beijing.oss-cn-beijing.aliyuncs.com/***",
"id": 1,
"start": 30
}
]
}
Parsing protocol for output.textPolishPath
The root element is an array that contains the following fields:
JSON field | Type | Description |
|---|---|---|
[i].formalParagraphText | string | The polished text result, converted from spoken to written language. |
[i].sentenceIds | list | A list of SentenceIds corresponding to the polished content. |
[i].paragraphId | string | The paragraph ID of the text result. This corresponds to the paragraph ID in the speech recognition result. |
[i].start | long | The start time of the text result in the original audio. This is a relative timestamp in milliseconds. |
[i].end | long | The end time of the text result in the original audio. This is a relative timestamp in milliseconds. |
Example JSON:
[
{
"end": 32392,
"formalParagraphText": "Hello everyone, I am Li Zhe, the product manager for Tongyi Tingwu. Today, I will introduce the Tongyi Tingwu public cloud API. First, let's get an overview of Tingwu. Tingwu is a work and study assistant focused on audio and video content. It can accurately analyze, extract, and summarize audio and video content to help enterprise customers quickly grasp key information and improve content utilization efficiency. The built-in large model supports various functions such as summarization, quality inspection, and translation, and also has speech recognition and visual understanding capabilities.",
"paragraphId": "1758527947000500001",
"sentenceIds": [
1,
2,
3,
4,
5
],
"start": 30
}
]
Parsing protocol for output.customPromptPath
The root element is an array that contains the following fields:
JSON field | Type | Description |
[i].name | string | The dataId corresponding to the task. |
[i].result | string | The result returned by the large model. |
[i].truncated | boolean | Indicates whether the result was truncated. |
Example JSON:
[
{
"name": "fgVnGvkqj5xA",
"result": "This question seems to be missing some specific background information. For example, does 'how many people' refer to a specific scenario or the number of people in a specific group?",
"truncated": false
}
]
Request example
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Authorization: Bearer sk-***' \
--header 'Content-Type: application/json' \
--data '{
"model": "tingwu-meeting",
"input": {
"dataId": "***",
"task": "getTask"
}
}'
Response example
{
"output": {
"autoChaptersPath": "https://oss.example.com/...",
"customPromptPath": "https://oss.example.com/...",
"meetingAssistancePath": "https://oss.example.com/...",
"playbackUrl": "https://oss.example.com/...",
"pptExtractionPath": "https://oss.example.com/...",
"status": 0,
"summarizationPath": "https://oss.example.com/...",
"textPolishPath": "https://oss.example.com/...",
"transcriptionPath": "https://oss.example.com/...",
"translationsPath": "https://oss.example.com/..."
},
"usage": {},
"request_id": "ac5e2400-5aaf-44a6-8cf0-481bab4cefe3"
}