UNPKG

tencentcloud-sdk-nodejs

Version:
326 lines (309 loc) 14.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Client = void 0; /* eslint-disable @typescript-eslint/no-unused-vars */ /* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ const abstract_client_1 = require("../../../common/abstract_client"); /** * tci client * @class */ class Client extends abstract_client_1.AbstractClient { constructor(clientConfig) { super("tci.tencentcloudapi.com", "2019-03-18", clientConfig); } /** * **提交线下小班(无课桌)课任务** 线下小班课是指有学生无课桌的课堂,满座15人以下,全局画面且背景不动,能清晰看到。 **提供的功能接口有:**学生人脸识别、学生表情识别、学生肢体动作识别。 可分析的指标维度包括:身份识别、正脸、侧脸、抬头、低头、高兴、中性、高兴、中性、惊讶、厌恶、恐惧、愤怒、蔑视、悲伤、站立、举手、坐着等。 **对场景的要求为:**真实常规教室,满座15人以下,全局画面且背景不动;人脸上下角度在20度以内,左右角度在15度以内,歪头角度在15度以内;光照均匀,无遮挡,人脸清晰可见;像素最好在 100X100 像素以上但是图像整体质量不能超过1080p。 **结果查询方式:**图像任务直接返回结果,点播及直播任务通过DescribeAITaskResult查询结果。 */ async SubmitOpenClassTask(req, cb) { return this.request("SubmitOpenClassTask", req, cb); } /** * 支持多路视频流,提交高级人员考勤任务 */ async SubmitCheckAttendanceTaskPlus(req, cb) { return this.request("SubmitCheckAttendanceTaskPlus", req, cb); } /** * 创建人员库 */ async CreateLibrary(req, cb) { return this.request("CreateLibrary", req, cb); } /** * 音频任务提交接口 */ async SubmitAudioTask(req, cb) { return this.request("SubmitAudioTask", req, cb); } /** * 创建人脸 */ async CreateFace(req, cb) { return this.request("CreateFace", req, cb); } /** * 修改人员信息 */ async ModifyPerson(req, cb) { return this.request("ModifyPerson", req, cb); } /** * 获取图像任务统计信息 */ async DescribeImageTaskStatistic(req, cb) { return this.request("DescribeImageTaskStatistic", req, cb); } /** * 提供 AI 助教基础版本功能接口 */ async AIAssistant(req, cb) { return this.request("AIAssistant", req, cb); } /** * 修改人员库信息 */ async ModifyLibrary(req, cb) { return this.request("ModifyLibrary", req, cb); } /** * 发起双路视频生成精彩集锦接口。该接口可以通过客户传入的学生音视频及老师视频两路Url,自动生成一堂课程的精彩集锦。需要通过DescribeHighlightResult 接口获取生成结果。 */ async SubmitDoubleVideoHighlights(req, cb) { return this.request("SubmitDoubleVideoHighlights", req, cb); } /** * 拉取人员列表 */ async DescribePersons(req, cb) { return this.request("DescribePersons", req, cb); } /** * 对话任务分析接口 */ async SubmitConversationTask(req, cb) { return this.request("SubmitConversationTask", req, cb); } /** * 视频精彩集锦结果查询接口,异步查询客户提交的请求的结果。 */ async DescribeHighlightResult(req, cb) { return this.request("DescribeHighlightResult", req, cb); } /** * **提交线下传统面授大班课(含课桌)任务。** 传统教室课堂是指有学生课堂有课桌的课堂,满座20-50人,全局画面且背景不动。 **提供的功能接口有:**学生人脸识别、学生表情识别、学生肢体动作识别。可分析的指标维度包括:学生身份识别、正脸、侧脸、抬头、低头、高兴、中性、高兴、中性、惊讶、厌恶、恐惧、愤怒、蔑视、悲伤、举手、站立、坐着、趴桌子、玩手机等 **对场景的要求为:**传统的学生上课教室,满座20-50人,全局画面且背景不动;人脸上下角度在20度以内,左右角度在15度以内,歪头角度在15度以内;光照均匀,无遮挡,人脸清晰可见;像素最好在 100X100 像素以上,但是图像整体质量不能超过1080p。 **结果查询方式:**图像任务直接返回结果,点播及直播任务通过DescribeAITaskResult查询结果。 */ async SubmitTraditionalClassTask(req, cb) { return this.request("SubmitTraditionalClassTask", req, cb); } /** * 获取标准化接口任务结果 */ async DescribeAITaskResult(req, cb) { return this.request("DescribeAITaskResult", req, cb); } /** * 删除人员 */ async DeletePerson(req, cb) { return this.request("DeletePerson", req, cb); } /** * 获取人员库列表 */ async DescribeLibraries(req, cb) { return this.request("DescribeLibraries", req, cb); } /** * 用于取消已经提交的任务,目前只支持图像任务。 */ async CancelTask(req, cb) { return this.request("CancelTask", req, cb); } /** * 发起视频生成精彩集锦接口。该接口可以通过客户传入的课程音频数据及相关策略(如微笑抽取,专注抽取等),自动生成一堂课程的精彩集锦。需要通过QueryHighlightResult接口获取生成结果。 */ async SubmitHighlights(req, cb) { return this.request("SubmitHighlights", req, cb); } /** * 查询词汇库 */ async DescribeVocabLib(req, cb) { return this.request("DescribeVocabLib", req, cb); } /** * 创建词汇 */ async CreateVocab(req, cb) { return this.request("CreateVocab", req, cb); } /** * **提交在线1对1课堂任务** 对于在线1对1课堂,老师通过视频向学生授课,并且学生人数为1人。通过上传学生端的图像信息,可以获取学生的听课情况分析。 具体指一路全局画面且背景不动,有1位学生的头像或上半身的画面,要求画面稳定清晰。 **提供的功能接口有:**学生人脸识别、学生表情识别、语音识别。可分析的指标维度包括:学生身份识别、正脸、侧脸、抬头、低头、人脸坐标、人脸尺寸、高兴、中性、高兴、中性、惊讶、厌恶、恐惧、愤怒、蔑视、悲伤、语音转文字、发音时长、非发音时长、音量、语速等。 **对场景的要求为:**真实常规1v1授课场景,学生2人以下,全局画面且背景不动;人脸上下角度在20度以内,左右角度在15度以内,歪头角度在15度以内;光照均匀,无遮挡,人脸清晰可见;像素最好在 100X100 像素以上,但是图像整体质量不能超过1080p。 **结果查询方式:**图像任务直接返回结果,点播及直播任务通过DescribeAITaskResult查询结果。 */ async SubmitOneByOneClassTask(req, cb) { return this.request("SubmitOneByOneClassTask", req, cb); } /** * **在线小班课任务**:此场景是在线授课场景,老师一般为坐着授课,摄像头可以拍摄到老师的头部及上半身。拍摄视频为一路全局画面,且背景不动,要求画面稳定清晰。通过此接口可分析老师授课的行为及语音,以支持AI评教。 **提供的功能接口有:**老师人脸识别、老师表情识别、老师手势识别、光线识别、语音识别。 可分析的指标维度包括:身份识别、正脸、侧脸、人脸坐标、人脸尺寸、高兴、中性、高兴、中性、惊讶、厌恶、恐惧、愤怒、蔑视、悲伤、点赞手势、听你说手势、听我说手势、拿教具行为、语音转文字、发音时长、非发音时长、音量、语速、指定关键词的使用等 **对场景的要求为:**在线常规授课场景,全局画面且背景不动;人脸上下角度在20度以内,左右角度在15度以内,歪头角度在15度以内;光照均匀,无遮挡,人脸清晰可见;像素最好在 100X100 像素以上,但是图像整体质量不能超过1080p。 **结果查询方式:**图像任务直接返回结果,点播及直播任务通过DescribeAITaskResult查询结果。 */ async SubmitPartialBodyClassTask(req, cb) { return this.request("SubmitPartialBodyClassTask", req, cb); } /** * 提交人员考勤任务,支持包括点播和直播资源;支持通过DescribeAttendanceResult查询结果,也支持通过NoticeUrl设置考勤回调结果,回调结果结构如下: ##### 回调事件结构 | 参数名称 | 类型 | 描述 | | ---- | --- | ------ | | jobid | Integer | 任务ID | | person_info | array of PersonInfo | 识别到的人员列表 | #####子结构PersonInfo | 参数名称 | 类型 | 描述 | | ---- | --- | ------ | | traceid | String | 可用于区分同一路视频流下的不同陌生人 | | personid | String | 识别到的人员ID,如果是陌生人则返回空串 | | libid | String | 识别到的人员所在的库ID,如果是陌生人则返回空串 | | timestamp | uint64 | 识别到人脸的绝对时间戳,单位ms | | image_url | string | 识别到人脸的事件抓图的下载地址,不长期保存,需要请及时下载 | */ async SubmitCheckAttendanceTask(req, cb) { return this.request("SubmitCheckAttendanceTask", req, cb); } /** * 创建人员 */ async CreatePerson(req, cb) { return this.request("CreatePerson", req, cb); } /** * 音频对话任务评估任务信息查询接口,异步查询客户提交的请求的结果。 */ async DescribeConversationTask(req, cb) { return this.request("DescribeConversationTask", req, cb); } /** * 删除人员库 */ async DeleteLibrary(req, cb) { return this.request("DeleteLibrary", req, cb); } /** * 拉取任务详情 */ async DescribeImageTask(req, cb) { return this.request("DescribeImageTask", req, cb); } /** * 提交图像分析任务 */ async SubmitImageTask(req, cb) { return this.request("SubmitImageTask", req, cb); } /** * 人脸考勤查询结果 */ async DescribeAttendanceResult(req, cb) { return this.request("DescribeAttendanceResult", req, cb); } /** * 高级图像分析任务,开放了图像任务里的所有开关,可以根据场景深度定制图像分析任务。支持的图像类别有,图片链接、图片二进制数据、点播链接和直播链接。 */ async SubmitImageTaskPlus(req, cb) { return this.request("SubmitImageTaskPlus", req, cb); } /** * 建立词汇库 */ async CreateVocabLib(req, cb) { return this.request("CreateVocabLib", req, cb); } /** * 删除词汇 */ async DeleteVocab(req, cb) { return this.request("DeleteVocab", req, cb); } /** * **传统课堂授课任务**:在此场景中,老师为站立授课,有白板或投影供老师展示课程内容,摄像头可以拍摄到老师的半身或者全身。拍摄视频为一路全局画面,且背景不动,要求画面稳定清晰。通过此接口可分析老师授课的行为及语音,以支持AI评教。 **提供的功能接口有:**老师人脸识别、老师表情识别、老师肢体动作识别、语音识别。 可分析的指标维度包括:身份识别、正脸、侧脸、人脸坐标、人脸尺寸、高兴、中性、高兴、中性、惊讶、厌恶、恐惧、愤怒、蔑视、悲伤、正面讲解、写板书、指黑板、语音转文字、发音时长、非发音时长、音量、语速、指定关键词的使用等 **对场景的要求为:**真实场景老师1人出现在画面中,全局画面且背景不动;人脸上下角度在20度以内,左右角度在15度以内,歪头角度在15度以内;光照均匀,无遮挡,人脸清晰可见;像素最好在 100X100 像素以上,但是图像整体质量不能超过1080p。 **结果查询方式:**图像任务直接返回结果,点播及直播任务通过DescribeAITaskResult查询结果。 */ async SubmitFullBodyClassTask(req, cb) { return this.request("SubmitFullBodyClassTask", req, cb); } /** * 检查人脸图片是否合法 */ async CheckFacePhoto(req, cb) { return this.request("CheckFacePhoto", req, cb); } /** * 查询词汇 */ async DescribeVocab(req, cb) { return this.request("DescribeVocab", req, cb); } /** * 删除词汇库 */ async DeleteVocabLib(req, cb) { return this.request("DeleteVocabLib", req, cb); } /** * 获取人员详情 */ async DescribePerson(req, cb) { return this.request("DescribePerson", req, cb); } /** * 删除人脸 */ async DeleteFace(req, cb) { return this.request("DeleteFace", req, cb); } /** * 音频评估任务信息查询接口,异步查询客户提交的请求的结果。 */ async DescribeAudioTask(req, cb) { return this.request("DescribeAudioTask", req, cb); } /** * 分析音频信息 */ async TransmitAudioStream(req, cb) { return this.request("TransmitAudioStream", req, cb); } } exports.Client = Client;