'1.0', 'info' => ['style' => 'RPC', 'product' => 'EduInterpreting', 'version' => '2024-08-28'], 'directories' => ['RecognizeAudio', 'SubmitEvaluationTask'], 'components' => [ 'schemas' => [], ], 'apis' => [ 'RecognizeAudio' => [ 'summary' => 'Recognizes English speech audio files and converts them into English text.', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => ['FEATUREeduplatformS8LARQ'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'AudioFileUrl', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The URL of the audio file that can be accessed over the Internet.', 'type' => 'string', 'required' => true, 'example' => 'http://xx.com/abc.mp3'], ], [ 'name' => 'OuterBizId', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The unique business ID defined by the caller for this request. This ID is returned with the callback along with the evaluation results. The caller must ensure that this ID is globally unique and can be traced back to its own ASR task. This field is also used for idempotence control.', 'type' => 'string', 'required' => true, 'example' => '433c1361-0f6e-48fc-ad51'], ], [ 'name' => 'CallbackUrl', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The callback URL for ASR results. The caller must prepare the callback endpoint based on the data structure of the ASR task callback API template.', 'type' => 'string', 'required' => false, 'example' => 'https://abc.edu.org.cn/en/callback'."\n"], ], [ 'name' => 'EnableCallBack', 'in' => 'formData', 'schema' => ['type' => 'boolean', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Language', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'Valid values:'."\n" .'- ZH: Chinese.'."\n" .'- EN: English.', 'type' => 'string', 'example' => 'ZH', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'AsrResultPopDTO', 'type' => 'object', 'properties' => [ 'ItemList' => [ 'description' => 'The list of recognition results.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'BeginTime' => ['description' => 'The start offset of the sentence, in milliseconds.', 'type' => 'string', 'example' => '0', 'title' => ''], 'EndTime' => ['description' => 'The end offset of the sentence, in milliseconds.', 'type' => 'string', 'example' => '1230', 'title' => ''], 'Text' => ['description' => 'The recognized text of the sentence.', 'type' => 'string', 'example' => 'How are you', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The unique request ID.', 'type' => 'string', 'example' => '38CD0881-BC7B-5ADB-A3EB-FF813927D09A', 'title' => ''], 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '3ab5c082-2c0e-4f39-b12f-057dd5e373ff', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Audio.DecodeError', 'errorMessage' => 'Audio decoding error.', 'description' => ''], ['errorCode' => 'Audio.DownloadError', 'errorMessage' => 'The audio file url failed to download. check that the file address is valid.', 'description' => ''], ['errorCode' => 'Audio.FormatInvalid', 'errorMessage' => 'Audio decoding error. Currently, only wav and mp3 are supported.', 'description' => ''], ['errorCode' => 'Audio.InvalidSampleRate', 'errorMessage' => 'Illegal audio sampling rate. Speech Recognition only supports audio with 8000 Hz and 16000 Hz sampling rate formats.', 'description' => ''], ['errorCode' => 'Param.Invalid', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ['errorCode' => 'Task.TimeOut', 'errorMessage' => 'Task execution exceeds 50s.Task timeout.', 'description' => ''], ], 403 => [ ['errorCode' => 'ThrottlingRateQuota', 'errorMessage' => 'Algorithm service resource exceeds the quota limit.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], 503 => [ ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ItemList\\": [\\n {\\n \\"BeginTime\\": \\"0\\",\\n \\"EndTime\\": \\"1230\\",\\n \\"Text\\": \\"How are you\\"\\n }\\n ],\\n \\"RequestId\\": \\"38CD0881-BC7B-5ADB-A3EB-FF813927D09A\\",\\n \\"TaskId\\": \\"3ab5c082-2c0e-4f39-b12f-057dd5e373ff\\"\\n}","type":"json"}]', 'title' => 'Convert speech to text with timestamps', 'responseParamsDescription' => 'When the callback feature is enabled, only RequestId and TaskId are returned in the response. The remaining content is sent in the original data format to the callback URL provided by the invoker. Ensure that the callback URL allows public network access.', 'changeSet' => [], ], 'SubmitEvaluationTask' => [ 'summary' => 'Submits an interpretation evaluation task.', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'Type', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The evaluation type. Valid values:'."\n" .'- EN_TO_ZH: English to Chinese.'."\n" .'- ZH_TO_EN: Chinese to English.', 'type' => 'string', 'required' => true, 'example' => 'EN_TO_ZH'], ], [ 'name' => 'SuggestedAnswer', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The ground truth.', 'type' => 'string', 'required' => true, 'example' => '聚会一团火,散是满天星'], ], [ 'name' => 'Text', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The response text to be evaluated.', 'type' => 'string', 'required' => true, 'example' => '相聚时大家是一团花火, 分开时在各自领域发光发热'], ], [ 'name' => 'MaterialText', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The source material text.', 'type' => 'string', 'required' => true, 'example' => 'As flame of fire we gather, as skyful of stars we scatter.'."\n"], ], [ 'name' => 'OuterBizId', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The unique business ID defined by the caller for this call. This field is returned together with the evaluation result in the callback. The caller must ensure that this ID is globally unique and can be used to locate the corresponding evaluation task. This field is also used for idempotence control.', 'type' => 'string', 'required' => true, 'example' => '433c1361-0f6e-48fc-ad51'."\n"], ], [ 'name' => 'AudioUrl', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The URL of the audio file to be evaluated.', 'type' => 'string', 'required' => true, 'example' => 'http://xx.com/abc.mp3'."\n"], ], [ 'name' => 'CallbackUrl', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The callback URL for the evaluation result. Because the evaluation takes a long time, the result is sent to this URL after the evaluation is complete. The caller must prepare the callback endpoint based on the data structure of the evaluation task callback template.', 'type' => 'string', 'required' => true, 'example' => 'https://abc.edu.org.cn/en/callback'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'PopEvaluationTaskResultDTO', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BA3BB7D0-E098-5F0C-AF25-0BEFAEE7D1F0', 'title' => ''], 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '8fb75c55-98b5-4b82-ae67-5dbb9a0646cc', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Param.Invalid', 'errorMessage' => 'The specified parameter is not valid.', 'description' => ''], ], 403 => [ ['errorCode' => 'ThrottlingRateQuota', 'errorMessage' => 'Algorithm service resource exceeds the quota limit.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], 503 => [ ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BA3BB7D0-E098-5F0C-AF25-0BEFAEE7D1F0\\",\\n \\"TaskId\\": \\"8fb75c55-98b5-4b82-ae67-5dbb9a0646cc\\"\\n}","type":"json"}]', 'title' => 'Submit an AI intelligent evaluation task', 'responseParamsDescription' => '> The result is sent to the callback URL provided by the caller through an asynchronous callback. Make sure that the callback URL is publicly accessible. The data format of the callback request is as follows:
'."\n" .'├─ OuterBizId: String (The external business ID passed when the evaluation task was submitted)
'."\n" .'├─ TaskId: String (The evaluation task ID)
'."\n" .'    └─ EvaluateResult: Object
'."\n" .'        ├─ OverallScore: String (Overall score: 0-5)
'."\n" .'        ├─ ContentScore: String (Content score: 0-5)
'."\n" .'         ├─ ExpressionScore: String (Expression score: 0-5)
'."\n" .'         ├─ CommunicationScore: String (Communication score: 0-5)
'."\n" .'         ├─ Comment: String (Comment)
'."\n" .'         └─ GrammarFeedback: String (Grammar feedback)
.', 'changeSet' => [], ], ], 'endpoints' => [ ['regionId' => 'public', 'regionName' => 'Public network', 'areaId' => 'other', 'areaName' => 'Other', 'public' => 'eduinterpreting.aliyuncs.com', 'endpoint' => 'eduinterpreting.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [], 'changeSet' => [], ];