Browse Source

Release ReduceVideoNoise and EnhancePortraitVideo.

sdk-team 3 years ago
parent
commit
593ca5f90e

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1515
+1.36.1516

+ 8 - 0
videoenhan/CMakeLists.txt

@@ -35,6 +35,8 @@ set(videoenhan_public_header_model
 	include/alibabacloud/videoenhan/model/ConvertHdrVideoResult.h
 	include/alibabacloud/videoenhan/model/DeleteFaceVideoTemplateRequest.h
 	include/alibabacloud/videoenhan/model/DeleteFaceVideoTemplateResult.h
+	include/alibabacloud/videoenhan/model/EnhancePortraitVideoRequest.h
+	include/alibabacloud/videoenhan/model/EnhancePortraitVideoResult.h
 	include/alibabacloud/videoenhan/model/EnhanceVideoQualityRequest.h
 	include/alibabacloud/videoenhan/model/EnhanceVideoQualityResult.h
 	include/alibabacloud/videoenhan/model/EraseVideoLogoRequest.h
@@ -55,6 +57,8 @@ set(videoenhan_public_header_model
 	include/alibabacloud/videoenhan/model/MergeVideoModelFaceResult.h
 	include/alibabacloud/videoenhan/model/QueryFaceVideoTemplateRequest.h
 	include/alibabacloud/videoenhan/model/QueryFaceVideoTemplateResult.h
+	include/alibabacloud/videoenhan/model/ReduceVideoNoiseRequest.h
+	include/alibabacloud/videoenhan/model/ReduceVideoNoiseResult.h
 	include/alibabacloud/videoenhan/model/SuperResolveVideoRequest.h
 	include/alibabacloud/videoenhan/model/SuperResolveVideoResult.h
 	include/alibabacloud/videoenhan/model/ToneSdrVideoRequest.h
@@ -76,6 +80,8 @@ set(videoenhan_src
 	src/model/ConvertHdrVideoResult.cc
 	src/model/DeleteFaceVideoTemplateRequest.cc
 	src/model/DeleteFaceVideoTemplateResult.cc
+	src/model/EnhancePortraitVideoRequest.cc
+	src/model/EnhancePortraitVideoResult.cc
 	src/model/EnhanceVideoQualityRequest.cc
 	src/model/EnhanceVideoQualityResult.cc
 	src/model/EraseVideoLogoRequest.cc
@@ -96,6 +102,8 @@ set(videoenhan_src
 	src/model/MergeVideoModelFaceResult.cc
 	src/model/QueryFaceVideoTemplateRequest.cc
 	src/model/QueryFaceVideoTemplateResult.cc
+	src/model/ReduceVideoNoiseRequest.cc
+	src/model/ReduceVideoNoiseResult.cc
 	src/model/SuperResolveVideoRequest.cc
 	src/model/SuperResolveVideoResult.cc
 	src/model/ToneSdrVideoRequest.cc

+ 16 - 0
videoenhan/include/alibabacloud/videoenhan/VideoenhanClient.h

@@ -36,6 +36,8 @@
 #include "model/ConvertHdrVideoResult.h"
 #include "model/DeleteFaceVideoTemplateRequest.h"
 #include "model/DeleteFaceVideoTemplateResult.h"
+#include "model/EnhancePortraitVideoRequest.h"
+#include "model/EnhancePortraitVideoResult.h"
 #include "model/EnhanceVideoQualityRequest.h"
 #include "model/EnhanceVideoQualityResult.h"
 #include "model/EraseVideoLogoRequest.h"
@@ -56,6 +58,8 @@
 #include "model/MergeVideoModelFaceResult.h"
 #include "model/QueryFaceVideoTemplateRequest.h"
 #include "model/QueryFaceVideoTemplateResult.h"
+#include "model/ReduceVideoNoiseRequest.h"
+#include "model/ReduceVideoNoiseResult.h"
 #include "model/SuperResolveVideoRequest.h"
 #include "model/SuperResolveVideoResult.h"
 #include "model/ToneSdrVideoRequest.h"
@@ -90,6 +94,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteFaceVideoTemplateResult> DeleteFaceVideoTemplateOutcome;
 			typedef std::future<DeleteFaceVideoTemplateOutcome> DeleteFaceVideoTemplateOutcomeCallable;
 			typedef std::function<void(const VideoenhanClient*, const Model::DeleteFaceVideoTemplateRequest&, const DeleteFaceVideoTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteFaceVideoTemplateAsyncHandler;
+			typedef Outcome<Error, Model::EnhancePortraitVideoResult> EnhancePortraitVideoOutcome;
+			typedef std::future<EnhancePortraitVideoOutcome> EnhancePortraitVideoOutcomeCallable;
+			typedef std::function<void(const VideoenhanClient*, const Model::EnhancePortraitVideoRequest&, const EnhancePortraitVideoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnhancePortraitVideoAsyncHandler;
 			typedef Outcome<Error, Model::EnhanceVideoQualityResult> EnhanceVideoQualityOutcome;
 			typedef std::future<EnhanceVideoQualityOutcome> EnhanceVideoQualityOutcomeCallable;
 			typedef std::function<void(const VideoenhanClient*, const Model::EnhanceVideoQualityRequest&, const EnhanceVideoQualityOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnhanceVideoQualityAsyncHandler;
@@ -120,6 +127,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryFaceVideoTemplateResult> QueryFaceVideoTemplateOutcome;
 			typedef std::future<QueryFaceVideoTemplateOutcome> QueryFaceVideoTemplateOutcomeCallable;
 			typedef std::function<void(const VideoenhanClient*, const Model::QueryFaceVideoTemplateRequest&, const QueryFaceVideoTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryFaceVideoTemplateAsyncHandler;
+			typedef Outcome<Error, Model::ReduceVideoNoiseResult> ReduceVideoNoiseOutcome;
+			typedef std::future<ReduceVideoNoiseOutcome> ReduceVideoNoiseOutcomeCallable;
+			typedef std::function<void(const VideoenhanClient*, const Model::ReduceVideoNoiseRequest&, const ReduceVideoNoiseOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReduceVideoNoiseAsyncHandler;
 			typedef Outcome<Error, Model::SuperResolveVideoResult> SuperResolveVideoOutcome;
 			typedef std::future<SuperResolveVideoOutcome> SuperResolveVideoOutcomeCallable;
 			typedef std::function<void(const VideoenhanClient*, const Model::SuperResolveVideoRequest&, const SuperResolveVideoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SuperResolveVideoAsyncHandler;
@@ -152,6 +162,9 @@ namespace AlibabaCloud
 			DeleteFaceVideoTemplateOutcome deleteFaceVideoTemplate(const Model::DeleteFaceVideoTemplateRequest &request)const;
 			void deleteFaceVideoTemplateAsync(const Model::DeleteFaceVideoTemplateRequest& request, const DeleteFaceVideoTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteFaceVideoTemplateOutcomeCallable deleteFaceVideoTemplateCallable(const Model::DeleteFaceVideoTemplateRequest& request) const;
+			EnhancePortraitVideoOutcome enhancePortraitVideo(const Model::EnhancePortraitVideoRequest &request)const;
+			void enhancePortraitVideoAsync(const Model::EnhancePortraitVideoRequest& request, const EnhancePortraitVideoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnhancePortraitVideoOutcomeCallable enhancePortraitVideoCallable(const Model::EnhancePortraitVideoRequest& request) const;
 			EnhanceVideoQualityOutcome enhanceVideoQuality(const Model::EnhanceVideoQualityRequest &request)const;
 			void enhanceVideoQualityAsync(const Model::EnhanceVideoQualityRequest& request, const EnhanceVideoQualityAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnhanceVideoQualityOutcomeCallable enhanceVideoQualityCallable(const Model::EnhanceVideoQualityRequest& request) const;
@@ -182,6 +195,9 @@ namespace AlibabaCloud
 			QueryFaceVideoTemplateOutcome queryFaceVideoTemplate(const Model::QueryFaceVideoTemplateRequest &request)const;
 			void queryFaceVideoTemplateAsync(const Model::QueryFaceVideoTemplateRequest& request, const QueryFaceVideoTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryFaceVideoTemplateOutcomeCallable queryFaceVideoTemplateCallable(const Model::QueryFaceVideoTemplateRequest& request) const;
+			ReduceVideoNoiseOutcome reduceVideoNoise(const Model::ReduceVideoNoiseRequest &request)const;
+			void reduceVideoNoiseAsync(const Model::ReduceVideoNoiseRequest& request, const ReduceVideoNoiseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReduceVideoNoiseOutcomeCallable reduceVideoNoiseCallable(const Model::ReduceVideoNoiseRequest& request) const;
 			SuperResolveVideoOutcome superResolveVideo(const Model::SuperResolveVideoRequest &request)const;
 			void superResolveVideoAsync(const Model::SuperResolveVideoRequest& request, const SuperResolveVideoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SuperResolveVideoOutcomeCallable superResolveVideoCallable(const Model::SuperResolveVideoRequest& request) const;

+ 45 - 0
videoenhan/include/alibabacloud/videoenhan/model/EnhancePortraitVideoRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEOREQUEST_H_
+#define ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEOREQUEST_H_
+
+#include <alibabacloud/videoenhan/VideoenhanExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Videoenhan {
+namespace Model {
+class ALIBABACLOUD_VIDEOENHAN_EXPORT EnhancePortraitVideoRequest : public RpcServiceRequest {
+public:
+	EnhancePortraitVideoRequest();
+	~EnhancePortraitVideoRequest();
+	bool getAsync() const;
+	void setAsync(bool async);
+	std::string getVideoUrl() const;
+	void setVideoUrl(const std::string &videoUrl);
+
+private:
+	bool async_;
+	std::string videoUrl_;
+};
+} // namespace Model
+} // namespace Videoenhan
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEOREQUEST_H_

+ 59 - 0
videoenhan/include/alibabacloud/videoenhan/model/EnhancePortraitVideoResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEORESULT_H_
+#define ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/videoenhan/VideoenhanExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Videoenhan
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VIDEOENHAN_EXPORT EnhancePortraitVideoResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string videoUrl;
+				};
+
+
+				EnhancePortraitVideoResult();
+				explicit EnhancePortraitVideoResult(const std::string &payload);
+				~EnhancePortraitVideoResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_ENHANCEPORTRAITVIDEORESULT_H_

+ 45 - 0
videoenhan/include/alibabacloud/videoenhan/model/ReduceVideoNoiseRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISEREQUEST_H_
+#define ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISEREQUEST_H_
+
+#include <alibabacloud/videoenhan/VideoenhanExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Videoenhan {
+namespace Model {
+class ALIBABACLOUD_VIDEOENHAN_EXPORT ReduceVideoNoiseRequest : public RpcServiceRequest {
+public:
+	ReduceVideoNoiseRequest();
+	~ReduceVideoNoiseRequest();
+	bool getAsync() const;
+	void setAsync(bool async);
+	std::string getVideoUrl() const;
+	void setVideoUrl(const std::string &videoUrl);
+
+private:
+	bool async_;
+	std::string videoUrl_;
+};
+} // namespace Model
+} // namespace Videoenhan
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISEREQUEST_H_

+ 59 - 0
videoenhan/include/alibabacloud/videoenhan/model/ReduceVideoNoiseResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISERESULT_H_
+#define ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/videoenhan/VideoenhanExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Videoenhan
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VIDEOENHAN_EXPORT ReduceVideoNoiseResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string videoUrl;
+				};
+
+
+				ReduceVideoNoiseResult();
+				explicit ReduceVideoNoiseResult(const std::string &payload);
+				~ReduceVideoNoiseResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VIDEOENHAN_MODEL_REDUCEVIDEONOISERESULT_H_

+ 72 - 0
videoenhan/src/VideoenhanClient.cc

@@ -303,6 +303,42 @@ VideoenhanClient::DeleteFaceVideoTemplateOutcomeCallable VideoenhanClient::delet
 	return task->get_future();
 }
 
+VideoenhanClient::EnhancePortraitVideoOutcome VideoenhanClient::enhancePortraitVideo(const EnhancePortraitVideoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnhancePortraitVideoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnhancePortraitVideoOutcome(EnhancePortraitVideoResult(outcome.result()));
+	else
+		return EnhancePortraitVideoOutcome(outcome.error());
+}
+
+void VideoenhanClient::enhancePortraitVideoAsync(const EnhancePortraitVideoRequest& request, const EnhancePortraitVideoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enhancePortraitVideo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VideoenhanClient::EnhancePortraitVideoOutcomeCallable VideoenhanClient::enhancePortraitVideoCallable(const EnhancePortraitVideoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnhancePortraitVideoOutcome()>>(
+			[this, request]()
+			{
+			return this->enhancePortraitVideo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VideoenhanClient::EnhanceVideoQualityOutcome VideoenhanClient::enhanceVideoQuality(const EnhanceVideoQualityRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -663,6 +699,42 @@ VideoenhanClient::QueryFaceVideoTemplateOutcomeCallable VideoenhanClient::queryF
 	return task->get_future();
 }
 
+VideoenhanClient::ReduceVideoNoiseOutcome VideoenhanClient::reduceVideoNoise(const ReduceVideoNoiseRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReduceVideoNoiseOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReduceVideoNoiseOutcome(ReduceVideoNoiseResult(outcome.result()));
+	else
+		return ReduceVideoNoiseOutcome(outcome.error());
+}
+
+void VideoenhanClient::reduceVideoNoiseAsync(const ReduceVideoNoiseRequest& request, const ReduceVideoNoiseAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, reduceVideoNoise(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VideoenhanClient::ReduceVideoNoiseOutcomeCallable VideoenhanClient::reduceVideoNoiseCallable(const ReduceVideoNoiseRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReduceVideoNoiseOutcome()>>(
+			[this, request]()
+			{
+			return this->reduceVideoNoise(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VideoenhanClient::SuperResolveVideoOutcome VideoenhanClient::superResolveVideo(const SuperResolveVideoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 45 - 0
videoenhan/src/model/EnhancePortraitVideoRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/videoenhan/model/EnhancePortraitVideoRequest.h>
+
+using AlibabaCloud::Videoenhan::Model::EnhancePortraitVideoRequest;
+
+EnhancePortraitVideoRequest::EnhancePortraitVideoRequest()
+    : RpcServiceRequest("videoenhan", "2020-03-20", "EnhancePortraitVideo") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+EnhancePortraitVideoRequest::~EnhancePortraitVideoRequest() {}
+
+bool EnhancePortraitVideoRequest::getAsync() const {
+  return async_;
+}
+
+void EnhancePortraitVideoRequest::setAsync(bool async) {
+  async_ = async;
+  setBodyParameter(std::string("Async"), async ? "true" : "false");
+}
+
+std::string EnhancePortraitVideoRequest::getVideoUrl() const {
+  return videoUrl_;
+}
+
+void EnhancePortraitVideoRequest::setVideoUrl(const std::string &videoUrl) {
+  videoUrl_ = videoUrl;
+  setBodyParameter(std::string("VideoUrl"), videoUrl);
+}
+

+ 66 - 0
videoenhan/src/model/EnhancePortraitVideoResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/videoenhan/model/EnhancePortraitVideoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Videoenhan;
+using namespace AlibabaCloud::Videoenhan::Model;
+
+EnhancePortraitVideoResult::EnhancePortraitVideoResult() :
+	ServiceResult()
+{}
+
+EnhancePortraitVideoResult::EnhancePortraitVideoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+EnhancePortraitVideoResult::~EnhancePortraitVideoResult()
+{}
+
+void EnhancePortraitVideoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["VideoUrl"].isNull())
+		data_.videoUrl = dataNode["VideoUrl"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string EnhancePortraitVideoResult::getMessage()const
+{
+	return message_;
+}
+
+EnhancePortraitVideoResult::Data EnhancePortraitVideoResult::getData()const
+{
+	return data_;
+}
+
+std::string EnhancePortraitVideoResult::getCode()const
+{
+	return code_;
+}
+

+ 45 - 0
videoenhan/src/model/ReduceVideoNoiseRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/videoenhan/model/ReduceVideoNoiseRequest.h>
+
+using AlibabaCloud::Videoenhan::Model::ReduceVideoNoiseRequest;
+
+ReduceVideoNoiseRequest::ReduceVideoNoiseRequest()
+    : RpcServiceRequest("videoenhan", "2020-03-20", "ReduceVideoNoise") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ReduceVideoNoiseRequest::~ReduceVideoNoiseRequest() {}
+
+bool ReduceVideoNoiseRequest::getAsync() const {
+  return async_;
+}
+
+void ReduceVideoNoiseRequest::setAsync(bool async) {
+  async_ = async;
+  setBodyParameter(std::string("Async"), async ? "true" : "false");
+}
+
+std::string ReduceVideoNoiseRequest::getVideoUrl() const {
+  return videoUrl_;
+}
+
+void ReduceVideoNoiseRequest::setVideoUrl(const std::string &videoUrl) {
+  videoUrl_ = videoUrl;
+  setBodyParameter(std::string("VideoUrl"), videoUrl);
+}
+

+ 66 - 0
videoenhan/src/model/ReduceVideoNoiseResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/videoenhan/model/ReduceVideoNoiseResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Videoenhan;
+using namespace AlibabaCloud::Videoenhan::Model;
+
+ReduceVideoNoiseResult::ReduceVideoNoiseResult() :
+	ServiceResult()
+{}
+
+ReduceVideoNoiseResult::ReduceVideoNoiseResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ReduceVideoNoiseResult::~ReduceVideoNoiseResult()
+{}
+
+void ReduceVideoNoiseResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["VideoUrl"].isNull())
+		data_.videoUrl = dataNode["VideoUrl"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ReduceVideoNoiseResult::getMessage()const
+{
+	return message_;
+}
+
+ReduceVideoNoiseResult::Data ReduceVideoNoiseResult::getData()const
+{
+	return data_;
+}
+
+std::string ReduceVideoNoiseResult::getCode()const
+{
+	return code_;
+}
+