Jelajahi Sumber

Generated 2016-11-01 for live.

sdk-team 1 tahun lalu
induk
melakukan
779a64ae99

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.2016
+1.36.2017

+ 16 - 0
live/CMakeLists.txt

@@ -123,6 +123,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/CreateEdgeTranscodeJobResult.h
 	include/alibabacloud/live/model/CreateEventSubRequest.h
 	include/alibabacloud/live/model/CreateEventSubResult.h
+	include/alibabacloud/live/model/CreateLiveAIStudioRequest.h
+	include/alibabacloud/live/model/CreateLiveAIStudioResult.h
 	include/alibabacloud/live/model/CreateLiveDelayConfigRequest.h
 	include/alibabacloud/live/model/CreateLiveDelayConfigResult.h
 	include/alibabacloud/live/model/CreateLiveMessageAppRequest.h
@@ -175,6 +177,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DeleteEventSubResult.h
 	include/alibabacloud/live/model/DeleteLiveAIProduceRulesRequest.h
 	include/alibabacloud/live/model/DeleteLiveAIProduceRulesResult.h
+	include/alibabacloud/live/model/DeleteLiveAIStudioRequest.h
+	include/alibabacloud/live/model/DeleteLiveAIStudioResult.h
 	include/alibabacloud/live/model/DeleteLiveAISubtitleRequest.h
 	include/alibabacloud/live/model/DeleteLiveAISubtitleResult.h
 	include/alibabacloud/live/model/DeleteLiveAppRecordConfigRequest.h
@@ -295,6 +299,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/DescribeHlsLiveStreamRealTimeBpsDataResult.h
 	include/alibabacloud/live/model/DescribeLiveAIProduceRulesRequest.h
 	include/alibabacloud/live/model/DescribeLiveAIProduceRulesResult.h
+	include/alibabacloud/live/model/DescribeLiveAIStudioRequest.h
+	include/alibabacloud/live/model/DescribeLiveAIStudioResult.h
 	include/alibabacloud/live/model/DescribeLiveAISubtitleRequest.h
 	include/alibabacloud/live/model/DescribeLiveAISubtitleResult.h
 	include/alibabacloud/live/model/DescribeLiveAudioAuditConfigRequest.h
@@ -635,6 +641,8 @@ set(live_public_header_model
 	include/alibabacloud/live/model/ModifyCasterProgramResult.h
 	include/alibabacloud/live/model/ModifyCasterVideoResourceRequest.h
 	include/alibabacloud/live/model/ModifyCasterVideoResourceResult.h
+	include/alibabacloud/live/model/ModifyLiveAIStudioRequest.h
+	include/alibabacloud/live/model/ModifyLiveAIStudioResult.h
 	include/alibabacloud/live/model/ModifyLiveDomainSchdmByPropertyRequest.h
 	include/alibabacloud/live/model/ModifyLiveDomainSchdmByPropertyResult.h
 	include/alibabacloud/live/model/ModifyLiveMessageAppAuditRequest.h
@@ -928,6 +936,8 @@ set(live_src
 	src/model/CreateEdgeTranscodeJobResult.cc
 	src/model/CreateEventSubRequest.cc
 	src/model/CreateEventSubResult.cc
+	src/model/CreateLiveAIStudioRequest.cc
+	src/model/CreateLiveAIStudioResult.cc
 	src/model/CreateLiveDelayConfigRequest.cc
 	src/model/CreateLiveDelayConfigResult.cc
 	src/model/CreateLiveMessageAppRequest.cc
@@ -980,6 +990,8 @@ set(live_src
 	src/model/DeleteEventSubResult.cc
 	src/model/DeleteLiveAIProduceRulesRequest.cc
 	src/model/DeleteLiveAIProduceRulesResult.cc
+	src/model/DeleteLiveAIStudioRequest.cc
+	src/model/DeleteLiveAIStudioResult.cc
 	src/model/DeleteLiveAISubtitleRequest.cc
 	src/model/DeleteLiveAISubtitleResult.cc
 	src/model/DeleteLiveAppRecordConfigRequest.cc
@@ -1100,6 +1112,8 @@ set(live_src
 	src/model/DescribeHlsLiveStreamRealTimeBpsDataResult.cc
 	src/model/DescribeLiveAIProduceRulesRequest.cc
 	src/model/DescribeLiveAIProduceRulesResult.cc
+	src/model/DescribeLiveAIStudioRequest.cc
+	src/model/DescribeLiveAIStudioResult.cc
 	src/model/DescribeLiveAISubtitleRequest.cc
 	src/model/DescribeLiveAISubtitleResult.cc
 	src/model/DescribeLiveAudioAuditConfigRequest.cc
@@ -1440,6 +1454,8 @@ set(live_src
 	src/model/ModifyCasterProgramResult.cc
 	src/model/ModifyCasterVideoResourceRequest.cc
 	src/model/ModifyCasterVideoResourceResult.cc
+	src/model/ModifyLiveAIStudioRequest.cc
+	src/model/ModifyLiveAIStudioResult.cc
 	src/model/ModifyLiveDomainSchdmByPropertyRequest.cc
 	src/model/ModifyLiveDomainSchdmByPropertyResult.cc
 	src/model/ModifyLiveMessageAppAuditRequest.cc

+ 32 - 0
live/include/alibabacloud/live/LiveClient.h

@@ -124,6 +124,8 @@
 #include "model/CreateEdgeTranscodeJobResult.h"
 #include "model/CreateEventSubRequest.h"
 #include "model/CreateEventSubResult.h"
+#include "model/CreateLiveAIStudioRequest.h"
+#include "model/CreateLiveAIStudioResult.h"
 #include "model/CreateLiveDelayConfigRequest.h"
 #include "model/CreateLiveDelayConfigResult.h"
 #include "model/CreateLiveMessageAppRequest.h"
@@ -176,6 +178,8 @@
 #include "model/DeleteEventSubResult.h"
 #include "model/DeleteLiveAIProduceRulesRequest.h"
 #include "model/DeleteLiveAIProduceRulesResult.h"
+#include "model/DeleteLiveAIStudioRequest.h"
+#include "model/DeleteLiveAIStudioResult.h"
 #include "model/DeleteLiveAISubtitleRequest.h"
 #include "model/DeleteLiveAISubtitleResult.h"
 #include "model/DeleteLiveAppRecordConfigRequest.h"
@@ -296,6 +300,8 @@
 #include "model/DescribeHlsLiveStreamRealTimeBpsDataResult.h"
 #include "model/DescribeLiveAIProduceRulesRequest.h"
 #include "model/DescribeLiveAIProduceRulesResult.h"
+#include "model/DescribeLiveAIStudioRequest.h"
+#include "model/DescribeLiveAIStudioResult.h"
 #include "model/DescribeLiveAISubtitleRequest.h"
 #include "model/DescribeLiveAISubtitleResult.h"
 #include "model/DescribeLiveAudioAuditConfigRequest.h"
@@ -636,6 +642,8 @@
 #include "model/ModifyCasterProgramResult.h"
 #include "model/ModifyCasterVideoResourceRequest.h"
 #include "model/ModifyCasterVideoResourceResult.h"
+#include "model/ModifyLiveAIStudioRequest.h"
+#include "model/ModifyLiveAIStudioResult.h"
 #include "model/ModifyLiveDomainSchdmByPropertyRequest.h"
 #include "model/ModifyLiveDomainSchdmByPropertyResult.h"
 #include "model/ModifyLiveMessageAppAuditRequest.h"
@@ -986,6 +994,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateEventSubResult> CreateEventSubOutcome;
 			typedef std::future<CreateEventSubOutcome> CreateEventSubOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateEventSubRequest&, const CreateEventSubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateEventSubAsyncHandler;
+			typedef Outcome<Error, Model::CreateLiveAIStudioResult> CreateLiveAIStudioOutcome;
+			typedef std::future<CreateLiveAIStudioOutcome> CreateLiveAIStudioOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::CreateLiveAIStudioRequest&, const CreateLiveAIStudioOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveAIStudioAsyncHandler;
 			typedef Outcome<Error, Model::CreateLiveDelayConfigResult> CreateLiveDelayConfigOutcome;
 			typedef std::future<CreateLiveDelayConfigOutcome> CreateLiveDelayConfigOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::CreateLiveDelayConfigRequest&, const CreateLiveDelayConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateLiveDelayConfigAsyncHandler;
@@ -1064,6 +1075,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteLiveAIProduceRulesResult> DeleteLiveAIProduceRulesOutcome;
 			typedef std::future<DeleteLiveAIProduceRulesOutcome> DeleteLiveAIProduceRulesOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAIProduceRulesRequest&, const DeleteLiveAIProduceRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAIProduceRulesAsyncHandler;
+			typedef Outcome<Error, Model::DeleteLiveAIStudioResult> DeleteLiveAIStudioOutcome;
+			typedef std::future<DeleteLiveAIStudioOutcome> DeleteLiveAIStudioOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAIStudioRequest&, const DeleteLiveAIStudioOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAIStudioAsyncHandler;
 			typedef Outcome<Error, Model::DeleteLiveAISubtitleResult> DeleteLiveAISubtitleOutcome;
 			typedef std::future<DeleteLiveAISubtitleOutcome> DeleteLiveAISubtitleOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DeleteLiveAISubtitleRequest&, const DeleteLiveAISubtitleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteLiveAISubtitleAsyncHandler;
@@ -1244,6 +1258,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeLiveAIProduceRulesResult> DescribeLiveAIProduceRulesOutcome;
 			typedef std::future<DescribeLiveAIProduceRulesOutcome> DescribeLiveAIProduceRulesOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveAIProduceRulesRequest&, const DescribeLiveAIProduceRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveAIProduceRulesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeLiveAIStudioResult> DescribeLiveAIStudioOutcome;
+			typedef std::future<DescribeLiveAIStudioOutcome> DescribeLiveAIStudioOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::DescribeLiveAIStudioRequest&, const DescribeLiveAIStudioOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveAIStudioAsyncHandler;
 			typedef Outcome<Error, Model::DescribeLiveAISubtitleResult> DescribeLiveAISubtitleOutcome;
 			typedef std::future<DescribeLiveAISubtitleOutcome> DescribeLiveAISubtitleOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::DescribeLiveAISubtitleRequest&, const DescribeLiveAISubtitleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeLiveAISubtitleAsyncHandler;
@@ -1754,6 +1771,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyCasterVideoResourceResult> ModifyCasterVideoResourceOutcome;
 			typedef std::future<ModifyCasterVideoResourceOutcome> ModifyCasterVideoResourceOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ModifyCasterVideoResourceRequest&, const ModifyCasterVideoResourceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyCasterVideoResourceAsyncHandler;
+			typedef Outcome<Error, Model::ModifyLiveAIStudioResult> ModifyLiveAIStudioOutcome;
+			typedef std::future<ModifyLiveAIStudioOutcome> ModifyLiveAIStudioOutcomeCallable;
+			typedef std::function<void(const LiveClient*, const Model::ModifyLiveAIStudioRequest&, const ModifyLiveAIStudioOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLiveAIStudioAsyncHandler;
 			typedef Outcome<Error, Model::ModifyLiveDomainSchdmByPropertyResult> ModifyLiveDomainSchdmByPropertyOutcome;
 			typedef std::future<ModifyLiveDomainSchdmByPropertyOutcome> ModifyLiveDomainSchdmByPropertyOutcomeCallable;
 			typedef std::function<void(const LiveClient*, const Model::ModifyLiveDomainSchdmByPropertyRequest&, const ModifyLiveDomainSchdmByPropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyLiveDomainSchdmByPropertyAsyncHandler;
@@ -2194,6 +2214,9 @@ namespace AlibabaCloud
 			CreateEventSubOutcome createEventSub(const Model::CreateEventSubRequest &request)const;
 			void createEventSubAsync(const Model::CreateEventSubRequest& request, const CreateEventSubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateEventSubOutcomeCallable createEventSubCallable(const Model::CreateEventSubRequest& request) const;
+			CreateLiveAIStudioOutcome createLiveAIStudio(const Model::CreateLiveAIStudioRequest &request)const;
+			void createLiveAIStudioAsync(const Model::CreateLiveAIStudioRequest& request, const CreateLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateLiveAIStudioOutcomeCallable createLiveAIStudioCallable(const Model::CreateLiveAIStudioRequest& request) const;
 			CreateLiveDelayConfigOutcome createLiveDelayConfig(const Model::CreateLiveDelayConfigRequest &request)const;
 			void createLiveDelayConfigAsync(const Model::CreateLiveDelayConfigRequest& request, const CreateLiveDelayConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateLiveDelayConfigOutcomeCallable createLiveDelayConfigCallable(const Model::CreateLiveDelayConfigRequest& request) const;
@@ -2272,6 +2295,9 @@ namespace AlibabaCloud
 			DeleteLiveAIProduceRulesOutcome deleteLiveAIProduceRules(const Model::DeleteLiveAIProduceRulesRequest &request)const;
 			void deleteLiveAIProduceRulesAsync(const Model::DeleteLiveAIProduceRulesRequest& request, const DeleteLiveAIProduceRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveAIProduceRulesOutcomeCallable deleteLiveAIProduceRulesCallable(const Model::DeleteLiveAIProduceRulesRequest& request) const;
+			DeleteLiveAIStudioOutcome deleteLiveAIStudio(const Model::DeleteLiveAIStudioRequest &request)const;
+			void deleteLiveAIStudioAsync(const Model::DeleteLiveAIStudioRequest& request, const DeleteLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteLiveAIStudioOutcomeCallable deleteLiveAIStudioCallable(const Model::DeleteLiveAIStudioRequest& request) const;
 			DeleteLiveAISubtitleOutcome deleteLiveAISubtitle(const Model::DeleteLiveAISubtitleRequest &request)const;
 			void deleteLiveAISubtitleAsync(const Model::DeleteLiveAISubtitleRequest& request, const DeleteLiveAISubtitleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteLiveAISubtitleOutcomeCallable deleteLiveAISubtitleCallable(const Model::DeleteLiveAISubtitleRequest& request) const;
@@ -2452,6 +2478,9 @@ namespace AlibabaCloud
 			DescribeLiveAIProduceRulesOutcome describeLiveAIProduceRules(const Model::DescribeLiveAIProduceRulesRequest &request)const;
 			void describeLiveAIProduceRulesAsync(const Model::DescribeLiveAIProduceRulesRequest& request, const DescribeLiveAIProduceRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveAIProduceRulesOutcomeCallable describeLiveAIProduceRulesCallable(const Model::DescribeLiveAIProduceRulesRequest& request) const;
+			DescribeLiveAIStudioOutcome describeLiveAIStudio(const Model::DescribeLiveAIStudioRequest &request)const;
+			void describeLiveAIStudioAsync(const Model::DescribeLiveAIStudioRequest& request, const DescribeLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeLiveAIStudioOutcomeCallable describeLiveAIStudioCallable(const Model::DescribeLiveAIStudioRequest& request) const;
 			DescribeLiveAISubtitleOutcome describeLiveAISubtitle(const Model::DescribeLiveAISubtitleRequest &request)const;
 			void describeLiveAISubtitleAsync(const Model::DescribeLiveAISubtitleRequest& request, const DescribeLiveAISubtitleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeLiveAISubtitleOutcomeCallable describeLiveAISubtitleCallable(const Model::DescribeLiveAISubtitleRequest& request) const;
@@ -2962,6 +2991,9 @@ namespace AlibabaCloud
 			ModifyCasterVideoResourceOutcome modifyCasterVideoResource(const Model::ModifyCasterVideoResourceRequest &request)const;
 			void modifyCasterVideoResourceAsync(const Model::ModifyCasterVideoResourceRequest& request, const ModifyCasterVideoResourceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyCasterVideoResourceOutcomeCallable modifyCasterVideoResourceCallable(const Model::ModifyCasterVideoResourceRequest& request) const;
+			ModifyLiveAIStudioOutcome modifyLiveAIStudio(const Model::ModifyLiveAIStudioRequest &request)const;
+			void modifyLiveAIStudioAsync(const Model::ModifyLiveAIStudioRequest& request, const ModifyLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyLiveAIStudioOutcomeCallable modifyLiveAIStudioCallable(const Model::ModifyLiveAIStudioRequest& request) const;
 			ModifyLiveDomainSchdmByPropertyOutcome modifyLiveDomainSchdmByProperty(const Model::ModifyLiveDomainSchdmByPropertyRequest &request)const;
 			void modifyLiveDomainSchdmByPropertyAsync(const Model::ModifyLiveDomainSchdmByPropertyRequest& request, const ModifyLiveDomainSchdmByPropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyLiveDomainSchdmByPropertyOutcomeCallable modifyLiveDomainSchdmByPropertyCallable(const Model::ModifyLiveDomainSchdmByPropertyRequest& request) const;

+ 91 - 0
live/include/alibabacloud/live/model/CreateLiveAIStudioRequest.h

@@ -0,0 +1,91 @@
+/*
+ * 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_LIVE_MODEL_CREATELIVEAISTUDIOREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATELIVEAISTUDIOREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT CreateLiveAIStudioRequest : public RpcServiceRequest {
+public:
+	struct MediaLayout {
+		float positionX;
+		float positionY;
+		float heightNormalized;
+	};
+	struct MattingLayout {
+		float positionX;
+		float positionY;
+		float heightNormalized;
+	};
+	CreateLiveAIStudioRequest();
+	~CreateLiveAIStudioRequest();
+	std::string getBackgroundResourceId() const;
+	void setBackgroundResourceId(const std::string &backgroundResourceId);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	MediaLayout getMediaLayout() const;
+	void setMediaLayout(const MediaLayout &mediaLayout);
+	std::string getBackgroundType() const;
+	void setBackgroundType(const std::string &backgroundType);
+	std::string getMattingType() const;
+	void setMattingType(const std::string &mattingType);
+	std::string getMediaResourceUrl() const;
+	void setMediaResourceUrl(const std::string &mediaResourceUrl);
+	int getHeight() const;
+	void setHeight(int height);
+	std::string getBackgroundResourceUrl() const;
+	void setBackgroundResourceUrl(const std::string &backgroundResourceUrl);
+	std::string getMediaResourceId() const;
+	void setMediaResourceId(const std::string &mediaResourceId);
+	MattingLayout getMattingLayout() const;
+	void setMattingLayout(const MattingLayout &mattingLayout);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getStudioName() const;
+	void setStudioName(const std::string &studioName);
+	int getWidth() const;
+	void setWidth(int width);
+	std::string getMediaType() const;
+	void setMediaType(const std::string &mediaType);
+
+private:
+	std::string backgroundResourceId_;
+	std::string description_;
+	MediaLayout mediaLayout_;
+	std::string backgroundType_;
+	std::string mattingType_;
+	std::string mediaResourceUrl_;
+	int height_;
+	std::string backgroundResourceUrl_;
+	std::string mediaResourceId_;
+	MattingLayout mattingLayout_;
+	long ownerId_;
+	std::string studioName_;
+	int width_;
+	std::string mediaType_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATELIVEAISTUDIOREQUEST_H_

+ 51 - 0
live/include/alibabacloud/live/model/CreateLiveAIStudioResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_LIVE_MODEL_CREATELIVEAISTUDIORESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_CREATELIVEAISTUDIORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT CreateLiveAIStudioResult : public ServiceResult
+			{
+			public:
+
+
+				CreateLiveAIStudioResult();
+				explicit CreateLiveAIStudioResult(const std::string &payload);
+				~CreateLiveAIStudioResult();
+				std::string getStudioId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string studioId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_CREATELIVEAISTUDIORESULT_H_

+ 45 - 0
live/include/alibabacloud/live/model/DeleteLiveAIStudioRequest.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_LIVE_MODEL_DELETELIVEAISTUDIOREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEAISTUDIOREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DeleteLiveAIStudioRequest : public RpcServiceRequest {
+public:
+	DeleteLiveAIStudioRequest();
+	~DeleteLiveAIStudioRequest();
+	std::string getStudioId() const;
+	void setStudioId(const std::string &studioId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	std::string studioId_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEAISTUDIOREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/DeleteLiveAIStudioResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_LIVE_MODEL_DELETELIVEAISTUDIORESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DELETELIVEAISTUDIORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DeleteLiveAIStudioResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteLiveAIStudioResult();
+				explicit DeleteLiveAIStudioResult(const std::string &payload);
+				~DeleteLiveAIStudioResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DELETELIVEAISTUDIORESULT_H_

+ 54 - 0
live/include/alibabacloud/live/model/DescribeLiveAIStudioRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_LIVE_MODEL_DESCRIBELIVEAISTUDIOREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEAISTUDIOREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT DescribeLiveAIStudioRequest : public RpcServiceRequest {
+public:
+	DescribeLiveAIStudioRequest();
+	~DescribeLiveAIStudioRequest();
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getStudioId() const;
+	void setStudioId(const std::string &studioId);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getStudioName() const;
+	void setStudioName(const std::string &studioName);
+
+private:
+	int pageNumber_;
+	int pageSize_;
+	std::string studioId_;
+	long ownerId_;
+	std::string studioName_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEAISTUDIOREQUEST_H_

+ 75 - 0
live/include/alibabacloud/live/model/DescribeLiveAIStudioResult.h

@@ -0,0 +1,75 @@
+/*
+ * 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_LIVE_MODEL_DESCRIBELIVEAISTUDIORESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEAISTUDIORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT DescribeLiveAIStudioResult : public ServiceResult
+			{
+			public:
+				struct SubtitleConfig
+				{
+					std::string mediaResourceUrl;
+					std::string mediaResourceId;
+					std::string description;
+					std::string mattingLayout;
+					std::string backgroundResourceUrl;
+					std::string backgroundType;
+					std::string mattingType;
+					std::string mediaLayout;
+					std::string mediaType;
+					std::string templateName;
+					std::string height;
+					std::vector<std::string> ruleIds;
+					std::string backgroundResourceId;
+					std::string width;
+					std::string templateId;
+				};
+
+
+				DescribeLiveAIStudioResult();
+				explicit DescribeLiveAIStudioResult(const std::string &payload);
+				~DescribeLiveAIStudioResult();
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<SubtitleConfig> getStudioConfigs()const;
+				int getTotal()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNumber_;
+				std::vector<SubtitleConfig> studioConfigs_;
+				int total_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_DESCRIBELIVEAISTUDIORESULT_H_

+ 1 - 0
live/include/alibabacloud/live/model/ListRtcMPUTaskDetailResult.h

@@ -134,6 +134,7 @@ namespace AlibabaCloud
 					SingleSubParams singleSubParams;
 					TranscodeParams transcodeParams;
 					std::string channelId;
+					std::string maxIdleTime;
 					std::vector<MpuTask::MultiStreamURLItem> multiStreamURL;
 					std::string streamURL;
 				};

+ 91 - 0
live/include/alibabacloud/live/model/ModifyLiveAIStudioRequest.h

@@ -0,0 +1,91 @@
+/*
+ * 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_LIVE_MODEL_MODIFYLIVEAISTUDIOREQUEST_H_
+#define ALIBABACLOUD_LIVE_MODEL_MODIFYLIVEAISTUDIOREQUEST_H_
+
+#include <alibabacloud/live/LiveExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Live {
+namespace Model {
+class ALIBABACLOUD_LIVE_EXPORT ModifyLiveAIStudioRequest : public RpcServiceRequest {
+public:
+	struct MediaLayout {
+		float positionX;
+		float positionY;
+		float heightNormalized;
+	};
+	struct MattingLayout {
+		float positionX;
+		float positionY;
+		float heightNormalized;
+	};
+	ModifyLiveAIStudioRequest();
+	~ModifyLiveAIStudioRequest();
+	std::string getBackgroundResourceId() const;
+	void setBackgroundResourceId(const std::string &backgroundResourceId);
+	std::string getDescription() const;
+	void setDescription(const std::string &description);
+	MediaLayout getMediaLayout() const;
+	void setMediaLayout(const MediaLayout &mediaLayout);
+	std::string getBackgroundType() const;
+	void setBackgroundType(const std::string &backgroundType);
+	std::string getMattingType() const;
+	void setMattingType(const std::string &mattingType);
+	std::string getMediaResourceUrl() const;
+	void setMediaResourceUrl(const std::string &mediaResourceUrl);
+	int getHeight() const;
+	void setHeight(int height);
+	std::string getBackgroundResourceUrl() const;
+	void setBackgroundResourceUrl(const std::string &backgroundResourceUrl);
+	std::string getMediaResourceId() const;
+	void setMediaResourceId(const std::string &mediaResourceId);
+	MattingLayout getMattingLayout() const;
+	void setMattingLayout(const MattingLayout &mattingLayout);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getStudioName() const;
+	void setStudioName(const std::string &studioName);
+	int getWidth() const;
+	void setWidth(int width);
+	std::string getMediaType() const;
+	void setMediaType(const std::string &mediaType);
+
+private:
+	std::string backgroundResourceId_;
+	std::string description_;
+	MediaLayout mediaLayout_;
+	std::string backgroundType_;
+	std::string mattingType_;
+	std::string mediaResourceUrl_;
+	int height_;
+	std::string backgroundResourceUrl_;
+	std::string mediaResourceId_;
+	MattingLayout mattingLayout_;
+	long ownerId_;
+	std::string studioName_;
+	int width_;
+	std::string mediaType_;
+};
+} // namespace Model
+} // namespace Live
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_LIVE_MODEL_MODIFYLIVEAISTUDIOREQUEST_H_

+ 49 - 0
live/include/alibabacloud/live/model/ModifyLiveAIStudioResult.h

@@ -0,0 +1,49 @@
+/*
+ * 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_LIVE_MODEL_MODIFYLIVEAISTUDIORESULT_H_
+#define ALIBABACLOUD_LIVE_MODEL_MODIFYLIVEAISTUDIORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/live/LiveExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Live
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_LIVE_EXPORT ModifyLiveAIStudioResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyLiveAIStudioResult();
+				explicit ModifyLiveAIStudioResult(const std::string &payload);
+				~ModifyLiveAIStudioResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_LIVE_MODEL_MODIFYLIVEAISTUDIORESULT_H_

+ 3 - 0
live/include/alibabacloud/live/model/StartLiveMPUTaskRequest.h

@@ -121,6 +121,8 @@ public:
 	void setStreamURL(const std::string &streamURL);
 	std::vector<MultiStreamURL> getMultiStreamURL() const;
 	void setMultiStreamURL(const std::vector<MultiStreamURL> &multiStreamURL);
+	std::string getMaxIdleTime() const;
+	void setMaxIdleTime(const std::string &maxIdleTime);
 	SeiParams getSeiParams() const;
 	void setSeiParams(const SeiParams &seiParams);
 	TranscodeParams getTranscodeParams() const;
@@ -139,6 +141,7 @@ private:
 	std::string taskId_;
 	std::string streamURL_;
 	std::vector<MultiStreamURL> multiStreamURL_;
+	std::string maxIdleTime_;
 	SeiParams seiParams_;
 	TranscodeParams transcodeParams_;
 	std::string appId_;

+ 144 - 0
live/src/LiveClient.cc

@@ -1887,6 +1887,42 @@ LiveClient::CreateEventSubOutcomeCallable LiveClient::createEventSubCallable(con
 	return task->get_future();
 }
 
+LiveClient::CreateLiveAIStudioOutcome LiveClient::createLiveAIStudio(const CreateLiveAIStudioRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateLiveAIStudioOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateLiveAIStudioOutcome(CreateLiveAIStudioResult(outcome.result()));
+	else
+		return CreateLiveAIStudioOutcome(outcome.error());
+}
+
+void LiveClient::createLiveAIStudioAsync(const CreateLiveAIStudioRequest& request, const CreateLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createLiveAIStudio(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::CreateLiveAIStudioOutcomeCallable LiveClient::createLiveAIStudioCallable(const CreateLiveAIStudioRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateLiveAIStudioOutcome()>>(
+			[this, request]()
+			{
+			return this->createLiveAIStudio(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::CreateLiveDelayConfigOutcome LiveClient::createLiveDelayConfig(const CreateLiveDelayConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2823,6 +2859,42 @@ LiveClient::DeleteLiveAIProduceRulesOutcomeCallable LiveClient::deleteLiveAIProd
 	return task->get_future();
 }
 
+LiveClient::DeleteLiveAIStudioOutcome LiveClient::deleteLiveAIStudio(const DeleteLiveAIStudioRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteLiveAIStudioOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteLiveAIStudioOutcome(DeleteLiveAIStudioResult(outcome.result()));
+	else
+		return DeleteLiveAIStudioOutcome(outcome.error());
+}
+
+void LiveClient::deleteLiveAIStudioAsync(const DeleteLiveAIStudioRequest& request, const DeleteLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteLiveAIStudio(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DeleteLiveAIStudioOutcomeCallable LiveClient::deleteLiveAIStudioCallable(const DeleteLiveAIStudioRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteLiveAIStudioOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteLiveAIStudio(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DeleteLiveAISubtitleOutcome LiveClient::deleteLiveAISubtitle(const DeleteLiveAISubtitleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4983,6 +5055,42 @@ LiveClient::DescribeLiveAIProduceRulesOutcomeCallable LiveClient::describeLiveAI
 	return task->get_future();
 }
 
+LiveClient::DescribeLiveAIStudioOutcome LiveClient::describeLiveAIStudio(const DescribeLiveAIStudioRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeLiveAIStudioOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeLiveAIStudioOutcome(DescribeLiveAIStudioResult(outcome.result()));
+	else
+		return DescribeLiveAIStudioOutcome(outcome.error());
+}
+
+void LiveClient::describeLiveAIStudioAsync(const DescribeLiveAIStudioRequest& request, const DescribeLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeLiveAIStudio(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::DescribeLiveAIStudioOutcomeCallable LiveClient::describeLiveAIStudioCallable(const DescribeLiveAIStudioRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeLiveAIStudioOutcome()>>(
+			[this, request]()
+			{
+			return this->describeLiveAIStudio(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::DescribeLiveAISubtitleOutcome LiveClient::describeLiveAISubtitle(const DescribeLiveAISubtitleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -11103,6 +11211,42 @@ LiveClient::ModifyCasterVideoResourceOutcomeCallable LiveClient::modifyCasterVid
 	return task->get_future();
 }
 
+LiveClient::ModifyLiveAIStudioOutcome LiveClient::modifyLiveAIStudio(const ModifyLiveAIStudioRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyLiveAIStudioOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyLiveAIStudioOutcome(ModifyLiveAIStudioResult(outcome.result()));
+	else
+		return ModifyLiveAIStudioOutcome(outcome.error());
+}
+
+void LiveClient::modifyLiveAIStudioAsync(const ModifyLiveAIStudioRequest& request, const ModifyLiveAIStudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyLiveAIStudio(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+LiveClient::ModifyLiveAIStudioOutcomeCallable LiveClient::modifyLiveAIStudioCallable(const ModifyLiveAIStudioRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyLiveAIStudioOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyLiveAIStudio(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 LiveClient::ModifyLiveDomainSchdmByPropertyOutcome LiveClient::modifyLiveDomainSchdmByProperty(const ModifyLiveDomainSchdmByPropertyRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 157 - 0
live/src/model/CreateLiveAIStudioRequest.cc

@@ -0,0 +1,157 @@
+/*
+ * 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/live/model/CreateLiveAIStudioRequest.h>
+
+using AlibabaCloud::Live::Model::CreateLiveAIStudioRequest;
+
+CreateLiveAIStudioRequest::CreateLiveAIStudioRequest()
+    : RpcServiceRequest("live", "2016-11-01", "CreateLiveAIStudio") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateLiveAIStudioRequest::~CreateLiveAIStudioRequest() {}
+
+std::string CreateLiveAIStudioRequest::getBackgroundResourceId() const {
+  return backgroundResourceId_;
+}
+
+void CreateLiveAIStudioRequest::setBackgroundResourceId(const std::string &backgroundResourceId) {
+  backgroundResourceId_ = backgroundResourceId;
+  setParameter(std::string("BackgroundResourceId"), backgroundResourceId);
+}
+
+std::string CreateLiveAIStudioRequest::getDescription() const {
+  return description_;
+}
+
+void CreateLiveAIStudioRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+CreateLiveAIStudioRequest::MediaLayout CreateLiveAIStudioRequest::getMediaLayout() const {
+  return mediaLayout_;
+}
+
+void CreateLiveAIStudioRequest::setMediaLayout(const CreateLiveAIStudioRequest::MediaLayout &mediaLayout) {
+  mediaLayout_ = mediaLayout;
+  setParameter(std::string("MediaLayout") + ".PositionX", std::to_string(mediaLayout.positionX));
+  setParameter(std::string("MediaLayout") + ".PositionY", std::to_string(mediaLayout.positionY));
+  setParameter(std::string("MediaLayout") + ".HeightNormalized", std::to_string(mediaLayout.heightNormalized));
+}
+
+std::string CreateLiveAIStudioRequest::getBackgroundType() const {
+  return backgroundType_;
+}
+
+void CreateLiveAIStudioRequest::setBackgroundType(const std::string &backgroundType) {
+  backgroundType_ = backgroundType;
+  setParameter(std::string("BackgroundType"), backgroundType);
+}
+
+std::string CreateLiveAIStudioRequest::getMattingType() const {
+  return mattingType_;
+}
+
+void CreateLiveAIStudioRequest::setMattingType(const std::string &mattingType) {
+  mattingType_ = mattingType;
+  setParameter(std::string("MattingType"), mattingType);
+}
+
+std::string CreateLiveAIStudioRequest::getMediaResourceUrl() const {
+  return mediaResourceUrl_;
+}
+
+void CreateLiveAIStudioRequest::setMediaResourceUrl(const std::string &mediaResourceUrl) {
+  mediaResourceUrl_ = mediaResourceUrl;
+  setParameter(std::string("MediaResourceUrl"), mediaResourceUrl);
+}
+
+int CreateLiveAIStudioRequest::getHeight() const {
+  return height_;
+}
+
+void CreateLiveAIStudioRequest::setHeight(int height) {
+  height_ = height;
+  setParameter(std::string("Height"), std::to_string(height));
+}
+
+std::string CreateLiveAIStudioRequest::getBackgroundResourceUrl() const {
+  return backgroundResourceUrl_;
+}
+
+void CreateLiveAIStudioRequest::setBackgroundResourceUrl(const std::string &backgroundResourceUrl) {
+  backgroundResourceUrl_ = backgroundResourceUrl;
+  setParameter(std::string("BackgroundResourceUrl"), backgroundResourceUrl);
+}
+
+std::string CreateLiveAIStudioRequest::getMediaResourceId() const {
+  return mediaResourceId_;
+}
+
+void CreateLiveAIStudioRequest::setMediaResourceId(const std::string &mediaResourceId) {
+  mediaResourceId_ = mediaResourceId;
+  setParameter(std::string("MediaResourceId"), mediaResourceId);
+}
+
+CreateLiveAIStudioRequest::MattingLayout CreateLiveAIStudioRequest::getMattingLayout() const {
+  return mattingLayout_;
+}
+
+void CreateLiveAIStudioRequest::setMattingLayout(const CreateLiveAIStudioRequest::MattingLayout &mattingLayout) {
+  mattingLayout_ = mattingLayout;
+  setParameter(std::string("MattingLayout") + ".PositionX", std::to_string(mattingLayout.positionX));
+  setParameter(std::string("MattingLayout") + ".PositionY", std::to_string(mattingLayout.positionY));
+  setParameter(std::string("MattingLayout") + ".HeightNormalized", std::to_string(mattingLayout.heightNormalized));
+}
+
+long CreateLiveAIStudioRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateLiveAIStudioRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string CreateLiveAIStudioRequest::getStudioName() const {
+  return studioName_;
+}
+
+void CreateLiveAIStudioRequest::setStudioName(const std::string &studioName) {
+  studioName_ = studioName;
+  setParameter(std::string("StudioName"), studioName);
+}
+
+int CreateLiveAIStudioRequest::getWidth() const {
+  return width_;
+}
+
+void CreateLiveAIStudioRequest::setWidth(int width) {
+  width_ = width;
+  setParameter(std::string("Width"), std::to_string(width));
+}
+
+std::string CreateLiveAIStudioRequest::getMediaType() const {
+  return mediaType_;
+}
+
+void CreateLiveAIStudioRequest::setMediaType(const std::string &mediaType) {
+  mediaType_ = mediaType;
+  setParameter(std::string("MediaType"), mediaType);
+}
+

+ 51 - 0
live/src/model/CreateLiveAIStudioResult.cc

@@ -0,0 +1,51 @@
+/*
+ * 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/live/model/CreateLiveAIStudioResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+CreateLiveAIStudioResult::CreateLiveAIStudioResult() :
+	ServiceResult()
+{}
+
+CreateLiveAIStudioResult::CreateLiveAIStudioResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateLiveAIStudioResult::~CreateLiveAIStudioResult()
+{}
+
+void CreateLiveAIStudioResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["StudioId"].isNull())
+		studioId_ = value["StudioId"].asString();
+
+}
+
+std::string CreateLiveAIStudioResult::getStudioId()const
+{
+	return studioId_;
+}
+

+ 45 - 0
live/src/model/DeleteLiveAIStudioRequest.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/live/model/DeleteLiveAIStudioRequest.h>
+
+using AlibabaCloud::Live::Model::DeleteLiveAIStudioRequest;
+
+DeleteLiveAIStudioRequest::DeleteLiveAIStudioRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DeleteLiveAIStudio") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteLiveAIStudioRequest::~DeleteLiveAIStudioRequest() {}
+
+std::string DeleteLiveAIStudioRequest::getStudioId() const {
+  return studioId_;
+}
+
+void DeleteLiveAIStudioRequest::setStudioId(const std::string &studioId) {
+  studioId_ = studioId;
+  setParameter(std::string("StudioId"), studioId);
+}
+
+long DeleteLiveAIStudioRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteLiveAIStudioRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 44 - 0
live/src/model/DeleteLiveAIStudioResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/live/model/DeleteLiveAIStudioResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DeleteLiveAIStudioResult::DeleteLiveAIStudioResult() :
+	ServiceResult()
+{}
+
+DeleteLiveAIStudioResult::DeleteLiveAIStudioResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteLiveAIStudioResult::~DeleteLiveAIStudioResult()
+{}
+
+void DeleteLiveAIStudioResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 72 - 0
live/src/model/DescribeLiveAIStudioRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * 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/live/model/DescribeLiveAIStudioRequest.h>
+
+using AlibabaCloud::Live::Model::DescribeLiveAIStudioRequest;
+
+DescribeLiveAIStudioRequest::DescribeLiveAIStudioRequest()
+    : RpcServiceRequest("live", "2016-11-01", "DescribeLiveAIStudio") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeLiveAIStudioRequest::~DescribeLiveAIStudioRequest() {}
+
+int DescribeLiveAIStudioRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeLiveAIStudioRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+int DescribeLiveAIStudioRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeLiveAIStudioRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeLiveAIStudioRequest::getStudioId() const {
+  return studioId_;
+}
+
+void DescribeLiveAIStudioRequest::setStudioId(const std::string &studioId) {
+  studioId_ = studioId;
+  setParameter(std::string("StudioId"), studioId);
+}
+
+long DescribeLiveAIStudioRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeLiveAIStudioRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeLiveAIStudioRequest::getStudioName() const {
+  return studioName_;
+}
+
+void DescribeLiveAIStudioRequest::setStudioName(const std::string &studioName) {
+  studioName_ = studioName;
+  setParameter(std::string("StudioName"), studioName);
+}
+

+ 107 - 0
live/src/model/DescribeLiveAIStudioResult.cc

@@ -0,0 +1,107 @@
+/*
+ * 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/live/model/DescribeLiveAIStudioResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+DescribeLiveAIStudioResult::DescribeLiveAIStudioResult() :
+	ServiceResult()
+{}
+
+DescribeLiveAIStudioResult::DescribeLiveAIStudioResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeLiveAIStudioResult::~DescribeLiveAIStudioResult()
+{}
+
+void DescribeLiveAIStudioResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allStudioConfigsNode = value["StudioConfigs"]["SubtitleConfig"];
+	for (auto valueStudioConfigsSubtitleConfig : allStudioConfigsNode)
+	{
+		SubtitleConfig studioConfigsObject;
+		if(!valueStudioConfigsSubtitleConfig["MediaType"].isNull())
+			studioConfigsObject.mediaType = valueStudioConfigsSubtitleConfig["MediaType"].asString();
+		if(!valueStudioConfigsSubtitleConfig["MediaLayout"].isNull())
+			studioConfigsObject.mediaLayout = valueStudioConfigsSubtitleConfig["MediaLayout"].asString();
+		if(!valueStudioConfigsSubtitleConfig["MediaResourceUrl"].isNull())
+			studioConfigsObject.mediaResourceUrl = valueStudioConfigsSubtitleConfig["MediaResourceUrl"].asString();
+		if(!valueStudioConfigsSubtitleConfig["MediaResourceId"].isNull())
+			studioConfigsObject.mediaResourceId = valueStudioConfigsSubtitleConfig["MediaResourceId"].asString();
+		if(!valueStudioConfigsSubtitleConfig["BackgroundType"].isNull())
+			studioConfigsObject.backgroundType = valueStudioConfigsSubtitleConfig["BackgroundType"].asString();
+		if(!valueStudioConfigsSubtitleConfig["BackgroundResourceUrl"].isNull())
+			studioConfigsObject.backgroundResourceUrl = valueStudioConfigsSubtitleConfig["BackgroundResourceUrl"].asString();
+		if(!valueStudioConfigsSubtitleConfig["BackgroundResourceId"].isNull())
+			studioConfigsObject.backgroundResourceId = valueStudioConfigsSubtitleConfig["BackgroundResourceId"].asString();
+		if(!valueStudioConfigsSubtitleConfig["Description"].isNull())
+			studioConfigsObject.description = valueStudioConfigsSubtitleConfig["Description"].asString();
+		if(!valueStudioConfigsSubtitleConfig["TemplateId"].isNull())
+			studioConfigsObject.templateId = valueStudioConfigsSubtitleConfig["TemplateId"].asString();
+		if(!valueStudioConfigsSubtitleConfig["TemplateName"].isNull())
+			studioConfigsObject.templateName = valueStudioConfigsSubtitleConfig["TemplateName"].asString();
+		if(!valueStudioConfigsSubtitleConfig["MattingLayout"].isNull())
+			studioConfigsObject.mattingLayout = valueStudioConfigsSubtitleConfig["MattingLayout"].asString();
+		if(!valueStudioConfigsSubtitleConfig["MattingType"].isNull())
+			studioConfigsObject.mattingType = valueStudioConfigsSubtitleConfig["MattingType"].asString();
+		if(!valueStudioConfigsSubtitleConfig["Height"].isNull())
+			studioConfigsObject.height = valueStudioConfigsSubtitleConfig["Height"].asString();
+		if(!valueStudioConfigsSubtitleConfig["Width"].isNull())
+			studioConfigsObject.width = valueStudioConfigsSubtitleConfig["Width"].asString();
+		auto allRuleIds = value["RuleIds"]["ruleId"];
+		for (auto value : allRuleIds)
+			studioConfigsObject.ruleIds.push_back(value.asString());
+		studioConfigs_.push_back(studioConfigsObject);
+	}
+	if(!value["Total"].isNull())
+		total_ = std::stoi(value["Total"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+int DescribeLiveAIStudioResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeLiveAIStudioResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeLiveAIStudioResult::SubtitleConfig> DescribeLiveAIStudioResult::getStudioConfigs()const
+{
+	return studioConfigs_;
+}
+
+int DescribeLiveAIStudioResult::getTotal()const
+{
+	return total_;
+}
+

+ 2 - 0
live/src/model/ListRtcMPUTaskDetailResult.cc

@@ -55,6 +55,8 @@ void ListRtcMPUTaskDetailResult::parse(const std::string &payload)
 			mPUTasksObject.streamURL = valueMPUTasksmpuTask["StreamURL"].asString();
 		if(!valueMPUTasksmpuTask["Region"].isNull())
 			mPUTasksObject.region = valueMPUTasksmpuTask["Region"].asString();
+		if(!valueMPUTasksmpuTask["MaxIdleTime"].isNull())
+			mPUTasksObject.maxIdleTime = valueMPUTasksmpuTask["MaxIdleTime"].asString();
 		auto allMultiStreamURLNode = valueMPUTasksmpuTask["MultiStreamURL"]["MultiStreamURLItem"];
 		for (auto valueMPUTasksmpuTaskMultiStreamURLMultiStreamURLItem : allMultiStreamURLNode)
 		{

+ 157 - 0
live/src/model/ModifyLiveAIStudioRequest.cc

@@ -0,0 +1,157 @@
+/*
+ * 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/live/model/ModifyLiveAIStudioRequest.h>
+
+using AlibabaCloud::Live::Model::ModifyLiveAIStudioRequest;
+
+ModifyLiveAIStudioRequest::ModifyLiveAIStudioRequest()
+    : RpcServiceRequest("live", "2016-11-01", "ModifyLiveAIStudio") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ModifyLiveAIStudioRequest::~ModifyLiveAIStudioRequest() {}
+
+std::string ModifyLiveAIStudioRequest::getBackgroundResourceId() const {
+  return backgroundResourceId_;
+}
+
+void ModifyLiveAIStudioRequest::setBackgroundResourceId(const std::string &backgroundResourceId) {
+  backgroundResourceId_ = backgroundResourceId;
+  setParameter(std::string("BackgroundResourceId"), backgroundResourceId);
+}
+
+std::string ModifyLiveAIStudioRequest::getDescription() const {
+  return description_;
+}
+
+void ModifyLiveAIStudioRequest::setDescription(const std::string &description) {
+  description_ = description;
+  setParameter(std::string("Description"), description);
+}
+
+ModifyLiveAIStudioRequest::MediaLayout ModifyLiveAIStudioRequest::getMediaLayout() const {
+  return mediaLayout_;
+}
+
+void ModifyLiveAIStudioRequest::setMediaLayout(const ModifyLiveAIStudioRequest::MediaLayout &mediaLayout) {
+  mediaLayout_ = mediaLayout;
+  setParameter(std::string("MediaLayout") + ".PositionX", std::to_string(mediaLayout.positionX));
+  setParameter(std::string("MediaLayout") + ".PositionY", std::to_string(mediaLayout.positionY));
+  setParameter(std::string("MediaLayout") + ".HeightNormalized", std::to_string(mediaLayout.heightNormalized));
+}
+
+std::string ModifyLiveAIStudioRequest::getBackgroundType() const {
+  return backgroundType_;
+}
+
+void ModifyLiveAIStudioRequest::setBackgroundType(const std::string &backgroundType) {
+  backgroundType_ = backgroundType;
+  setParameter(std::string("BackgroundType"), backgroundType);
+}
+
+std::string ModifyLiveAIStudioRequest::getMattingType() const {
+  return mattingType_;
+}
+
+void ModifyLiveAIStudioRequest::setMattingType(const std::string &mattingType) {
+  mattingType_ = mattingType;
+  setParameter(std::string("MattingType"), mattingType);
+}
+
+std::string ModifyLiveAIStudioRequest::getMediaResourceUrl() const {
+  return mediaResourceUrl_;
+}
+
+void ModifyLiveAIStudioRequest::setMediaResourceUrl(const std::string &mediaResourceUrl) {
+  mediaResourceUrl_ = mediaResourceUrl;
+  setParameter(std::string("MediaResourceUrl"), mediaResourceUrl);
+}
+
+int ModifyLiveAIStudioRequest::getHeight() const {
+  return height_;
+}
+
+void ModifyLiveAIStudioRequest::setHeight(int height) {
+  height_ = height;
+  setParameter(std::string("Height"), std::to_string(height));
+}
+
+std::string ModifyLiveAIStudioRequest::getBackgroundResourceUrl() const {
+  return backgroundResourceUrl_;
+}
+
+void ModifyLiveAIStudioRequest::setBackgroundResourceUrl(const std::string &backgroundResourceUrl) {
+  backgroundResourceUrl_ = backgroundResourceUrl;
+  setParameter(std::string("BackgroundResourceUrl"), backgroundResourceUrl);
+}
+
+std::string ModifyLiveAIStudioRequest::getMediaResourceId() const {
+  return mediaResourceId_;
+}
+
+void ModifyLiveAIStudioRequest::setMediaResourceId(const std::string &mediaResourceId) {
+  mediaResourceId_ = mediaResourceId;
+  setParameter(std::string("MediaResourceId"), mediaResourceId);
+}
+
+ModifyLiveAIStudioRequest::MattingLayout ModifyLiveAIStudioRequest::getMattingLayout() const {
+  return mattingLayout_;
+}
+
+void ModifyLiveAIStudioRequest::setMattingLayout(const ModifyLiveAIStudioRequest::MattingLayout &mattingLayout) {
+  mattingLayout_ = mattingLayout;
+  setParameter(std::string("MattingLayout") + ".PositionX", std::to_string(mattingLayout.positionX));
+  setParameter(std::string("MattingLayout") + ".PositionY", std::to_string(mattingLayout.positionY));
+  setParameter(std::string("MattingLayout") + ".HeightNormalized", std::to_string(mattingLayout.heightNormalized));
+}
+
+long ModifyLiveAIStudioRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void ModifyLiveAIStudioRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string ModifyLiveAIStudioRequest::getStudioName() const {
+  return studioName_;
+}
+
+void ModifyLiveAIStudioRequest::setStudioName(const std::string &studioName) {
+  studioName_ = studioName;
+  setParameter(std::string("StudioName"), studioName);
+}
+
+int ModifyLiveAIStudioRequest::getWidth() const {
+  return width_;
+}
+
+void ModifyLiveAIStudioRequest::setWidth(int width) {
+  width_ = width;
+  setParameter(std::string("Width"), std::to_string(width));
+}
+
+std::string ModifyLiveAIStudioRequest::getMediaType() const {
+  return mediaType_;
+}
+
+void ModifyLiveAIStudioRequest::setMediaType(const std::string &mediaType) {
+  mediaType_ = mediaType;
+  setParameter(std::string("MediaType"), mediaType);
+}
+

+ 44 - 0
live/src/model/ModifyLiveAIStudioResult.cc

@@ -0,0 +1,44 @@
+/*
+ * 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/live/model/ModifyLiveAIStudioResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Live;
+using namespace AlibabaCloud::Live::Model;
+
+ModifyLiveAIStudioResult::ModifyLiveAIStudioResult() :
+	ServiceResult()
+{}
+
+ModifyLiveAIStudioResult::ModifyLiveAIStudioResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyLiveAIStudioResult::~ModifyLiveAIStudioResult()
+{}
+
+void ModifyLiveAIStudioResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 9 - 0
live/src/model/StartLiveMPUTaskRequest.cc

@@ -69,6 +69,15 @@ void StartLiveMPUTaskRequest::setMultiStreamURL(const std::vector<StartLiveMPUTa
   }
 }
 
+std::string StartLiveMPUTaskRequest::getMaxIdleTime() const {
+  return maxIdleTime_;
+}
+
+void StartLiveMPUTaskRequest::setMaxIdleTime(const std::string &maxIdleTime) {
+  maxIdleTime_ = maxIdleTime;
+  setParameter(std::string("MaxIdleTime"), maxIdleTime);
+}
+
 StartLiveMPUTaskRequest::SeiParams StartLiveMPUTaskRequest::getSeiParams() const {
   return seiParams_;
 }