videoenhan-20200320/main.tea (2,821 lines of code) (raw):
/**
*
*/
import Util;
import OSS;
import OpenPlatform;
import OSSUtil;
import FileForm;
import Number;
import OpenApi;
import OpenApiUtil;
import EndpointUtil;
extends OpenApi;
init(config: OpenApi.Config){
super(config);
@endpointRule = 'regional';
checkConfig(config);
@endpoint = getEndpoint('videoenhan', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}
function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
if (!Util.empty(endpoint)) {
return endpoint;
}
if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
return endpointMap[regionId];
}
return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}
model AbstractEcommerceVideoRequest {
duration?: float(name='Duration', description='This parameter is required.', example='5'),
height?: int32(name='Height', example='480'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AbstractEcommerceVideo/AbstractEcommerceVideo1.mp4'),
width?: int32(name='Width', example='480'),
}
model AbstractEcommerceVideoAdvanceRequest {
duration?: float(name='Duration', description='This parameter is required.', example='5'),
height?: int32(name='Height', example='480'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AbstractEcommerceVideo/AbstractEcommerceVideo1.mp4'),
width?: int32(name='Width', example='480'),
}
model AbstractEcommerceVideoResponseBody = {
data?: {
videoCoverUrl?: string(name='VideoCoverUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/shop-video-abs/2020-03-20-19/YVgDynxB.jpg?Expires=1584707249&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=e5Q3O%2ByA6H7UhYJeMZxz4p70de****'),
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/shop-video-abs/2020-03-20-19/YVgDynxB.mp4?Expires=1584707249&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=KErufmbHvTUYYLRj6i42wY7Tew****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='50B33B81-CCB8-42BC-8A73-AC838618936E'),
}
model AbstractEcommerceVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: AbstractEcommerceVideoResponseBody(name='body'),
}
/**
* @param request AbstractEcommerceVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return AbstractEcommerceVideoResponse
*/
async function abstractEcommerceVideoWithOptions(request: AbstractEcommerceVideoRequest, runtime: Util.RuntimeOptions): AbstractEcommerceVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.duration)) {
body['Duration'] = request.duration;
}
if (!Util.isUnset(request.height)) {
body['Height'] = request.height;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
if (!Util.isUnset(request.width)) {
body['Width'] = request.width;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'AbstractEcommerceVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request AbstractEcommerceVideoRequest
* @return AbstractEcommerceVideoResponse
*/
async function abstractEcommerceVideo(request: AbstractEcommerceVideoRequest): AbstractEcommerceVideoResponse {
var runtime = new Util.RuntimeOptions{};
return abstractEcommerceVideoWithOptions(request, runtime);
}
async function abstractEcommerceVideoAdvance(request: AbstractEcommerceVideoAdvanceRequest, runtime: Util.RuntimeOptions): AbstractEcommerceVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var abstractEcommerceVideoReq = new AbstractEcommerceVideoRequest{};
OpenApiUtil.convert(request, abstractEcommerceVideoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
abstractEcommerceVideoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var abstractEcommerceVideoResp = abstractEcommerceVideoWithOptions(abstractEcommerceVideoReq, runtime);
return abstractEcommerceVideoResp;
}
model AbstractFilmVideoRequest {
length?: int32(name='Length', description='This parameter is required.', example='5'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AbstractFilmVideo/AbstractFilmVideo1.mp4'),
}
model AbstractFilmVideoAdvanceRequest {
length?: int32(name='Length', description='This parameter is required.', example='5'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AbstractFilmVideo/AbstractFilmVideo1.mp4'),
}
model AbstractFilmVideoResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/film-summary/EA61D012-5F89-4102-931E-419158BE2ADA_gb27k00.mp4?Expires=1584707613&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=weTexlBR1wmQlAhuU2JXaE7AyJ****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='9A5B872B-1BF0-4D84-90DA-A2EE1F072B82'),
}
model AbstractFilmVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: AbstractFilmVideoResponseBody(name='body'),
}
/**
* @param request AbstractFilmVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return AbstractFilmVideoResponse
*/
async function abstractFilmVideoWithOptions(request: AbstractFilmVideoRequest, runtime: Util.RuntimeOptions): AbstractFilmVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.length)) {
body['Length'] = request.length;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'AbstractFilmVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request AbstractFilmVideoRequest
* @return AbstractFilmVideoResponse
*/
async function abstractFilmVideo(request: AbstractFilmVideoRequest): AbstractFilmVideoResponse {
var runtime = new Util.RuntimeOptions{};
return abstractFilmVideoWithOptions(request, runtime);
}
async function abstractFilmVideoAdvance(request: AbstractFilmVideoAdvanceRequest, runtime: Util.RuntimeOptions): AbstractFilmVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var abstractFilmVideoReq = new AbstractFilmVideoRequest{};
OpenApiUtil.convert(request, abstractFilmVideoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
abstractFilmVideoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var abstractFilmVideoResp = abstractFilmVideoWithOptions(abstractFilmVideoReq, runtime);
return abstractFilmVideoResp;
}
model AddFaceVideoTemplateRequest {
videoScene?: string(name='VideoScene'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='http://invi-label.oss-cn-shanghai.aliyuncs.com/labl/temp/faceswap/test_for_api/xxxx.mp4'),
}
model AddFaceVideoTemplateAdvanceRequest {
videoScene?: string(name='VideoScene'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='http://invi-label.oss-cn-shanghai.aliyuncs.com/labl/temp/faceswap/test_for_api/xxxx.mp4'),
}
model AddFaceVideoTemplateResponseBody = {
date?: {
faceInfos?: [
{
templateFaceID?: string(name='TemplateFaceID'),
templateFaceURL?: string(name='TemplateFaceURL'),
}
](name='FaceInfos'),
templateId?: string(name='TemplateId', example='6cd509ea-54fa-4730-8e9d-c94cadcda048'),
transResult?: string(name='TransResult'),
}(name='Date'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='F61182AE-515B-5B0A-A877-1C9AE908FF15'),
}
model AddFaceVideoTemplateResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: AddFaceVideoTemplateResponseBody(name='body'),
}
/**
* @summary 视频人脸融合模板增加
*
* @param request AddFaceVideoTemplateRequest
* @param runtime runtime options for this request RuntimeOptions
* @return AddFaceVideoTemplateResponse
*/
async function addFaceVideoTemplateWithOptions(request: AddFaceVideoTemplateRequest, runtime: Util.RuntimeOptions): AddFaceVideoTemplateResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.videoScene)) {
body['VideoScene'] = request.videoScene;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'AddFaceVideoTemplate',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频人脸融合模板增加
*
* @param request AddFaceVideoTemplateRequest
* @return AddFaceVideoTemplateResponse
*/
async function addFaceVideoTemplate(request: AddFaceVideoTemplateRequest): AddFaceVideoTemplateResponse {
var runtime = new Util.RuntimeOptions{};
return addFaceVideoTemplateWithOptions(request, runtime);
}
async function addFaceVideoTemplateAdvance(request: AddFaceVideoTemplateAdvanceRequest, runtime: Util.RuntimeOptions): AddFaceVideoTemplateResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var addFaceVideoTemplateReq = new AddFaceVideoTemplateRequest{};
OpenApiUtil.convert(request, addFaceVideoTemplateReq);
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
addFaceVideoTemplateReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var addFaceVideoTemplateResp = addFaceVideoTemplateWithOptions(addFaceVideoTemplateReq, runtime);
return addFaceVideoTemplateResp;
}
model AdjustVideoColorRequest {
mode?: string(name='Mode', example='LogC'),
videoBitrate?: long(name='VideoBitrate', example='20'),
videoCodec?: string(name='VideoCodec', example='h264'),
videoFormat?: string(name='VideoFormat', example='mp4'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AdjustVideoColor/AdjustVideoColor1.mp4'),
}
model AdjustVideoColorAdvanceRequest {
mode?: string(name='Mode', example='LogC'),
videoBitrate?: long(name='VideoBitrate', example='20'),
videoCodec?: string(name='VideoCodec', example='h264'),
videoFormat?: string(name='VideoFormat', example='mp4'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/AdjustVideoColor/AdjustVideoColor1.mp4'),
}
model AdjustVideoColorResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-recolor/2021-01-21-07/46%3A05-test.mov?Expires=1611216966&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=icKn5gEQ6rNlSHmCi2zAf2tC0L****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='C4EB5E0B-0718-42CC-9B2C-1FB149256874'),
}
model AdjustVideoColorResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: AdjustVideoColorResponseBody(name='body'),
}
/**
* @param request AdjustVideoColorRequest
* @param runtime runtime options for this request RuntimeOptions
* @return AdjustVideoColorResponse
*/
async function adjustVideoColorWithOptions(request: AdjustVideoColorRequest, runtime: Util.RuntimeOptions): AdjustVideoColorResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.mode)) {
body['Mode'] = request.mode;
}
if (!Util.isUnset(request.videoBitrate)) {
body['VideoBitrate'] = request.videoBitrate;
}
if (!Util.isUnset(request.videoCodec)) {
body['VideoCodec'] = request.videoCodec;
}
if (!Util.isUnset(request.videoFormat)) {
body['VideoFormat'] = request.videoFormat;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'AdjustVideoColor',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request AdjustVideoColorRequest
* @return AdjustVideoColorResponse
*/
async function adjustVideoColor(request: AdjustVideoColorRequest): AdjustVideoColorResponse {
var runtime = new Util.RuntimeOptions{};
return adjustVideoColorWithOptions(request, runtime);
}
async function adjustVideoColorAdvance(request: AdjustVideoColorAdvanceRequest, runtime: Util.RuntimeOptions): AdjustVideoColorResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var adjustVideoColorReq = new AdjustVideoColorRequest{};
OpenApiUtil.convert(request, adjustVideoColorReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
adjustVideoColorReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var adjustVideoColorResp = adjustVideoColorWithOptions(adjustVideoColorReq, runtime);
return adjustVideoColorResp;
}
model ChangeVideoSizeRequest {
b?: int32(name='B', example='0'),
cropType?: string(name='CropType', example='smart'),
fillType?: string(name='FillType', example='image'),
g?: int32(name='G', example='0'),
height?: int32(name='Height', description='This parameter is required.', example='1000'),
r?: int32(name='R', example='0'),
tightness?: float(name='Tightness', example='0.5'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/ChangeVideoSize/ChangeVideoSize1.mp4'),
width?: int32(name='Width', description='This parameter is required.', example='600'),
}
model ChangeVideoSizeAdvanceRequest {
b?: int32(name='B', example='0'),
cropType?: string(name='CropType', example='smart'),
fillType?: string(name='FillType', example='image'),
g?: int32(name='G', example='0'),
height?: int32(name='Height', description='This parameter is required.', example='1000'),
r?: int32(name='R', example='0'),
tightness?: float(name='Tightness', example='0.5'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/ChangeVideoSize/ChangeVideoSize1.mp4'),
width?: int32(name='Width', description='This parameter is required.', example='600'),
}
model ChangeVideoSizeResponseBody = {
data?: {
videoCoverUrl?: string(name='VideoCoverUrl', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-crop/2020-07-24-20/ZTZslWcU.jpg?Expires=1595597077&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=5cq1NNBEzS64U7RTXRBGlo7WPy****'),
videoUrl?: string(name='VideoUrl', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-crop/2020-07-24-20/ZTZslWcU.mp4?Expires=1595597077&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=ZyvD9AXCT2IUFkVJngQdbXMwX6****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='C00C5A32-9F54-44F0-9778-0968DD9BF22A'),
}
model ChangeVideoSizeResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ChangeVideoSizeResponseBody(name='body'),
}
/**
* @param request ChangeVideoSizeRequest
* @param runtime runtime options for this request RuntimeOptions
* @return ChangeVideoSizeResponse
*/
async function changeVideoSizeWithOptions(request: ChangeVideoSizeRequest, runtime: Util.RuntimeOptions): ChangeVideoSizeResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.b)) {
body['B'] = request.b;
}
if (!Util.isUnset(request.cropType)) {
body['CropType'] = request.cropType;
}
if (!Util.isUnset(request.fillType)) {
body['FillType'] = request.fillType;
}
if (!Util.isUnset(request.g)) {
body['G'] = request.g;
}
if (!Util.isUnset(request.height)) {
body['Height'] = request.height;
}
if (!Util.isUnset(request.r)) {
body['R'] = request.r;
}
if (!Util.isUnset(request.tightness)) {
body['Tightness'] = request.tightness;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
if (!Util.isUnset(request.width)) {
body['Width'] = request.width;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'ChangeVideoSize',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request ChangeVideoSizeRequest
* @return ChangeVideoSizeResponse
*/
async function changeVideoSize(request: ChangeVideoSizeRequest): ChangeVideoSizeResponse {
var runtime = new Util.RuntimeOptions{};
return changeVideoSizeWithOptions(request, runtime);
}
async function changeVideoSizeAdvance(request: ChangeVideoSizeAdvanceRequest, runtime: Util.RuntimeOptions): ChangeVideoSizeResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var changeVideoSizeReq = new ChangeVideoSizeRequest{};
OpenApiUtil.convert(request, changeVideoSizeReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
changeVideoSizeReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var changeVideoSizeResp = changeVideoSizeWithOptions(changeVideoSizeReq, runtime);
return changeVideoSizeResp;
}
model ConvertHdrVideoRequest {
bitrate?: int32(name='Bitrate', example='30'),
HDRFormat?: string(name='HDRFormat', example='HLG'),
maxIlluminance?: int32(name='MaxIlluminance', example='1000'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model ConvertHdrVideoAdvanceRequest {
bitrate?: int32(name='Bitrate', example='30'),
HDRFormat?: string(name='HDRFormat', example='HLG'),
maxIlluminance?: int32(name='MaxIlluminance', example='1000'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model ConvertHdrVideoResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/hdr-enhance/20-12-22/HaKDdTI48i2GQGy7_20-12-22-06-42-45.mp4?Expires=1608621178&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=SWc90T0JHg5eWc64x8GmYHKsvX****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='E0CF495F-E806-4B9C-B204-E1230608239D'),
}
model ConvertHdrVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ConvertHdrVideoResponseBody(name='body'),
}
/**
* @param request ConvertHdrVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return ConvertHdrVideoResponse
*/
async function convertHdrVideoWithOptions(request: ConvertHdrVideoRequest, runtime: Util.RuntimeOptions): ConvertHdrVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.bitrate)) {
body['Bitrate'] = request.bitrate;
}
if (!Util.isUnset(request.HDRFormat)) {
body['HDRFormat'] = request.HDRFormat;
}
if (!Util.isUnset(request.maxIlluminance)) {
body['MaxIlluminance'] = request.maxIlluminance;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'ConvertHdrVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request ConvertHdrVideoRequest
* @return ConvertHdrVideoResponse
*/
async function convertHdrVideo(request: ConvertHdrVideoRequest): ConvertHdrVideoResponse {
var runtime = new Util.RuntimeOptions{};
return convertHdrVideoWithOptions(request, runtime);
}
async function convertHdrVideoAdvance(request: ConvertHdrVideoAdvanceRequest, runtime: Util.RuntimeOptions): ConvertHdrVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var convertHdrVideoReq = new ConvertHdrVideoRequest{};
OpenApiUtil.convert(request, convertHdrVideoReq);
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
convertHdrVideoReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var convertHdrVideoResp = convertHdrVideoWithOptions(convertHdrVideoReq, runtime);
return convertHdrVideoResp;
}
model DeleteFaceVideoTemplateRequest {
templateId?: string(name='TemplateId', description='This parameter is required.', example='3bf2418c-7adf-4002-a9d6-2f7cf1889c0d'),
}
model DeleteFaceVideoTemplateResponseBody = {
requestId?: string(name='RequestId', example='2337D184-CD63-57B5-96A2-B60AABCB7B58'),
}
model DeleteFaceVideoTemplateResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: DeleteFaceVideoTemplateResponseBody(name='body'),
}
/**
* @summary 视频人脸融合模板删除
*
* @param request DeleteFaceVideoTemplateRequest
* @param runtime runtime options for this request RuntimeOptions
* @return DeleteFaceVideoTemplateResponse
*/
async function deleteFaceVideoTemplateWithOptions(request: DeleteFaceVideoTemplateRequest, runtime: Util.RuntimeOptions): DeleteFaceVideoTemplateResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.templateId)) {
body['TemplateId'] = request.templateId;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'DeleteFaceVideoTemplate',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频人脸融合模板删除
*
* @param request DeleteFaceVideoTemplateRequest
* @return DeleteFaceVideoTemplateResponse
*/
async function deleteFaceVideoTemplate(request: DeleteFaceVideoTemplateRequest): DeleteFaceVideoTemplateResponse {
var runtime = new Util.RuntimeOptions{};
return deleteFaceVideoTemplateWithOptions(request, runtime);
}
model EnhancePortraitVideoRequest {
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxx/shang/video/SD%289516100%29.mp4'),
}
model EnhancePortraitVideoAdvanceRequest {
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxx/shang/video/SD%289516100%29.mp4'),
}
model EnhancePortraitVideoResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://vibktprfx-prod-prod-xstream-cn-shanghai.oss-cn-shanghai.aliyuncs.com/xstream-framework/upload_result_video_2023-02-10_09.45.55.mp4?Expires=1675995564&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=aIXTeM4IU4nARjy3SNA3YGhhqj****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='d21a2afa-4d52-4bca-803b-e65028146603'),
}
model EnhancePortraitVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: EnhancePortraitVideoResponseBody(name='body'),
}
/**
* @summary 视频人像增强
*
* @param request EnhancePortraitVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return EnhancePortraitVideoResponse
*/
async function enhancePortraitVideoWithOptions(request: EnhancePortraitVideoRequest, runtime: Util.RuntimeOptions): EnhancePortraitVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'EnhancePortraitVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频人像增强
*
* @param request EnhancePortraitVideoRequest
* @return EnhancePortraitVideoResponse
*/
async function enhancePortraitVideo(request: EnhancePortraitVideoRequest): EnhancePortraitVideoResponse {
var runtime = new Util.RuntimeOptions{};
return enhancePortraitVideoWithOptions(request, runtime);
}
async function enhancePortraitVideoAdvance(request: EnhancePortraitVideoAdvanceRequest, runtime: Util.RuntimeOptions): EnhancePortraitVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var enhancePortraitVideoReq = new EnhancePortraitVideoRequest{};
OpenApiUtil.convert(request, enhancePortraitVideoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
enhancePortraitVideoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var enhancePortraitVideoResp = enhancePortraitVideoWithOptions(enhancePortraitVideoReq, runtime);
return enhancePortraitVideoResp;
}
model EnhanceVideoQualityRequest {
bitrate?: int32(name='Bitrate', example='20'),
frameRate?: int32(name='FrameRate', example='50'),
HDRFormat?: string(name='HDRFormat', example='PQ'),
maxIlluminance?: int32(name='MaxIlluminance', example='600'),
outPutHeight?: int32(name='OutPutHeight', example='200'),
outPutWidth?: int32(name='OutPutWidth', example='200'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model EnhanceVideoQualityAdvanceRequest {
bitrate?: int32(name='Bitrate', example='20'),
frameRate?: int32(name='FrameRate', example='50'),
HDRFormat?: string(name='HDRFormat', example='PQ'),
maxIlluminance?: int32(name='MaxIlluminance', example='600'),
outPutHeight?: int32(name='OutPutHeight', example='200'),
outPutWidth?: int32(name='OutPutWidth', example='200'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model EnhanceVideoQualityResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/uhd-enhance/20-11-20/Wwzf9z75GO5XdisS_20-11-20-07-13-48.mp4?Expires=1605858272&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=vvY0D%2Bl5eEzp%2BD7mPOWz0zMU7v****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='881F39DC-C107-4817-A6D5-000BE833CC2A'),
}
model EnhanceVideoQualityResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: EnhanceVideoQualityResponseBody(name='body'),
}
/**
* @param request EnhanceVideoQualityRequest
* @param runtime runtime options for this request RuntimeOptions
* @return EnhanceVideoQualityResponse
*/
async function enhanceVideoQualityWithOptions(request: EnhanceVideoQualityRequest, runtime: Util.RuntimeOptions): EnhanceVideoQualityResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.bitrate)) {
body['Bitrate'] = request.bitrate;
}
if (!Util.isUnset(request.frameRate)) {
body['FrameRate'] = request.frameRate;
}
if (!Util.isUnset(request.HDRFormat)) {
body['HDRFormat'] = request.HDRFormat;
}
if (!Util.isUnset(request.maxIlluminance)) {
body['MaxIlluminance'] = request.maxIlluminance;
}
if (!Util.isUnset(request.outPutHeight)) {
body['OutPutHeight'] = request.outPutHeight;
}
if (!Util.isUnset(request.outPutWidth)) {
body['OutPutWidth'] = request.outPutWidth;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'EnhanceVideoQuality',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request EnhanceVideoQualityRequest
* @return EnhanceVideoQualityResponse
*/
async function enhanceVideoQuality(request: EnhanceVideoQualityRequest): EnhanceVideoQualityResponse {
var runtime = new Util.RuntimeOptions{};
return enhanceVideoQualityWithOptions(request, runtime);
}
async function enhanceVideoQualityAdvance(request: EnhanceVideoQualityAdvanceRequest, runtime: Util.RuntimeOptions): EnhanceVideoQualityResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var enhanceVideoQualityReq = new EnhanceVideoQualityRequest{};
OpenApiUtil.convert(request, enhanceVideoQualityReq);
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
enhanceVideoQualityReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var enhanceVideoQualityResp = enhanceVideoQualityWithOptions(enhanceVideoQualityReq, runtime);
return enhanceVideoQualityResp;
}
model EraseVideoLogoRequest {
boxes?: [
{
h?: float(name='H', example='1.0'),
w?: float(name='W', example='1.0'),
x?: float(name='X', example='0.0'),
y?: float(name='Y', example='0.0'),
}
](name='Boxes'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/EraseVideoLogo/EraseVideoLogo1.mp4'),
}
model EraseVideoLogoAdvanceRequest {
boxes?: [
{
h?: float(name='H', example='1.0'),
w?: float(name='W', example='1.0'),
x?: float(name='X', example='0.0'),
y?: float(name='Y', example='0.0'),
}
](name='Boxes'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/EraseVideoLogo/EraseVideoLogo1.mp4'),
}
model EraseVideoLogoResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-delogo/2020-03-20-11/53%3A56-DGNUGG7AcRlAylhr.mp4?Expires=1584707036&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=7CvsX7X1rSU%2B%2FDxnw484lb3LCD****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='95532F36-98FC-4DCD-815C-282BB26D2DA1'),
}
model EraseVideoLogoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: EraseVideoLogoResponseBody(name='body'),
}
/**
* @param request EraseVideoLogoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return EraseVideoLogoResponse
*/
async function eraseVideoLogoWithOptions(request: EraseVideoLogoRequest, runtime: Util.RuntimeOptions): EraseVideoLogoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.boxes)) {
body['Boxes'] = request.boxes;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'EraseVideoLogo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request EraseVideoLogoRequest
* @return EraseVideoLogoResponse
*/
async function eraseVideoLogo(request: EraseVideoLogoRequest): EraseVideoLogoResponse {
var runtime = new Util.RuntimeOptions{};
return eraseVideoLogoWithOptions(request, runtime);
}
async function eraseVideoLogoAdvance(request: EraseVideoLogoAdvanceRequest, runtime: Util.RuntimeOptions): EraseVideoLogoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var eraseVideoLogoReq = new EraseVideoLogoRequest{};
OpenApiUtil.convert(request, eraseVideoLogoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
eraseVideoLogoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var eraseVideoLogoResp = eraseVideoLogoWithOptions(eraseVideoLogoReq, runtime);
return eraseVideoLogoResp;
}
model EraseVideoSubtitlesRequest {
BH?: float(name='BH', example='0.25'),
BW?: float(name='BW', example='1'),
BX?: float(name='BX', example='0'),
BY?: float(name='BY', example='0.75'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/EraseVideoSubtitles/EraseVideoSubtitles1.mp4'),
}
model EraseVideoSubtitlesAdvanceRequest {
BH?: float(name='BH', example='0.25'),
BW?: float(name='BW', example='1'),
BX?: float(name='BX', example='0'),
BY?: float(name='BY', example='0.75'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/EraseVideoSubtitles/EraseVideoSubtitles1.mp4'),
}
model EraseVideoSubtitlesResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-desubtitle/2021-04-13-10/41%3A57-TcFd6Zug7gXwbeqs.mp4?Expires=1618312317&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=LZnGSQ8019%2Br5rcR4vKOaaT2UE****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='CCB082BF-A6B1-4C28-9E49-562EEE7DE639'),
}
model EraseVideoSubtitlesResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: EraseVideoSubtitlesResponseBody(name='body'),
}
/**
* @param request EraseVideoSubtitlesRequest
* @param runtime runtime options for this request RuntimeOptions
* @return EraseVideoSubtitlesResponse
*/
async function eraseVideoSubtitlesWithOptions(request: EraseVideoSubtitlesRequest, runtime: Util.RuntimeOptions): EraseVideoSubtitlesResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.BH)) {
body['BH'] = request.BH;
}
if (!Util.isUnset(request.BW)) {
body['BW'] = request.BW;
}
if (!Util.isUnset(request.BX)) {
body['BX'] = request.BX;
}
if (!Util.isUnset(request.BY)) {
body['BY'] = request.BY;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'EraseVideoSubtitles',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request EraseVideoSubtitlesRequest
* @return EraseVideoSubtitlesResponse
*/
async function eraseVideoSubtitles(request: EraseVideoSubtitlesRequest): EraseVideoSubtitlesResponse {
var runtime = new Util.RuntimeOptions{};
return eraseVideoSubtitlesWithOptions(request, runtime);
}
async function eraseVideoSubtitlesAdvance(request: EraseVideoSubtitlesAdvanceRequest, runtime: Util.RuntimeOptions): EraseVideoSubtitlesResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var eraseVideoSubtitlesReq = new EraseVideoSubtitlesRequest{};
OpenApiUtil.convert(request, eraseVideoSubtitlesReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
eraseVideoSubtitlesReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var eraseVideoSubtitlesResp = eraseVideoSubtitlesWithOptions(eraseVideoSubtitlesReq, runtime);
return eraseVideoSubtitlesResp;
}
model GenerateHumanAnimeStyleVideoRequest {
cartoonStyle?: string(name='CartoonStyle', description='This parameter is required.', example='anime'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test/xxx/eas/EvaluateVideoQuality/123.mp4'),
}
model GenerateHumanAnimeStyleVideoAdvanceRequest {
cartoonStyle?: string(name='CartoonStyle', description='This parameter is required.', example='anime'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test/xxx/eas/EvaluateVideoQuality/123.mp4'),
}
model GenerateHumanAnimeStyleVideoResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://vibktprfx-prod-prod-xstream-cn-shanghai.oss-cn-shanghai.aliyuncs.com/xstream-framework/upload_result_video_2023-02-10_09.45.55.mp4?Expires=1675995564&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSR****&Signature=aIXTeM4IU4nARjy3SNA3YGhhqj****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='d21a2afa-4d52-4bca-803b-e65028146603'),
}
model GenerateHumanAnimeStyleVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GenerateHumanAnimeStyleVideoResponseBody(name='body'),
}
/**
* @summary 视频人像卡通化
*
* @param request GenerateHumanAnimeStyleVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return GenerateHumanAnimeStyleVideoResponse
*/
async function generateHumanAnimeStyleVideoWithOptions(request: GenerateHumanAnimeStyleVideoRequest, runtime: Util.RuntimeOptions): GenerateHumanAnimeStyleVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.cartoonStyle)) {
body['CartoonStyle'] = request.cartoonStyle;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'GenerateHumanAnimeStyleVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频人像卡通化
*
* @param request GenerateHumanAnimeStyleVideoRequest
* @return GenerateHumanAnimeStyleVideoResponse
*/
async function generateHumanAnimeStyleVideo(request: GenerateHumanAnimeStyleVideoRequest): GenerateHumanAnimeStyleVideoResponse {
var runtime = new Util.RuntimeOptions{};
return generateHumanAnimeStyleVideoWithOptions(request, runtime);
}
async function generateHumanAnimeStyleVideoAdvance(request: GenerateHumanAnimeStyleVideoAdvanceRequest, runtime: Util.RuntimeOptions): GenerateHumanAnimeStyleVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var generateHumanAnimeStyleVideoReq = new GenerateHumanAnimeStyleVideoRequest{};
OpenApiUtil.convert(request, generateHumanAnimeStyleVideoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
generateHumanAnimeStyleVideoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var generateHumanAnimeStyleVideoResp = generateHumanAnimeStyleVideoWithOptions(generateHumanAnimeStyleVideoReq, runtime);
return generateHumanAnimeStyleVideoResp;
}
model GenerateVideoRequest {
duration?: float(name='Duration', example='10'),
durationAdaption?: boolean(name='DurationAdaption', example='true'),
fileList?: [
{
fileName?: string(name='FileName', description='This parameter is required.', example='1-video1.mp4'),
fileUrl?: string(name='FileUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/GenerateVideo/1-video1.mp4'),
type?: string(name='Type', description='This parameter is required.', example='video'),
}
](name='FileList', description='1
This parameter is required.'),
height?: int32(name='Height', example='640'),
mute?: boolean(name='Mute', example='true'),
puzzleEffect?: boolean(name='PuzzleEffect', example='true'),
scene?: string(name='Scene', example='costume'),
smartEffect?: boolean(name='SmartEffect', example='true'),
style?: string(name='Style', example='fast'),
transitionStyle?: string(name='TransitionStyle', example='brush'),
width?: int32(name='Width', example='640'),
}
model GenerateVideoAdvanceRequest {
duration?: float(name='Duration', example='10'),
durationAdaption?: boolean(name='DurationAdaption', example='true'),
fileList?: [
{
fileName?: string(name='FileName', description='This parameter is required.', example='1-video1.mp4'),
fileUrlObject?: readable(name='FileUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/GenerateVideo/1-video1.mp4'),
type?: string(name='Type', description='This parameter is required.', example='video'),
}
](name='FileList', description='1
This parameter is required.'),
height?: int32(name='Height', example='640'),
mute?: boolean(name='Mute', example='true'),
puzzleEffect?: boolean(name='PuzzleEffect', example='true'),
scene?: string(name='Scene', example='costume'),
smartEffect?: boolean(name='SmartEffect', example='true'),
style?: string(name='Style', example='fast'),
transitionStyle?: string(name='TransitionStyle', example='brush'),
width?: int32(name='Width', example='640'),
}
model GenerateVideoResponseBody = {
data?: {
videoCoverUrl?: string(name='VideoCoverUrl', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.mp4?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=F9flL1n5GPYaae0dLl%2F8D%2Bn4j6****'),
videoUrl?: string(name='VideoUrl', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-gen/2021-05-07-15/B9MGfwxu.jpg?Expires=1620372653&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=djBvGvdJu8bd%2FC%2BVHdg1d57U%2Bu****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='7CB9B663-3EF8-4C9C-A464-FDA2B5F1E3A4'),
}
model GenerateVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GenerateVideoResponseBody(name='body'),
}
/**
* @param request GenerateVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return GenerateVideoResponse
*/
async function generateVideoWithOptions(request: GenerateVideoRequest, runtime: Util.RuntimeOptions): GenerateVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.duration)) {
body['Duration'] = request.duration;
}
if (!Util.isUnset(request.durationAdaption)) {
body['DurationAdaption'] = request.durationAdaption;
}
if (!Util.isUnset(request.fileList)) {
body['FileList'] = request.fileList;
}
if (!Util.isUnset(request.height)) {
body['Height'] = request.height;
}
if (!Util.isUnset(request.mute)) {
body['Mute'] = request.mute;
}
if (!Util.isUnset(request.puzzleEffect)) {
body['PuzzleEffect'] = request.puzzleEffect;
}
if (!Util.isUnset(request.scene)) {
body['Scene'] = request.scene;
}
if (!Util.isUnset(request.smartEffect)) {
body['SmartEffect'] = request.smartEffect;
}
if (!Util.isUnset(request.style)) {
body['Style'] = request.style;
}
if (!Util.isUnset(request.transitionStyle)) {
body['TransitionStyle'] = request.transitionStyle;
}
if (!Util.isUnset(request.width)) {
body['Width'] = request.width;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'GenerateVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request GenerateVideoRequest
* @return GenerateVideoResponse
*/
async function generateVideo(request: GenerateVideoRequest): GenerateVideoResponse {
var runtime = new Util.RuntimeOptions{};
return generateVideoWithOptions(request, runtime);
}
async function generateVideoAdvance(request: GenerateVideoAdvanceRequest, runtime: Util.RuntimeOptions): GenerateVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var generateVideoReq = new GenerateVideoRequest{};
OpenApiUtil.convert(request, generateVideoReq);
if(!Util.isUnset(request.fileList)) {
var i0 : integer = 0;
for (var item0 : request.fileList) {
if(!Util.isUnset(item0.fileUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = item0.fileUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
var tmp : GenerateVideoRequest.fileList = generateVideoReq.fileList[i0];
tmp.fileUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
i0 = Number.ltoi(Number.add(Number.itol(i0), Number.itol(1)));
}
}
}
var generateVideoResp = generateVideoWithOptions(generateVideoReq, runtime);
return generateVideoResp;
}
model GetAsyncJobResultRequest {
jobId?: string(name='JobId', description='This parameter is required.', example='E75FE679-0303-4DD1-8252-1143B4FA8A27'),
}
model GetAsyncJobResultResponseBody = {
data?: {
errorCode?: string(name='ErrorCode', example='InvalidParameter'),
errorMessage?: string(name='ErrorMessage', example='paramsIllegal'),
jobId?: string(name='JobId', example='49E2CC28-ED1D-4CC5-854D-7D0AE2B20976'),
result?: string(name='Result', example='{\\\\"VideoUrl\\\\":\\\\"http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-super-resolution/2020-03-26-02/55%3A59-XFLsuEKpPxleHl4n.mp4?Expires=1585193159&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=OqsxMwAKsFVjPO%2Brgw%2BpXHIm6v****\\\\"}'),
status?: string(name='Status', example='PROCESS_SUCCESS'),
}(name='Data'),
requestId?: string(name='RequestId', example='43A0AEB6-45F4-4138-8E89-E1A5D63200E3'),
}
model GetAsyncJobResultResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: GetAsyncJobResultResponseBody(name='body'),
}
/**
* @param request GetAsyncJobResultRequest
* @param runtime runtime options for this request RuntimeOptions
* @return GetAsyncJobResultResponse
*/
async function getAsyncJobResultWithOptions(request: GetAsyncJobResultRequest, runtime: Util.RuntimeOptions): GetAsyncJobResultResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.jobId)) {
body['JobId'] = request.jobId;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'GetAsyncJobResult',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request GetAsyncJobResultRequest
* @return GetAsyncJobResultResponse
*/
async function getAsyncJobResult(request: GetAsyncJobResultRequest): GetAsyncJobResultResponse {
var runtime = new Util.RuntimeOptions{};
return getAsyncJobResultWithOptions(request, runtime);
}
model InterpolateVideoFrameRequest {
bitrate?: int32(name='Bitrate', example='30'),
frameRate?: int32(name='FrameRate', example='70'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/InterpolateVideoFrame/InterpolateVideoFrame3.mp4'),
}
model InterpolateVideoFrameAdvanceRequest {
bitrate?: int32(name='Bitrate', example='30'),
frameRate?: int32(name='FrameRate', example='70'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/InterpolateVideoFrame/InterpolateVideoFrame3.mp4'),
}
model InterpolateVideoFrameResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-interp/20-12-22/mRsPNVunG7717nne_20-12-22-07-29-51.mp4?Expires=1608624020&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=NFjSLll8E7E1tkuLPFyTpr6ULi****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='7EF85B5B-FB44-4C3E-9B8F-08C6CD912CEB'),
}
model InterpolateVideoFrameResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: InterpolateVideoFrameResponseBody(name='body'),
}
/**
* @param request InterpolateVideoFrameRequest
* @param runtime runtime options for this request RuntimeOptions
* @return InterpolateVideoFrameResponse
*/
async function interpolateVideoFrameWithOptions(request: InterpolateVideoFrameRequest, runtime: Util.RuntimeOptions): InterpolateVideoFrameResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.bitrate)) {
body['Bitrate'] = request.bitrate;
}
if (!Util.isUnset(request.frameRate)) {
body['FrameRate'] = request.frameRate;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'InterpolateVideoFrame',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request InterpolateVideoFrameRequest
* @return InterpolateVideoFrameResponse
*/
async function interpolateVideoFrame(request: InterpolateVideoFrameRequest): InterpolateVideoFrameResponse {
var runtime = new Util.RuntimeOptions{};
return interpolateVideoFrameWithOptions(request, runtime);
}
async function interpolateVideoFrameAdvance(request: InterpolateVideoFrameAdvanceRequest, runtime: Util.RuntimeOptions): InterpolateVideoFrameResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var interpolateVideoFrameReq = new InterpolateVideoFrameRequest{};
OpenApiUtil.convert(request, interpolateVideoFrameReq);
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
interpolateVideoFrameReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var interpolateVideoFrameResp = interpolateVideoFrameWithOptions(interpolateVideoFrameReq, runtime);
return interpolateVideoFrameResp;
}
model MergeVideoFaceRequest {
addWatermark?: boolean(name='AddWatermark'),
enhance?: boolean(name='Enhance'),
referenceURL?: string(name='ReferenceURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-pic1.png'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace1.mp4'),
watermarkType?: string(name='WatermarkType'),
}
model MergeVideoFaceAdvanceRequest {
addWatermark?: boolean(name='AddWatermark'),
enhance?: boolean(name='Enhance'),
referenceURLObject?: readable(name='ReferenceURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-pic1.png'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace1.mp4'),
watermarkType?: string(name='WatermarkType'),
}
model MergeVideoFaceResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/A657011C-82B4-4705-A5DB-69B18B7CE89D.mp4?Expires=1606378308&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=Hl3cq5XedTGCscOSr0OGVxAS2o****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='DEF90E76-B62D-45EF-8835-CA3C83842B18'),
}
model MergeVideoFaceResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: MergeVideoFaceResponseBody(name='body'),
}
/**
* @param request MergeVideoFaceRequest
* @param runtime runtime options for this request RuntimeOptions
* @return MergeVideoFaceResponse
*/
async function mergeVideoFaceWithOptions(request: MergeVideoFaceRequest, runtime: Util.RuntimeOptions): MergeVideoFaceResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.addWatermark)) {
body['AddWatermark'] = request.addWatermark;
}
if (!Util.isUnset(request.enhance)) {
body['Enhance'] = request.enhance;
}
if (!Util.isUnset(request.referenceURL)) {
body['ReferenceURL'] = request.referenceURL;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
if (!Util.isUnset(request.watermarkType)) {
body['WatermarkType'] = request.watermarkType;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'MergeVideoFace',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request MergeVideoFaceRequest
* @return MergeVideoFaceResponse
*/
async function mergeVideoFace(request: MergeVideoFaceRequest): MergeVideoFaceResponse {
var runtime = new Util.RuntimeOptions{};
return mergeVideoFaceWithOptions(request, runtime);
}
async function mergeVideoFaceAdvance(request: MergeVideoFaceAdvanceRequest, runtime: Util.RuntimeOptions): MergeVideoFaceResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var mergeVideoFaceReq = new MergeVideoFaceRequest{};
OpenApiUtil.convert(request, mergeVideoFaceReq);
if(!Util.isUnset(request.referenceURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.referenceURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
mergeVideoFaceReq.referenceURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
mergeVideoFaceReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var mergeVideoFaceResp = mergeVideoFaceWithOptions(mergeVideoFaceReq, runtime);
return mergeVideoFaceResp;
}
model MergeVideoModelFaceRequest {
addWatermark?: boolean(name='AddWatermark'),
enhance?: boolean(name='Enhance'),
faceImageURL?: string(name='FaceImageURL', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/ref/ref.jpg'),
mergeInfos?: [
{
imageURL?: string(name='ImageURL'),
templateFaceID?: string(name='TemplateFaceID'),
templateFaceURL?: string(name='TemplateFaceURL'),
}
](name='MergeInfos'),
templateId?: string(name='TemplateId', description='This parameter is required.', example='3bf2418c-7adf-4002-a9d6-2f7cf1889c0d'),
watermarkType?: string(name='WatermarkType'),
}
model MergeVideoModelFaceAdvanceRequest {
addWatermark?: boolean(name='AddWatermark'),
enhance?: boolean(name='Enhance'),
faceImageURLObject?: readable(name='FaceImageURL', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/ref/ref.jpg'),
mergeInfos?: [
{
imageURL?: string(name='ImageURL'),
templateFaceID?: string(name='TemplateFaceID'),
templateFaceURL?: string(name='TemplateFaceURL'),
}
](name='MergeInfos'),
templateId?: string(name='TemplateId', description='This parameter is required.', example='3bf2418c-7adf-4002-a9d6-2f7cf1889c0d'),
watermarkType?: string(name='WatermarkType'),
}
model MergeVideoModelFaceResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/334F180F-3B50-51CB-B4CB-9A86A542D3BC-5716-20210906-074905.mp4?Expires=1630916420&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=OEtNqVYxXRwkyO4BrsYVJ8q5bx****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='334F180F-3B50-51CB-B4CB-9A86A542D3BC'),
}
model MergeVideoModelFaceResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: MergeVideoModelFaceResponseBody(name='body'),
}
/**
* @summary 视频模板融合换脸
*
* @param request MergeVideoModelFaceRequest
* @param runtime runtime options for this request RuntimeOptions
* @return MergeVideoModelFaceResponse
*/
async function mergeVideoModelFaceWithOptions(request: MergeVideoModelFaceRequest, runtime: Util.RuntimeOptions): MergeVideoModelFaceResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.addWatermark)) {
body['AddWatermark'] = request.addWatermark;
}
if (!Util.isUnset(request.enhance)) {
body['Enhance'] = request.enhance;
}
if (!Util.isUnset(request.faceImageURL)) {
body['FaceImageURL'] = request.faceImageURL;
}
if (!Util.isUnset(request.mergeInfos)) {
body['MergeInfos'] = request.mergeInfos;
}
if (!Util.isUnset(request.templateId)) {
body['TemplateId'] = request.templateId;
}
if (!Util.isUnset(request.watermarkType)) {
body['WatermarkType'] = request.watermarkType;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'MergeVideoModelFace',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频模板融合换脸
*
* @param request MergeVideoModelFaceRequest
* @return MergeVideoModelFaceResponse
*/
async function mergeVideoModelFace(request: MergeVideoModelFaceRequest): MergeVideoModelFaceResponse {
var runtime = new Util.RuntimeOptions{};
return mergeVideoModelFaceWithOptions(request, runtime);
}
async function mergeVideoModelFaceAdvance(request: MergeVideoModelFaceAdvanceRequest, runtime: Util.RuntimeOptions): MergeVideoModelFaceResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var mergeVideoModelFaceReq = new MergeVideoModelFaceRequest{};
OpenApiUtil.convert(request, mergeVideoModelFaceReq);
if(!Util.isUnset(request.faceImageURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.faceImageURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
mergeVideoModelFaceReq.faceImageURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var mergeVideoModelFaceResp = mergeVideoModelFaceWithOptions(mergeVideoModelFaceReq, runtime);
return mergeVideoModelFaceResp;
}
model QueryFaceVideoTemplateRequest {
pageNo?: long(name='PageNo'),
pageSize?: long(name='PageSize', example='100'),
templateId?: string(name='TemplateId', example='3bf2418c-7adf-4002-a9d6-2f7cf1889c0d'),
}
model QueryFaceVideoTemplateResponseBody = {
data?: {
elements?: [
{
createTime?: string(name='CreateTime', example='2021-09-06 15:17:19'),
faceInfos?: [
{
templateFaceID?: string(name='TemplateFaceID'),
templateFaceURL?: string(name='TemplateFaceURL'),
}
](name='FaceInfos'),
templateId?: string(name='TemplateId', example='3bf2418c-7adf-4002-a9d6-2f7cf1889c0d'),
templateURL?: string(name='TemplateURL', example='http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/image-face-fusion/OriginUrl/user/2021-09-06/e4d6ecf6-8dc8-4dac-acb5-56a737ccbc06?Expires=1630914551&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=kBcLm66y7%2FZ3eIMgwXJg1zNP7k****'),
updateTime?: string(name='UpdateTime', example='2021-09-06 15:18:15'),
userId?: string(name='UserId', example='zhangsan'),
}
](name='Elements'),
total?: long(name='Total'),
}(name='Data'),
requestId?: string(name='RequestId', example='A06E3D21-890D-500B-97DA-D8B99D2DDDC4'),
}
model QueryFaceVideoTemplateResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: QueryFaceVideoTemplateResponseBody(name='body'),
}
/**
* @summary 视频人脸融合模板查询
*
* @param request QueryFaceVideoTemplateRequest
* @param runtime runtime options for this request RuntimeOptions
* @return QueryFaceVideoTemplateResponse
*/
async function queryFaceVideoTemplateWithOptions(request: QueryFaceVideoTemplateRequest, runtime: Util.RuntimeOptions): QueryFaceVideoTemplateResponse {
Util.validateModel(request);
var query = {};
if (!Util.isUnset(request.pageNo)) {
query['PageNo'] = request.pageNo;
}
if (!Util.isUnset(request.pageSize)) {
query['PageSize'] = request.pageSize;
}
if (!Util.isUnset(request.templateId)) {
query['TemplateId'] = request.templateId;
}
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
};
var params = new OpenApi.Params{
action = 'QueryFaceVideoTemplate',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频人脸融合模板查询
*
* @param request QueryFaceVideoTemplateRequest
* @return QueryFaceVideoTemplateResponse
*/
async function queryFaceVideoTemplate(request: QueryFaceVideoTemplateRequest): QueryFaceVideoTemplateResponse {
var runtime = new Util.RuntimeOptions{};
return queryFaceVideoTemplateWithOptions(request, runtime);
}
model ReduceVideoNoiseRequest {
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxx/shang/video/SD%289516100%29.mp4'),
}
model ReduceVideoNoiseAdvanceRequest {
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxx/shang/video/SD%289516100%29.mp4'),
}
model ReduceVideoNoiseResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://vibktprfx-prod-prod-xstream-cn-shanghai.oss-cn-shanghai.aliyuncs.com/xstream-framework/upload_result_video_2023-02-10_09.45.55.mp4?Expires=1675995564&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=aIXTeM4IU4nARjy3SNA3YGhhqj****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='d21a2afa-4d52-4bca-803b-e65028146603'),
}
model ReduceVideoNoiseResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ReduceVideoNoiseResponseBody(name='body'),
}
/**
* @summary 视频降噪
*
* @param request ReduceVideoNoiseRequest
* @param runtime runtime options for this request RuntimeOptions
* @return ReduceVideoNoiseResponse
*/
async function reduceVideoNoiseWithOptions(request: ReduceVideoNoiseRequest, runtime: Util.RuntimeOptions): ReduceVideoNoiseResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'ReduceVideoNoise',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @summary 视频降噪
*
* @param request ReduceVideoNoiseRequest
* @return ReduceVideoNoiseResponse
*/
async function reduceVideoNoise(request: ReduceVideoNoiseRequest): ReduceVideoNoiseResponse {
var runtime = new Util.RuntimeOptions{};
return reduceVideoNoiseWithOptions(request, runtime);
}
async function reduceVideoNoiseAdvance(request: ReduceVideoNoiseAdvanceRequest, runtime: Util.RuntimeOptions): ReduceVideoNoiseResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var reduceVideoNoiseReq = new ReduceVideoNoiseRequest{};
OpenApiUtil.convert(request, reduceVideoNoiseReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
reduceVideoNoiseReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var reduceVideoNoiseResp = reduceVideoNoiseWithOptions(reduceVideoNoiseReq, runtime);
return reduceVideoNoiseResp;
}
model SuperResolveVideoRequest {
bitRate?: int32(name='BitRate', example='5'),
videoUrl?: string(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/SuperResolveVideo/SuperResolveVideo2.mp4'),
}
model SuperResolveVideoAdvanceRequest {
bitRate?: int32(name='BitRate', example='5'),
videoUrlObject?: readable(name='VideoUrl', description='This parameter is required.', example='http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/SuperResolveVideo/SuperResolveVideo2.mp4'),
}
model SuperResolveVideoResponseBody = {
data?: {
videoUrl?: string(name='VideoUrl', example='http://algo-app-aic-vd-cn-shanghai-prod.oss-cn-shanghai.aliyuncs.com/video-super-resolution/2020-03-20-12/12%3A11-UlLVELFzIy5EAyEh.mp4?Expires=1584708132&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=0V8yKrCVybC4KIPtRuGKJDJaQT****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='186AC396-0EEC-46F1-AAA1-BF3585227427'),
}
model SuperResolveVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: SuperResolveVideoResponseBody(name='body'),
}
/**
* @param request SuperResolveVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return SuperResolveVideoResponse
*/
async function superResolveVideoWithOptions(request: SuperResolveVideoRequest, runtime: Util.RuntimeOptions): SuperResolveVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.bitRate)) {
body['BitRate'] = request.bitRate;
}
if (!Util.isUnset(request.videoUrl)) {
body['VideoUrl'] = request.videoUrl;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'SuperResolveVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request SuperResolveVideoRequest
* @return SuperResolveVideoResponse
*/
async function superResolveVideo(request: SuperResolveVideoRequest): SuperResolveVideoResponse {
var runtime = new Util.RuntimeOptions{};
return superResolveVideoWithOptions(request, runtime);
}
async function superResolveVideoAdvance(request: SuperResolveVideoAdvanceRequest, runtime: Util.RuntimeOptions): SuperResolveVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var superResolveVideoReq = new SuperResolveVideoRequest{};
OpenApiUtil.convert(request, superResolveVideoReq);
if(!Util.isUnset(request.videoUrlObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoUrlObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
superResolveVideoReq.videoUrl = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var superResolveVideoResp = superResolveVideoWithOptions(superResolveVideoReq, runtime);
return superResolveVideoResp;
}
model ToneSdrVideoRequest {
bitrate?: int32(name='Bitrate', example='30'),
recolorModel?: string(name='RecolorModel', example='auto_l2'),
videoURL?: string(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model ToneSdrVideoAdvanceRequest {
bitrate?: int32(name='Bitrate', example='30'),
recolorModel?: string(name='RecolorModel', example='auto_l2'),
videoURLObject?: readable(name='VideoURL', description='This parameter is required.', example='https://invi-label.oss-cn-shanghai.aliyuncs.com/label/temp/faceswap/test_for_api/xxxx.mp4'),
}
model ToneSdrVideoResponseBody = {
data?: {
videoURL?: string(name='VideoURL', example='http://vibktprfx-prod-prod-aic-vd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/sdr-color-enhance/20-12-22/SxBKgwBhlObusG20_20-12-22-07-59-45.mp4?Expires=1608625795&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=maoOZ52y7U9ZuL2KqI0IfGq8%2FR****'),
}(name='Data'),
message?: string(name='Message'),
requestId?: string(name='RequestId', example='89B5AFF1-8A64-4F76-B391-56AD7D22DE35'),
}
model ToneSdrVideoResponse = {
headers?: map[string]string(name='headers'),
statusCode?: int32(name='statusCode'),
body?: ToneSdrVideoResponseBody(name='body'),
}
/**
* @param request ToneSdrVideoRequest
* @param runtime runtime options for this request RuntimeOptions
* @return ToneSdrVideoResponse
*/
async function toneSdrVideoWithOptions(request: ToneSdrVideoRequest, runtime: Util.RuntimeOptions): ToneSdrVideoResponse {
Util.validateModel(request);
var body : map[string]any = {};
if (!Util.isUnset(request.bitrate)) {
body['Bitrate'] = request.bitrate;
}
if (!Util.isUnset(request.recolorModel)) {
body['RecolorModel'] = request.recolorModel;
}
if (!Util.isUnset(request.videoURL)) {
body['VideoURL'] = request.videoURL;
}
var req = new OpenApi.OpenApiRequest{
body = OpenApiUtil.parseToMap(body),
};
var params = new OpenApi.Params{
action = 'ToneSdrVideo',
version = '2020-03-20',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'formData',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
/**
* @param request ToneSdrVideoRequest
* @return ToneSdrVideoResponse
*/
async function toneSdrVideo(request: ToneSdrVideoRequest): ToneSdrVideoResponse {
var runtime = new Util.RuntimeOptions{};
return toneSdrVideoWithOptions(request, runtime);
}
async function toneSdrVideoAdvance(request: ToneSdrVideoAdvanceRequest, runtime: Util.RuntimeOptions): ToneSdrVideoResponse {
// Step 0: init client
var accessKeyId = @credential.getAccessKeyId();
var accessKeySecret = @credential.getAccessKeySecret();
var securityToken = @credential.getSecurityToken();
var credentialType = @credential.getType();
var openPlatformEndpoint = @openPlatformEndpoint;
if(Util.empty(openPlatformEndpoint)) {
openPlatformEndpoint ='openplatform.aliyuncs.com';
}
if(Util.isUnset(credentialType)) {
credentialType ='access_key';
}
var authConfig = new OpenApi.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
securityToken = securityToken,
type = credentialType,
endpoint = openPlatformEndpoint,
protocol = @protocol,
regionId = @regionId,
};
var authClient = new OpenPlatform(authConfig);
var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{
product = 'videoenhan',
regionId = @regionId,
};
var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{};
var ossConfig = new OSS.Config{
accessKeyId = accessKeyId,
accessKeySecret = accessKeySecret,
type = 'access_key',
protocol = @protocol,
regionId = @regionId,
};
var ossClient : OSS = new OSS(ossConfig);
var fileObj = new FileForm.FileField{};
var ossHeader = new OSS.PostObjectRequest.header{};
var uploadRequest = new OSS.PostObjectRequest{};
var ossRuntime = new OSSUtil.RuntimeOptions{};
OpenApiUtil.convert(runtime, ossRuntime);
var toneSdrVideoReq = new ToneSdrVideoRequest{};
OpenApiUtil.convert(request, toneSdrVideoReq);
if(!Util.isUnset(request.videoURLObject)) {
authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime);
ossConfig.accessKeyId = authResponse.body.accessKeyId;
ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType);
ossClient = new OSS(ossConfig);
fileObj = new FileForm.FileField{
filename = authResponse.body.objectKey,
content = request.videoURLObject,
contentType = '',
};
ossHeader = new OSS.PostObjectRequest.header{
accessKeyId = authResponse.body.accessKeyId,
policy = authResponse.body.encodedPolicy,
signature = authResponse.body.signature,
key = authResponse.body.objectKey,
file = fileObj,
successActionStatus = '201',
};
uploadRequest = new OSS.PostObjectRequest{
bucketName = authResponse.body.bucket,
header = ossHeader,
};
ossClient.postObject(uploadRequest, ossRuntime);
toneSdrVideoReq.videoURL = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`;
}
var toneSdrVideoResp = toneSdrVideoWithOptions(toneSdrVideoReq, runtime);
return toneSdrVideoResp;
}