videoenhan-20200320/core/Client.cs (4,752 lines of code) (raw):

// This file is auto-generated, don't edit it. Thanks. using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Tea; using Tea.Utils; using AlibabaCloud.SDK.Videoenhan20200320.Models; namespace AlibabaCloud.SDK.Videoenhan20200320 { public class Client : AlibabaCloud.OpenApiClient.Client { public Client(AlibabaCloud.OpenApiClient.Models.Config config): base(config) { this._endpointRule = "regional"; CheckConfig(config); this._endpoint = GetEndpoint("videoenhan", _regionId, _endpointRule, _network, _suffix, _endpointMap, _endpoint); } public string GetEndpoint(string productId, string regionId, string endpointRule, string network, string suffix, Dictionary<string, string> endpointMap, string endpoint) { if (!AlibabaCloud.TeaUtil.Common.Empty(endpoint)) { return endpoint; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(endpointMap) && !AlibabaCloud.TeaUtil.Common.Empty(endpointMap.Get(regionId))) { return endpointMap.Get(regionId); } return AlibabaCloud.EndpointUtil.Common.GetEndpointRules(productId, regionId, endpointRule, network, suffix); } /** * @param request AbstractEcommerceVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return AbstractEcommerceVideoResponse */ public AbstractEcommerceVideoResponse AbstractEcommerceVideoWithOptions(AbstractEcommerceVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Duration)) { body["Duration"] = request.Duration; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AbstractEcommerceVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AbstractEcommerceVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request AbstractEcommerceVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return AbstractEcommerceVideoResponse */ public async Task<AbstractEcommerceVideoResponse> AbstractEcommerceVideoWithOptionsAsync(AbstractEcommerceVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Duration)) { body["Duration"] = request.Duration; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AbstractEcommerceVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AbstractEcommerceVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request AbstractEcommerceVideoRequest * @return AbstractEcommerceVideoResponse */ public AbstractEcommerceVideoResponse AbstractEcommerceVideo(AbstractEcommerceVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return AbstractEcommerceVideoWithOptions(request, runtime); } /** * @param request AbstractEcommerceVideoRequest * @return AbstractEcommerceVideoResponse */ public async Task<AbstractEcommerceVideoResponse> AbstractEcommerceVideoAsync(AbstractEcommerceVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await AbstractEcommerceVideoWithOptionsAsync(request, runtime); } public AbstractEcommerceVideoResponse AbstractEcommerceVideoAdvance(AbstractEcommerceVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AbstractEcommerceVideoRequest abstractEcommerceVideoReq = new AbstractEcommerceVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, abstractEcommerceVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); abstractEcommerceVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AbstractEcommerceVideoResponse abstractEcommerceVideoResp = AbstractEcommerceVideoWithOptions(abstractEcommerceVideoReq, runtime); return abstractEcommerceVideoResp; } public async Task<AbstractEcommerceVideoResponse> AbstractEcommerceVideoAdvanceAsync(AbstractEcommerceVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AbstractEcommerceVideoRequest abstractEcommerceVideoReq = new AbstractEcommerceVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, abstractEcommerceVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); abstractEcommerceVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AbstractEcommerceVideoResponse abstractEcommerceVideoResp = await AbstractEcommerceVideoWithOptionsAsync(abstractEcommerceVideoReq, runtime); return abstractEcommerceVideoResp; } /** * @param request AbstractFilmVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return AbstractFilmVideoResponse */ public AbstractFilmVideoResponse AbstractFilmVideoWithOptions(AbstractFilmVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Length)) { body["Length"] = request.Length; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AbstractFilmVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AbstractFilmVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request AbstractFilmVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return AbstractFilmVideoResponse */ public async Task<AbstractFilmVideoResponse> AbstractFilmVideoWithOptionsAsync(AbstractFilmVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Length)) { body["Length"] = request.Length; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AbstractFilmVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AbstractFilmVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request AbstractFilmVideoRequest * @return AbstractFilmVideoResponse */ public AbstractFilmVideoResponse AbstractFilmVideo(AbstractFilmVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return AbstractFilmVideoWithOptions(request, runtime); } /** * @param request AbstractFilmVideoRequest * @return AbstractFilmVideoResponse */ public async Task<AbstractFilmVideoResponse> AbstractFilmVideoAsync(AbstractFilmVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await AbstractFilmVideoWithOptionsAsync(request, runtime); } public AbstractFilmVideoResponse AbstractFilmVideoAdvance(AbstractFilmVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AbstractFilmVideoRequest abstractFilmVideoReq = new AbstractFilmVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, abstractFilmVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); abstractFilmVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AbstractFilmVideoResponse abstractFilmVideoResp = AbstractFilmVideoWithOptions(abstractFilmVideoReq, runtime); return abstractFilmVideoResp; } public async Task<AbstractFilmVideoResponse> AbstractFilmVideoAdvanceAsync(AbstractFilmVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AbstractFilmVideoRequest abstractFilmVideoReq = new AbstractFilmVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, abstractFilmVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); abstractFilmVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AbstractFilmVideoResponse abstractFilmVideoResp = await AbstractFilmVideoWithOptionsAsync(abstractFilmVideoReq, runtime); return abstractFilmVideoResp; } /** * @summary 视频人脸融合模板增加 * * @param request AddFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return AddFaceVideoTemplateResponse */ public AddFaceVideoTemplateResponse AddFaceVideoTemplateWithOptions(AddFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoScene)) { body["VideoScene"] = request.VideoScene; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AddFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AddFaceVideoTemplateResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频人脸融合模板增加 * * @param request AddFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return AddFaceVideoTemplateResponse */ public async Task<AddFaceVideoTemplateResponse> AddFaceVideoTemplateWithOptionsAsync(AddFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoScene)) { body["VideoScene"] = request.VideoScene; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AddFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AddFaceVideoTemplateResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频人脸融合模板增加 * * @param request AddFaceVideoTemplateRequest * @return AddFaceVideoTemplateResponse */ public AddFaceVideoTemplateResponse AddFaceVideoTemplate(AddFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return AddFaceVideoTemplateWithOptions(request, runtime); } /** * @summary 视频人脸融合模板增加 * * @param request AddFaceVideoTemplateRequest * @return AddFaceVideoTemplateResponse */ public async Task<AddFaceVideoTemplateResponse> AddFaceVideoTemplateAsync(AddFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await AddFaceVideoTemplateWithOptionsAsync(request, runtime); } public AddFaceVideoTemplateResponse AddFaceVideoTemplateAdvance(AddFaceVideoTemplateAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AddFaceVideoTemplateRequest addFaceVideoTemplateReq = new AddFaceVideoTemplateRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, addFaceVideoTemplateReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); addFaceVideoTemplateReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AddFaceVideoTemplateResponse addFaceVideoTemplateResp = AddFaceVideoTemplateWithOptions(addFaceVideoTemplateReq, runtime); return addFaceVideoTemplateResp; } public async Task<AddFaceVideoTemplateResponse> AddFaceVideoTemplateAdvanceAsync(AddFaceVideoTemplateAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AddFaceVideoTemplateRequest addFaceVideoTemplateReq = new AddFaceVideoTemplateRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, addFaceVideoTemplateReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); addFaceVideoTemplateReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AddFaceVideoTemplateResponse addFaceVideoTemplateResp = await AddFaceVideoTemplateWithOptionsAsync(addFaceVideoTemplateReq, runtime); return addFaceVideoTemplateResp; } /** * @param request AdjustVideoColorRequest * @param runtime runtime options for this request RuntimeOptions * @return AdjustVideoColorResponse */ public AdjustVideoColorResponse AdjustVideoColorWithOptions(AdjustVideoColorRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Mode)) { body["Mode"] = request.Mode; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoBitrate)) { body["VideoBitrate"] = request.VideoBitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoCodec)) { body["VideoCodec"] = request.VideoCodec; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoFormat)) { body["VideoFormat"] = request.VideoFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AdjustVideoColor", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AdjustVideoColorResponse>(CallApi(params_, req, runtime)); } /** * @param request AdjustVideoColorRequest * @param runtime runtime options for this request RuntimeOptions * @return AdjustVideoColorResponse */ public async Task<AdjustVideoColorResponse> AdjustVideoColorWithOptionsAsync(AdjustVideoColorRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Mode)) { body["Mode"] = request.Mode; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoBitrate)) { body["VideoBitrate"] = request.VideoBitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoCodec)) { body["VideoCodec"] = request.VideoCodec; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoFormat)) { body["VideoFormat"] = request.VideoFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "AdjustVideoColor", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<AdjustVideoColorResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request AdjustVideoColorRequest * @return AdjustVideoColorResponse */ public AdjustVideoColorResponse AdjustVideoColor(AdjustVideoColorRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return AdjustVideoColorWithOptions(request, runtime); } /** * @param request AdjustVideoColorRequest * @return AdjustVideoColorResponse */ public async Task<AdjustVideoColorResponse> AdjustVideoColorAsync(AdjustVideoColorRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await AdjustVideoColorWithOptionsAsync(request, runtime); } public AdjustVideoColorResponse AdjustVideoColorAdvance(AdjustVideoColorAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AdjustVideoColorRequest adjustVideoColorReq = new AdjustVideoColorRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, adjustVideoColorReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); adjustVideoColorReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AdjustVideoColorResponse adjustVideoColorResp = AdjustVideoColorWithOptions(adjustVideoColorReq, runtime); return adjustVideoColorResp; } public async Task<AdjustVideoColorResponse> AdjustVideoColorAdvanceAsync(AdjustVideoColorAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); AdjustVideoColorRequest adjustVideoColorReq = new AdjustVideoColorRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, adjustVideoColorReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); adjustVideoColorReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } AdjustVideoColorResponse adjustVideoColorResp = await AdjustVideoColorWithOptionsAsync(adjustVideoColorReq, runtime); return adjustVideoColorResp; } /** * @param request ChangeVideoSizeRequest * @param runtime runtime options for this request RuntimeOptions * @return ChangeVideoSizeResponse */ public ChangeVideoSizeResponse ChangeVideoSizeWithOptions(ChangeVideoSizeRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.B)) { body["B"] = request.B; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.CropType)) { body["CropType"] = request.CropType; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FillType)) { body["FillType"] = request.FillType; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.G)) { body["G"] = request.G; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.R)) { body["R"] = request.R; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Tightness)) { body["Tightness"] = request.Tightness; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ChangeVideoSize", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ChangeVideoSizeResponse>(CallApi(params_, req, runtime)); } /** * @param request ChangeVideoSizeRequest * @param runtime runtime options for this request RuntimeOptions * @return ChangeVideoSizeResponse */ public async Task<ChangeVideoSizeResponse> ChangeVideoSizeWithOptionsAsync(ChangeVideoSizeRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.B)) { body["B"] = request.B; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.CropType)) { body["CropType"] = request.CropType; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FillType)) { body["FillType"] = request.FillType; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.G)) { body["G"] = request.G; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.R)) { body["R"] = request.R; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Tightness)) { body["Tightness"] = request.Tightness; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ChangeVideoSize", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ChangeVideoSizeResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request ChangeVideoSizeRequest * @return ChangeVideoSizeResponse */ public ChangeVideoSizeResponse ChangeVideoSize(ChangeVideoSizeRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return ChangeVideoSizeWithOptions(request, runtime); } /** * @param request ChangeVideoSizeRequest * @return ChangeVideoSizeResponse */ public async Task<ChangeVideoSizeResponse> ChangeVideoSizeAsync(ChangeVideoSizeRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await ChangeVideoSizeWithOptionsAsync(request, runtime); } public ChangeVideoSizeResponse ChangeVideoSizeAdvance(ChangeVideoSizeAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ChangeVideoSizeRequest changeVideoSizeReq = new ChangeVideoSizeRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, changeVideoSizeReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); changeVideoSizeReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ChangeVideoSizeResponse changeVideoSizeResp = ChangeVideoSizeWithOptions(changeVideoSizeReq, runtime); return changeVideoSizeResp; } public async Task<ChangeVideoSizeResponse> ChangeVideoSizeAdvanceAsync(ChangeVideoSizeAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ChangeVideoSizeRequest changeVideoSizeReq = new ChangeVideoSizeRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, changeVideoSizeReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); changeVideoSizeReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ChangeVideoSizeResponse changeVideoSizeResp = await ChangeVideoSizeWithOptionsAsync(changeVideoSizeReq, runtime); return changeVideoSizeResp; } /** * @param request ConvertHdrVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return ConvertHdrVideoResponse */ public ConvertHdrVideoResponse ConvertHdrVideoWithOptions(ConvertHdrVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.HDRFormat)) { body["HDRFormat"] = request.HDRFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MaxIlluminance)) { body["MaxIlluminance"] = request.MaxIlluminance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ConvertHdrVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ConvertHdrVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request ConvertHdrVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return ConvertHdrVideoResponse */ public async Task<ConvertHdrVideoResponse> ConvertHdrVideoWithOptionsAsync(ConvertHdrVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.HDRFormat)) { body["HDRFormat"] = request.HDRFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MaxIlluminance)) { body["MaxIlluminance"] = request.MaxIlluminance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ConvertHdrVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ConvertHdrVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request ConvertHdrVideoRequest * @return ConvertHdrVideoResponse */ public ConvertHdrVideoResponse ConvertHdrVideo(ConvertHdrVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return ConvertHdrVideoWithOptions(request, runtime); } /** * @param request ConvertHdrVideoRequest * @return ConvertHdrVideoResponse */ public async Task<ConvertHdrVideoResponse> ConvertHdrVideoAsync(ConvertHdrVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await ConvertHdrVideoWithOptionsAsync(request, runtime); } public ConvertHdrVideoResponse ConvertHdrVideoAdvance(ConvertHdrVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ConvertHdrVideoRequest convertHdrVideoReq = new ConvertHdrVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, convertHdrVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); convertHdrVideoReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ConvertHdrVideoResponse convertHdrVideoResp = ConvertHdrVideoWithOptions(convertHdrVideoReq, runtime); return convertHdrVideoResp; } public async Task<ConvertHdrVideoResponse> ConvertHdrVideoAdvanceAsync(ConvertHdrVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ConvertHdrVideoRequest convertHdrVideoReq = new ConvertHdrVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, convertHdrVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); convertHdrVideoReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ConvertHdrVideoResponse convertHdrVideoResp = await ConvertHdrVideoWithOptionsAsync(convertHdrVideoReq, runtime); return convertHdrVideoResp; } /** * @summary 视频人脸融合模板删除 * * @param request DeleteFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteFaceVideoTemplateResponse */ public DeleteFaceVideoTemplateResponse DeleteFaceVideoTemplateWithOptions(DeleteFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { body["TemplateId"] = request.TemplateId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "DeleteFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<DeleteFaceVideoTemplateResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频人脸融合模板删除 * * @param request DeleteFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteFaceVideoTemplateResponse */ public async Task<DeleteFaceVideoTemplateResponse> DeleteFaceVideoTemplateWithOptionsAsync(DeleteFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { body["TemplateId"] = request.TemplateId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "DeleteFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<DeleteFaceVideoTemplateResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频人脸融合模板删除 * * @param request DeleteFaceVideoTemplateRequest * @return DeleteFaceVideoTemplateResponse */ public DeleteFaceVideoTemplateResponse DeleteFaceVideoTemplate(DeleteFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return DeleteFaceVideoTemplateWithOptions(request, runtime); } /** * @summary 视频人脸融合模板删除 * * @param request DeleteFaceVideoTemplateRequest * @return DeleteFaceVideoTemplateResponse */ public async Task<DeleteFaceVideoTemplateResponse> DeleteFaceVideoTemplateAsync(DeleteFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await DeleteFaceVideoTemplateWithOptionsAsync(request, runtime); } /** * @summary 视频人像增强 * * @param request EnhancePortraitVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return EnhancePortraitVideoResponse */ public EnhancePortraitVideoResponse EnhancePortraitVideoWithOptions(EnhancePortraitVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EnhancePortraitVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EnhancePortraitVideoResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频人像增强 * * @param request EnhancePortraitVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return EnhancePortraitVideoResponse */ public async Task<EnhancePortraitVideoResponse> EnhancePortraitVideoWithOptionsAsync(EnhancePortraitVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EnhancePortraitVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EnhancePortraitVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频人像增强 * * @param request EnhancePortraitVideoRequest * @return EnhancePortraitVideoResponse */ public EnhancePortraitVideoResponse EnhancePortraitVideo(EnhancePortraitVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return EnhancePortraitVideoWithOptions(request, runtime); } /** * @summary 视频人像增强 * * @param request EnhancePortraitVideoRequest * @return EnhancePortraitVideoResponse */ public async Task<EnhancePortraitVideoResponse> EnhancePortraitVideoAsync(EnhancePortraitVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await EnhancePortraitVideoWithOptionsAsync(request, runtime); } public EnhancePortraitVideoResponse EnhancePortraitVideoAdvance(EnhancePortraitVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EnhancePortraitVideoRequest enhancePortraitVideoReq = new EnhancePortraitVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, enhancePortraitVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); enhancePortraitVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EnhancePortraitVideoResponse enhancePortraitVideoResp = EnhancePortraitVideoWithOptions(enhancePortraitVideoReq, runtime); return enhancePortraitVideoResp; } public async Task<EnhancePortraitVideoResponse> EnhancePortraitVideoAdvanceAsync(EnhancePortraitVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EnhancePortraitVideoRequest enhancePortraitVideoReq = new EnhancePortraitVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, enhancePortraitVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); enhancePortraitVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EnhancePortraitVideoResponse enhancePortraitVideoResp = await EnhancePortraitVideoWithOptionsAsync(enhancePortraitVideoReq, runtime); return enhancePortraitVideoResp; } /** * @param request EnhanceVideoQualityRequest * @param runtime runtime options for this request RuntimeOptions * @return EnhanceVideoQualityResponse */ public EnhanceVideoQualityResponse EnhanceVideoQualityWithOptions(EnhanceVideoQualityRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FrameRate)) { body["FrameRate"] = request.FrameRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.HDRFormat)) { body["HDRFormat"] = request.HDRFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MaxIlluminance)) { body["MaxIlluminance"] = request.MaxIlluminance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OutPutHeight)) { body["OutPutHeight"] = request.OutPutHeight; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OutPutWidth)) { body["OutPutWidth"] = request.OutPutWidth; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EnhanceVideoQuality", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EnhanceVideoQualityResponse>(CallApi(params_, req, runtime)); } /** * @param request EnhanceVideoQualityRequest * @param runtime runtime options for this request RuntimeOptions * @return EnhanceVideoQualityResponse */ public async Task<EnhanceVideoQualityResponse> EnhanceVideoQualityWithOptionsAsync(EnhanceVideoQualityRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FrameRate)) { body["FrameRate"] = request.FrameRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.HDRFormat)) { body["HDRFormat"] = request.HDRFormat; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MaxIlluminance)) { body["MaxIlluminance"] = request.MaxIlluminance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OutPutHeight)) { body["OutPutHeight"] = request.OutPutHeight; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OutPutWidth)) { body["OutPutWidth"] = request.OutPutWidth; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EnhanceVideoQuality", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EnhanceVideoQualityResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request EnhanceVideoQualityRequest * @return EnhanceVideoQualityResponse */ public EnhanceVideoQualityResponse EnhanceVideoQuality(EnhanceVideoQualityRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return EnhanceVideoQualityWithOptions(request, runtime); } /** * @param request EnhanceVideoQualityRequest * @return EnhanceVideoQualityResponse */ public async Task<EnhanceVideoQualityResponse> EnhanceVideoQualityAsync(EnhanceVideoQualityRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await EnhanceVideoQualityWithOptionsAsync(request, runtime); } public EnhanceVideoQualityResponse EnhanceVideoQualityAdvance(EnhanceVideoQualityAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EnhanceVideoQualityRequest enhanceVideoQualityReq = new EnhanceVideoQualityRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, enhanceVideoQualityReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); enhanceVideoQualityReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EnhanceVideoQualityResponse enhanceVideoQualityResp = EnhanceVideoQualityWithOptions(enhanceVideoQualityReq, runtime); return enhanceVideoQualityResp; } public async Task<EnhanceVideoQualityResponse> EnhanceVideoQualityAdvanceAsync(EnhanceVideoQualityAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EnhanceVideoQualityRequest enhanceVideoQualityReq = new EnhanceVideoQualityRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, enhanceVideoQualityReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); enhanceVideoQualityReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EnhanceVideoQualityResponse enhanceVideoQualityResp = await EnhanceVideoQualityWithOptionsAsync(enhanceVideoQualityReq, runtime); return enhanceVideoQualityResp; } /** * @param request EraseVideoLogoRequest * @param runtime runtime options for this request RuntimeOptions * @return EraseVideoLogoResponse */ public EraseVideoLogoResponse EraseVideoLogoWithOptions(EraseVideoLogoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Boxes)) { body["Boxes"] = request.Boxes; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EraseVideoLogo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EraseVideoLogoResponse>(CallApi(params_, req, runtime)); } /** * @param request EraseVideoLogoRequest * @param runtime runtime options for this request RuntimeOptions * @return EraseVideoLogoResponse */ public async Task<EraseVideoLogoResponse> EraseVideoLogoWithOptionsAsync(EraseVideoLogoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Boxes)) { body["Boxes"] = request.Boxes; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EraseVideoLogo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EraseVideoLogoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request EraseVideoLogoRequest * @return EraseVideoLogoResponse */ public EraseVideoLogoResponse EraseVideoLogo(EraseVideoLogoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return EraseVideoLogoWithOptions(request, runtime); } /** * @param request EraseVideoLogoRequest * @return EraseVideoLogoResponse */ public async Task<EraseVideoLogoResponse> EraseVideoLogoAsync(EraseVideoLogoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await EraseVideoLogoWithOptionsAsync(request, runtime); } public EraseVideoLogoResponse EraseVideoLogoAdvance(EraseVideoLogoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EraseVideoLogoRequest eraseVideoLogoReq = new EraseVideoLogoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, eraseVideoLogoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); eraseVideoLogoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EraseVideoLogoResponse eraseVideoLogoResp = EraseVideoLogoWithOptions(eraseVideoLogoReq, runtime); return eraseVideoLogoResp; } public async Task<EraseVideoLogoResponse> EraseVideoLogoAdvanceAsync(EraseVideoLogoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EraseVideoLogoRequest eraseVideoLogoReq = new EraseVideoLogoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, eraseVideoLogoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); eraseVideoLogoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EraseVideoLogoResponse eraseVideoLogoResp = await EraseVideoLogoWithOptionsAsync(eraseVideoLogoReq, runtime); return eraseVideoLogoResp; } /** * @param request EraseVideoSubtitlesRequest * @param runtime runtime options for this request RuntimeOptions * @return EraseVideoSubtitlesResponse */ public EraseVideoSubtitlesResponse EraseVideoSubtitlesWithOptions(EraseVideoSubtitlesRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BH)) { body["BH"] = request.BH; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BW)) { body["BW"] = request.BW; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BX)) { body["BX"] = request.BX; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BY)) { body["BY"] = request.BY; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EraseVideoSubtitles", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EraseVideoSubtitlesResponse>(CallApi(params_, req, runtime)); } /** * @param request EraseVideoSubtitlesRequest * @param runtime runtime options for this request RuntimeOptions * @return EraseVideoSubtitlesResponse */ public async Task<EraseVideoSubtitlesResponse> EraseVideoSubtitlesWithOptionsAsync(EraseVideoSubtitlesRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BH)) { body["BH"] = request.BH; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BW)) { body["BW"] = request.BW; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BX)) { body["BX"] = request.BX; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BY)) { body["BY"] = request.BY; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "EraseVideoSubtitles", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<EraseVideoSubtitlesResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request EraseVideoSubtitlesRequest * @return EraseVideoSubtitlesResponse */ public EraseVideoSubtitlesResponse EraseVideoSubtitles(EraseVideoSubtitlesRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return EraseVideoSubtitlesWithOptions(request, runtime); } /** * @param request EraseVideoSubtitlesRequest * @return EraseVideoSubtitlesResponse */ public async Task<EraseVideoSubtitlesResponse> EraseVideoSubtitlesAsync(EraseVideoSubtitlesRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await EraseVideoSubtitlesWithOptionsAsync(request, runtime); } public EraseVideoSubtitlesResponse EraseVideoSubtitlesAdvance(EraseVideoSubtitlesAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EraseVideoSubtitlesRequest eraseVideoSubtitlesReq = new EraseVideoSubtitlesRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, eraseVideoSubtitlesReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); eraseVideoSubtitlesReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EraseVideoSubtitlesResponse eraseVideoSubtitlesResp = EraseVideoSubtitlesWithOptions(eraseVideoSubtitlesReq, runtime); return eraseVideoSubtitlesResp; } public async Task<EraseVideoSubtitlesResponse> EraseVideoSubtitlesAdvanceAsync(EraseVideoSubtitlesAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); EraseVideoSubtitlesRequest eraseVideoSubtitlesReq = new EraseVideoSubtitlesRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, eraseVideoSubtitlesReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); eraseVideoSubtitlesReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } EraseVideoSubtitlesResponse eraseVideoSubtitlesResp = await EraseVideoSubtitlesWithOptionsAsync(eraseVideoSubtitlesReq, runtime); return eraseVideoSubtitlesResp; } /** * @summary 视频人像卡通化 * * @param request GenerateHumanAnimeStyleVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return GenerateHumanAnimeStyleVideoResponse */ public GenerateHumanAnimeStyleVideoResponse GenerateHumanAnimeStyleVideoWithOptions(GenerateHumanAnimeStyleVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.CartoonStyle)) { body["CartoonStyle"] = request.CartoonStyle; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GenerateHumanAnimeStyleVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GenerateHumanAnimeStyleVideoResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频人像卡通化 * * @param request GenerateHumanAnimeStyleVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return GenerateHumanAnimeStyleVideoResponse */ public async Task<GenerateHumanAnimeStyleVideoResponse> GenerateHumanAnimeStyleVideoWithOptionsAsync(GenerateHumanAnimeStyleVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.CartoonStyle)) { body["CartoonStyle"] = request.CartoonStyle; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GenerateHumanAnimeStyleVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GenerateHumanAnimeStyleVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频人像卡通化 * * @param request GenerateHumanAnimeStyleVideoRequest * @return GenerateHumanAnimeStyleVideoResponse */ public GenerateHumanAnimeStyleVideoResponse GenerateHumanAnimeStyleVideo(GenerateHumanAnimeStyleVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return GenerateHumanAnimeStyleVideoWithOptions(request, runtime); } /** * @summary 视频人像卡通化 * * @param request GenerateHumanAnimeStyleVideoRequest * @return GenerateHumanAnimeStyleVideoResponse */ public async Task<GenerateHumanAnimeStyleVideoResponse> GenerateHumanAnimeStyleVideoAsync(GenerateHumanAnimeStyleVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await GenerateHumanAnimeStyleVideoWithOptionsAsync(request, runtime); } public GenerateHumanAnimeStyleVideoResponse GenerateHumanAnimeStyleVideoAdvance(GenerateHumanAnimeStyleVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); GenerateHumanAnimeStyleVideoRequest generateHumanAnimeStyleVideoReq = new GenerateHumanAnimeStyleVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, generateHumanAnimeStyleVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); generateHumanAnimeStyleVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } GenerateHumanAnimeStyleVideoResponse generateHumanAnimeStyleVideoResp = GenerateHumanAnimeStyleVideoWithOptions(generateHumanAnimeStyleVideoReq, runtime); return generateHumanAnimeStyleVideoResp; } public async Task<GenerateHumanAnimeStyleVideoResponse> GenerateHumanAnimeStyleVideoAdvanceAsync(GenerateHumanAnimeStyleVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); GenerateHumanAnimeStyleVideoRequest generateHumanAnimeStyleVideoReq = new GenerateHumanAnimeStyleVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, generateHumanAnimeStyleVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); generateHumanAnimeStyleVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } GenerateHumanAnimeStyleVideoResponse generateHumanAnimeStyleVideoResp = await GenerateHumanAnimeStyleVideoWithOptionsAsync(generateHumanAnimeStyleVideoReq, runtime); return generateHumanAnimeStyleVideoResp; } /** * @param request GenerateVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return GenerateVideoResponse */ public GenerateVideoResponse GenerateVideoWithOptions(GenerateVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Duration)) { body["Duration"] = request.Duration; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DurationAdaption)) { body["DurationAdaption"] = request.DurationAdaption; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FileList)) { body["FileList"] = request.FileList; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Mute)) { body["Mute"] = request.Mute; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PuzzleEffect)) { body["PuzzleEffect"] = request.PuzzleEffect; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Scene)) { body["Scene"] = request.Scene; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.SmartEffect)) { body["SmartEffect"] = request.SmartEffect; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Style)) { body["Style"] = request.Style; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TransitionStyle)) { body["TransitionStyle"] = request.TransitionStyle; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GenerateVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GenerateVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request GenerateVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return GenerateVideoResponse */ public async Task<GenerateVideoResponse> GenerateVideoWithOptionsAsync(GenerateVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Duration)) { body["Duration"] = request.Duration; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.DurationAdaption)) { body["DurationAdaption"] = request.DurationAdaption; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FileList)) { body["FileList"] = request.FileList; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Height)) { body["Height"] = request.Height; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Mute)) { body["Mute"] = request.Mute; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PuzzleEffect)) { body["PuzzleEffect"] = request.PuzzleEffect; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Scene)) { body["Scene"] = request.Scene; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.SmartEffect)) { body["SmartEffect"] = request.SmartEffect; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Style)) { body["Style"] = request.Style; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TransitionStyle)) { body["TransitionStyle"] = request.TransitionStyle; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Width)) { body["Width"] = request.Width; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GenerateVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GenerateVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request GenerateVideoRequest * @return GenerateVideoResponse */ public GenerateVideoResponse GenerateVideo(GenerateVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return GenerateVideoWithOptions(request, runtime); } /** * @param request GenerateVideoRequest * @return GenerateVideoResponse */ public async Task<GenerateVideoResponse> GenerateVideoAsync(GenerateVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await GenerateVideoWithOptionsAsync(request, runtime); } public GenerateVideoResponse GenerateVideoAdvance(GenerateVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); GenerateVideoRequest generateVideoReq = new GenerateVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, generateVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FileList)) { int? i0 = 0; foreach (var item0 in request.FileList) { if (!AlibabaCloud.TeaUtil.Common.IsUnset(item0.FileUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = item0.FileUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); GenerateVideoRequest.GenerateVideoRequestFileList tmp = generateVideoReq.FileList[i0.Value]; tmp.FileUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; i0 = AlibabaCloud.DarabonbaNumber.NumberUtil.Ltoi(AlibabaCloud.DarabonbaNumber.NumberUtil.Add(AlibabaCloud.DarabonbaNumber.NumberUtil.Itol(i0), AlibabaCloud.DarabonbaNumber.NumberUtil.Itol(1))); } } } GenerateVideoResponse generateVideoResp = GenerateVideoWithOptions(generateVideoReq, runtime); return generateVideoResp; } public async Task<GenerateVideoResponse> GenerateVideoAdvanceAsync(GenerateVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); GenerateVideoRequest generateVideoReq = new GenerateVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, generateVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FileList)) { int? i0 = 0; foreach (var item0 in request.FileList) { if (!AlibabaCloud.TeaUtil.Common.IsUnset(item0.FileUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = item0.FileUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); GenerateVideoRequest.GenerateVideoRequestFileList tmp = generateVideoReq.FileList[i0.Value]; tmp.FileUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; i0 = AlibabaCloud.DarabonbaNumber.NumberUtil.Ltoi(AlibabaCloud.DarabonbaNumber.NumberUtil.Add(AlibabaCloud.DarabonbaNumber.NumberUtil.Itol(i0), AlibabaCloud.DarabonbaNumber.NumberUtil.Itol(1))); } } } GenerateVideoResponse generateVideoResp = await GenerateVideoWithOptionsAsync(generateVideoReq, runtime); return generateVideoResp; } /** * @param request GetAsyncJobResultRequest * @param runtime runtime options for this request RuntimeOptions * @return GetAsyncJobResultResponse */ public GetAsyncJobResultResponse GetAsyncJobResultWithOptions(GetAsyncJobResultRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.JobId)) { body["JobId"] = request.JobId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GetAsyncJobResult", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GetAsyncJobResultResponse>(CallApi(params_, req, runtime)); } /** * @param request GetAsyncJobResultRequest * @param runtime runtime options for this request RuntimeOptions * @return GetAsyncJobResultResponse */ public async Task<GetAsyncJobResultResponse> GetAsyncJobResultWithOptionsAsync(GetAsyncJobResultRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.JobId)) { body["JobId"] = request.JobId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "GetAsyncJobResult", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<GetAsyncJobResultResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request GetAsyncJobResultRequest * @return GetAsyncJobResultResponse */ public GetAsyncJobResultResponse GetAsyncJobResult(GetAsyncJobResultRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return GetAsyncJobResultWithOptions(request, runtime); } /** * @param request GetAsyncJobResultRequest * @return GetAsyncJobResultResponse */ public async Task<GetAsyncJobResultResponse> GetAsyncJobResultAsync(GetAsyncJobResultRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await GetAsyncJobResultWithOptionsAsync(request, runtime); } /** * @param request InterpolateVideoFrameRequest * @param runtime runtime options for this request RuntimeOptions * @return InterpolateVideoFrameResponse */ public InterpolateVideoFrameResponse InterpolateVideoFrameWithOptions(InterpolateVideoFrameRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FrameRate)) { body["FrameRate"] = request.FrameRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "InterpolateVideoFrame", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<InterpolateVideoFrameResponse>(CallApi(params_, req, runtime)); } /** * @param request InterpolateVideoFrameRequest * @param runtime runtime options for this request RuntimeOptions * @return InterpolateVideoFrameResponse */ public async Task<InterpolateVideoFrameResponse> InterpolateVideoFrameWithOptionsAsync(InterpolateVideoFrameRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FrameRate)) { body["FrameRate"] = request.FrameRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "InterpolateVideoFrame", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<InterpolateVideoFrameResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request InterpolateVideoFrameRequest * @return InterpolateVideoFrameResponse */ public InterpolateVideoFrameResponse InterpolateVideoFrame(InterpolateVideoFrameRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return InterpolateVideoFrameWithOptions(request, runtime); } /** * @param request InterpolateVideoFrameRequest * @return InterpolateVideoFrameResponse */ public async Task<InterpolateVideoFrameResponse> InterpolateVideoFrameAsync(InterpolateVideoFrameRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await InterpolateVideoFrameWithOptionsAsync(request, runtime); } public InterpolateVideoFrameResponse InterpolateVideoFrameAdvance(InterpolateVideoFrameAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); InterpolateVideoFrameRequest interpolateVideoFrameReq = new InterpolateVideoFrameRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, interpolateVideoFrameReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); interpolateVideoFrameReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } InterpolateVideoFrameResponse interpolateVideoFrameResp = InterpolateVideoFrameWithOptions(interpolateVideoFrameReq, runtime); return interpolateVideoFrameResp; } public async Task<InterpolateVideoFrameResponse> InterpolateVideoFrameAdvanceAsync(InterpolateVideoFrameAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); InterpolateVideoFrameRequest interpolateVideoFrameReq = new InterpolateVideoFrameRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, interpolateVideoFrameReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); interpolateVideoFrameReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } InterpolateVideoFrameResponse interpolateVideoFrameResp = await InterpolateVideoFrameWithOptionsAsync(interpolateVideoFrameReq, runtime); return interpolateVideoFrameResp; } /** * @param request MergeVideoFaceRequest * @param runtime runtime options for this request RuntimeOptions * @return MergeVideoFaceResponse */ public MergeVideoFaceResponse MergeVideoFaceWithOptions(MergeVideoFaceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AddWatermark)) { body["AddWatermark"] = request.AddWatermark; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Enhance)) { body["Enhance"] = request.Enhance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ReferenceURL)) { body["ReferenceURL"] = request.ReferenceURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.WatermarkType)) { body["WatermarkType"] = request.WatermarkType; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "MergeVideoFace", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<MergeVideoFaceResponse>(CallApi(params_, req, runtime)); } /** * @param request MergeVideoFaceRequest * @param runtime runtime options for this request RuntimeOptions * @return MergeVideoFaceResponse */ public async Task<MergeVideoFaceResponse> MergeVideoFaceWithOptionsAsync(MergeVideoFaceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AddWatermark)) { body["AddWatermark"] = request.AddWatermark; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Enhance)) { body["Enhance"] = request.Enhance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ReferenceURL)) { body["ReferenceURL"] = request.ReferenceURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.WatermarkType)) { body["WatermarkType"] = request.WatermarkType; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "MergeVideoFace", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<MergeVideoFaceResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request MergeVideoFaceRequest * @return MergeVideoFaceResponse */ public MergeVideoFaceResponse MergeVideoFace(MergeVideoFaceRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return MergeVideoFaceWithOptions(request, runtime); } /** * @param request MergeVideoFaceRequest * @return MergeVideoFaceResponse */ public async Task<MergeVideoFaceResponse> MergeVideoFaceAsync(MergeVideoFaceRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await MergeVideoFaceWithOptionsAsync(request, runtime); } public MergeVideoFaceResponse MergeVideoFaceAdvance(MergeVideoFaceAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); MergeVideoFaceRequest mergeVideoFaceReq = new MergeVideoFaceRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, mergeVideoFaceReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ReferenceURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.ReferenceURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); mergeVideoFaceReq.ReferenceURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); mergeVideoFaceReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } MergeVideoFaceResponse mergeVideoFaceResp = MergeVideoFaceWithOptions(mergeVideoFaceReq, runtime); return mergeVideoFaceResp; } public async Task<MergeVideoFaceResponse> MergeVideoFaceAdvanceAsync(MergeVideoFaceAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); MergeVideoFaceRequest mergeVideoFaceReq = new MergeVideoFaceRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, mergeVideoFaceReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ReferenceURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.ReferenceURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); mergeVideoFaceReq.ReferenceURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); mergeVideoFaceReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } MergeVideoFaceResponse mergeVideoFaceResp = await MergeVideoFaceWithOptionsAsync(mergeVideoFaceReq, runtime); return mergeVideoFaceResp; } /** * @summary 视频模板融合换脸 * * @param request MergeVideoModelFaceRequest * @param runtime runtime options for this request RuntimeOptions * @return MergeVideoModelFaceResponse */ public MergeVideoModelFaceResponse MergeVideoModelFaceWithOptions(MergeVideoModelFaceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AddWatermark)) { body["AddWatermark"] = request.AddWatermark; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Enhance)) { body["Enhance"] = request.Enhance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FaceImageURL)) { body["FaceImageURL"] = request.FaceImageURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MergeInfos)) { body["MergeInfos"] = request.MergeInfos; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { body["TemplateId"] = request.TemplateId; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.WatermarkType)) { body["WatermarkType"] = request.WatermarkType; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "MergeVideoModelFace", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<MergeVideoModelFaceResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频模板融合换脸 * * @param request MergeVideoModelFaceRequest * @param runtime runtime options for this request RuntimeOptions * @return MergeVideoModelFaceResponse */ public async Task<MergeVideoModelFaceResponse> MergeVideoModelFaceWithOptionsAsync(MergeVideoModelFaceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.AddWatermark)) { body["AddWatermark"] = request.AddWatermark; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Enhance)) { body["Enhance"] = request.Enhance; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FaceImageURL)) { body["FaceImageURL"] = request.FaceImageURL; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.MergeInfos)) { body["MergeInfos"] = request.MergeInfos; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { body["TemplateId"] = request.TemplateId; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.WatermarkType)) { body["WatermarkType"] = request.WatermarkType; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "MergeVideoModelFace", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<MergeVideoModelFaceResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频模板融合换脸 * * @param request MergeVideoModelFaceRequest * @return MergeVideoModelFaceResponse */ public MergeVideoModelFaceResponse MergeVideoModelFace(MergeVideoModelFaceRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return MergeVideoModelFaceWithOptions(request, runtime); } /** * @summary 视频模板融合换脸 * * @param request MergeVideoModelFaceRequest * @return MergeVideoModelFaceResponse */ public async Task<MergeVideoModelFaceResponse> MergeVideoModelFaceAsync(MergeVideoModelFaceRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await MergeVideoModelFaceWithOptionsAsync(request, runtime); } public MergeVideoModelFaceResponse MergeVideoModelFaceAdvance(MergeVideoModelFaceAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); MergeVideoModelFaceRequest mergeVideoModelFaceReq = new MergeVideoModelFaceRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, mergeVideoModelFaceReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FaceImageURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.FaceImageURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); mergeVideoModelFaceReq.FaceImageURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } MergeVideoModelFaceResponse mergeVideoModelFaceResp = MergeVideoModelFaceWithOptions(mergeVideoModelFaceReq, runtime); return mergeVideoModelFaceResp; } public async Task<MergeVideoModelFaceResponse> MergeVideoModelFaceAdvanceAsync(MergeVideoModelFaceAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); MergeVideoModelFaceRequest mergeVideoModelFaceReq = new MergeVideoModelFaceRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, mergeVideoModelFaceReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.FaceImageURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.FaceImageURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); mergeVideoModelFaceReq.FaceImageURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } MergeVideoModelFaceResponse mergeVideoModelFaceResp = await MergeVideoModelFaceWithOptionsAsync(mergeVideoModelFaceReq, runtime); return mergeVideoModelFaceResp; } /** * @summary 视频人脸融合模板查询 * * @param request QueryFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return QueryFaceVideoTemplateResponse */ public QueryFaceVideoTemplateResponse QueryFaceVideoTemplateWithOptions(QueryFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> query = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PageNo)) { query["PageNo"] = request.PageNo; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PageSize)) { query["PageSize"] = request.PageSize; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { query["TemplateId"] = request.TemplateId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Query = AlibabaCloud.OpenApiUtil.Client.Query(query), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "QueryFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<QueryFaceVideoTemplateResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频人脸融合模板查询 * * @param request QueryFaceVideoTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return QueryFaceVideoTemplateResponse */ public async Task<QueryFaceVideoTemplateResponse> QueryFaceVideoTemplateWithOptionsAsync(QueryFaceVideoTemplateRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> query = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PageNo)) { query["PageNo"] = request.PageNo; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.PageSize)) { query["PageSize"] = request.PageSize; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId)) { query["TemplateId"] = request.TemplateId; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Query = AlibabaCloud.OpenApiUtil.Client.Query(query), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "QueryFaceVideoTemplate", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<QueryFaceVideoTemplateResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频人脸融合模板查询 * * @param request QueryFaceVideoTemplateRequest * @return QueryFaceVideoTemplateResponse */ public QueryFaceVideoTemplateResponse QueryFaceVideoTemplate(QueryFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return QueryFaceVideoTemplateWithOptions(request, runtime); } /** * @summary 视频人脸融合模板查询 * * @param request QueryFaceVideoTemplateRequest * @return QueryFaceVideoTemplateResponse */ public async Task<QueryFaceVideoTemplateResponse> QueryFaceVideoTemplateAsync(QueryFaceVideoTemplateRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await QueryFaceVideoTemplateWithOptionsAsync(request, runtime); } /** * @summary 视频降噪 * * @param request ReduceVideoNoiseRequest * @param runtime runtime options for this request RuntimeOptions * @return ReduceVideoNoiseResponse */ public ReduceVideoNoiseResponse ReduceVideoNoiseWithOptions(ReduceVideoNoiseRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ReduceVideoNoise", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ReduceVideoNoiseResponse>(CallApi(params_, req, runtime)); } /** * @summary 视频降噪 * * @param request ReduceVideoNoiseRequest * @param runtime runtime options for this request RuntimeOptions * @return ReduceVideoNoiseResponse */ public async Task<ReduceVideoNoiseResponse> ReduceVideoNoiseWithOptionsAsync(ReduceVideoNoiseRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ReduceVideoNoise", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ReduceVideoNoiseResponse>(await CallApiAsync(params_, req, runtime)); } /** * @summary 视频降噪 * * @param request ReduceVideoNoiseRequest * @return ReduceVideoNoiseResponse */ public ReduceVideoNoiseResponse ReduceVideoNoise(ReduceVideoNoiseRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return ReduceVideoNoiseWithOptions(request, runtime); } /** * @summary 视频降噪 * * @param request ReduceVideoNoiseRequest * @return ReduceVideoNoiseResponse */ public async Task<ReduceVideoNoiseResponse> ReduceVideoNoiseAsync(ReduceVideoNoiseRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await ReduceVideoNoiseWithOptionsAsync(request, runtime); } public ReduceVideoNoiseResponse ReduceVideoNoiseAdvance(ReduceVideoNoiseAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ReduceVideoNoiseRequest reduceVideoNoiseReq = new ReduceVideoNoiseRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, reduceVideoNoiseReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); reduceVideoNoiseReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ReduceVideoNoiseResponse reduceVideoNoiseResp = ReduceVideoNoiseWithOptions(reduceVideoNoiseReq, runtime); return reduceVideoNoiseResp; } public async Task<ReduceVideoNoiseResponse> ReduceVideoNoiseAdvanceAsync(ReduceVideoNoiseAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ReduceVideoNoiseRequest reduceVideoNoiseReq = new ReduceVideoNoiseRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, reduceVideoNoiseReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); reduceVideoNoiseReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ReduceVideoNoiseResponse reduceVideoNoiseResp = await ReduceVideoNoiseWithOptionsAsync(reduceVideoNoiseReq, runtime); return reduceVideoNoiseResp; } /** * @param request SuperResolveVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return SuperResolveVideoResponse */ public SuperResolveVideoResponse SuperResolveVideoWithOptions(SuperResolveVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BitRate)) { body["BitRate"] = request.BitRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "SuperResolveVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<SuperResolveVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request SuperResolveVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return SuperResolveVideoResponse */ public async Task<SuperResolveVideoResponse> SuperResolveVideoWithOptionsAsync(SuperResolveVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.BitRate)) { body["BitRate"] = request.BitRate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrl)) { body["VideoUrl"] = request.VideoUrl; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "SuperResolveVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<SuperResolveVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request SuperResolveVideoRequest * @return SuperResolveVideoResponse */ public SuperResolveVideoResponse SuperResolveVideo(SuperResolveVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return SuperResolveVideoWithOptions(request, runtime); } /** * @param request SuperResolveVideoRequest * @return SuperResolveVideoResponse */ public async Task<SuperResolveVideoResponse> SuperResolveVideoAsync(SuperResolveVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await SuperResolveVideoWithOptionsAsync(request, runtime); } public SuperResolveVideoResponse SuperResolveVideoAdvance(SuperResolveVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); SuperResolveVideoRequest superResolveVideoReq = new SuperResolveVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, superResolveVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); superResolveVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } SuperResolveVideoResponse superResolveVideoResp = SuperResolveVideoWithOptions(superResolveVideoReq, runtime); return superResolveVideoResp; } public async Task<SuperResolveVideoResponse> SuperResolveVideoAdvanceAsync(SuperResolveVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); SuperResolveVideoRequest superResolveVideoReq = new SuperResolveVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, superResolveVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoUrlObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoUrlObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); superResolveVideoReq.VideoUrl = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } SuperResolveVideoResponse superResolveVideoResp = await SuperResolveVideoWithOptionsAsync(superResolveVideoReq, runtime); return superResolveVideoResp; } /** * @param request ToneSdrVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return ToneSdrVideoResponse */ public ToneSdrVideoResponse ToneSdrVideoWithOptions(ToneSdrVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.RecolorModel)) { body["RecolorModel"] = request.RecolorModel; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ToneSdrVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ToneSdrVideoResponse>(CallApi(params_, req, runtime)); } /** * @param request ToneSdrVideoRequest * @param runtime runtime options for this request RuntimeOptions * @return ToneSdrVideoResponse */ public async Task<ToneSdrVideoResponse> ToneSdrVideoWithOptionsAsync(ToneSdrVideoRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { AlibabaCloud.TeaUtil.Common.ValidateModel(request); Dictionary<string, object> body = new Dictionary<string, object>(){}; if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Bitrate)) { body["Bitrate"] = request.Bitrate; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.RecolorModel)) { body["RecolorModel"] = request.RecolorModel; } if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURL)) { body["VideoURL"] = request.VideoURL; } AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest { Body = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body), }; AlibabaCloud.OpenApiClient.Models.Params params_ = new AlibabaCloud.OpenApiClient.Models.Params { Action = "ToneSdrVideo", Version = "2020-03-20", Protocol = "HTTPS", Pathname = "/", Method = "POST", AuthType = "AK", Style = "RPC", ReqBodyType = "formData", BodyType = "json", }; return TeaModel.ToObject<ToneSdrVideoResponse>(await CallApiAsync(params_, req, runtime)); } /** * @param request ToneSdrVideoRequest * @return ToneSdrVideoResponse */ public ToneSdrVideoResponse ToneSdrVideo(ToneSdrVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return ToneSdrVideoWithOptions(request, runtime); } /** * @param request ToneSdrVideoRequest * @return ToneSdrVideoResponse */ public async Task<ToneSdrVideoResponse> ToneSdrVideoAsync(ToneSdrVideoRequest request) { AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions(); return await ToneSdrVideoWithOptionsAsync(request, runtime); } public ToneSdrVideoResponse ToneSdrVideoAdvance(ToneSdrVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = this._credential.GetAccessKeyId(); string accessKeySecret = this._credential.GetAccessKeySecret(); string securityToken = this._credential.GetSecurityToken(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ToneSdrVideoRequest toneSdrVideoReq = new ToneSdrVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, toneSdrVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = authClient.AuthorizeFileUploadWithOptions(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; ossClient.PostObject(uploadRequest, ossRuntime); toneSdrVideoReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ToneSdrVideoResponse toneSdrVideoResp = ToneSdrVideoWithOptions(toneSdrVideoReq, runtime); return toneSdrVideoResp; } public async Task<ToneSdrVideoResponse> ToneSdrVideoAdvanceAsync(ToneSdrVideoAdvanceRequest request, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime) { // Step 0: init client string accessKeyId = await this._credential.GetAccessKeyIdAsync(); string accessKeySecret = await this._credential.GetAccessKeySecretAsync(); string securityToken = await this._credential.GetSecurityTokenAsync(); string credentialType = this._credential.GetType(); string openPlatformEndpoint = _openPlatformEndpoint; if (AlibabaCloud.TeaUtil.Common.Empty(openPlatformEndpoint)) { openPlatformEndpoint = "openplatform.aliyuncs.com"; } if (AlibabaCloud.TeaUtil.Common.IsUnset(credentialType)) { credentialType = "access_key"; } AlibabaCloud.OpenApiClient.Models.Config authConfig = new AlibabaCloud.OpenApiClient.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, SecurityToken = securityToken, Type = credentialType, Endpoint = openPlatformEndpoint, Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Client authClient = new AlibabaCloud.SDK.OpenPlatform20191219.Client(authConfig); AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest authRequest = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadRequest { Product = "videoenhan", RegionId = _regionId, }; AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse authResponse = new AlibabaCloud.SDK.OpenPlatform20191219.Models.AuthorizeFileUploadResponse(); AlibabaCloud.OSS.Models.Config ossConfig = new AlibabaCloud.OSS.Models.Config { AccessKeyId = accessKeyId, AccessKeySecret = accessKeySecret, Type = "access_key", Protocol = _protocol, RegionId = _regionId, }; AlibabaCloud.OSS.Client ossClient = new AlibabaCloud.OSS.Client(ossConfig); AlibabaCloud.SDK.TeaFileform.Models.FileField fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField(); AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader(); AlibabaCloud.OSS.Models.PostObjectRequest uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest(); AlibabaCloud.OSSUtil.Models.RuntimeOptions ossRuntime = new AlibabaCloud.OSSUtil.Models.RuntimeOptions(); AlibabaCloud.OpenApiUtil.Client.Convert(runtime, ossRuntime); ToneSdrVideoRequest toneSdrVideoReq = new ToneSdrVideoRequest(); AlibabaCloud.OpenApiUtil.Client.Convert(request, toneSdrVideoReq); if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.VideoURLObject)) { authResponse = await authClient.AuthorizeFileUploadWithOptionsAsync(authRequest, runtime); ossConfig.AccessKeyId = authResponse.Body.AccessKeyId; ossConfig.Endpoint = AlibabaCloud.OpenApiUtil.Client.GetEndpoint(authResponse.Body.Endpoint, authResponse.Body.UseAccelerate, _endpointType); ossClient = new AlibabaCloud.OSS.Client(ossConfig); fileObj = new AlibabaCloud.SDK.TeaFileform.Models.FileField { Filename = authResponse.Body.ObjectKey, Content = request.VideoURLObject, ContentType = "", }; ossHeader = new AlibabaCloud.OSS.Models.PostObjectRequest.PostObjectRequestHeader { AccessKeyId = authResponse.Body.AccessKeyId, Policy = authResponse.Body.EncodedPolicy, Signature = authResponse.Body.Signature, Key = authResponse.Body.ObjectKey, File = fileObj, SuccessActionStatus = "201", }; uploadRequest = new AlibabaCloud.OSS.Models.PostObjectRequest { BucketName = authResponse.Body.Bucket, Header = ossHeader, }; await ossClient.PostObjectAsync(uploadRequest, ossRuntime); toneSdrVideoReq.VideoURL = "http://" + authResponse.Body.Bucket + "." + authResponse.Body.Endpoint + "/" + authResponse.Body.ObjectKey; } ToneSdrVideoResponse toneSdrVideoResp = await ToneSdrVideoWithOptionsAsync(toneSdrVideoReq, runtime); return toneSdrVideoResp; } } }