aipodcast-20250228/Sources/AlibabacloudAIPodcast20250228/Client.swift (123 lines of code) (raw):

import Foundation import Tea import TeaUtils import AlibabacloudOpenApi import AlibabaCloudOpenApiUtil import AlibabacloudEndpointUtil open class Client : AlibabacloudOpenApi.Client { public override init(_ config: AlibabacloudOpenApi.Config) throws { try super.init(config) self._endpointRule = "" try checkConfig(config as! AlibabacloudOpenApi.Config) self._endpoint = try getEndpoint("aipodcast", self._regionId ?? "", self._endpointRule ?? "", self._network ?? "", self._suffix ?? "", self._endpointMap ?? [:], self._endpoint ?? "") } public func getEndpoint(_ productId: String, _ regionId: String, _ endpointRule: String, _ network: String, _ suffix: String, _ endpointMap: [String: String], _ endpoint: String) throws -> String { if (!TeaUtils.Client.empty(endpoint)) { return endpoint as! String } if (!TeaUtils.Client.isUnset(endpointMap) && !TeaUtils.Client.empty(endpointMap[regionId as! String])) { return endpointMap[regionId as! String] ?? "" } return try AlibabacloudEndpointUtil.Client.getEndpointRules(productId, regionId, endpointRule, network, suffix) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func podcastTaskResultQueryWithOptions(_ request: PodcastTaskResultQueryRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> PodcastTaskResultQueryResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.taskId)) { body["taskId"] = request.taskId ?? ""; } if (!TeaUtils.Client.isUnset(request.workspaceId)) { body["workspaceId"] = request.workspaceId ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "headers": headers as! [String: String], "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "PodcastTaskResultQuery", "version": "2025-02-28", "protocol": "HTTPS", "pathname": "/podcast/task", "method": "POST", "authType": "AK", "style": "ROA", "reqBodyType": "formData", "bodyType": "json" ]) if (TeaUtils.Client.isUnset(self._signatureVersion) || !TeaUtils.Client.equalString(self._signatureVersion, "v4")) { var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(PodcastTaskResultQueryResponse(), tmp) } else { var tmp: [String: Any] = try await execute(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(PodcastTaskResultQueryResponse(), tmp) } } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func podcastTaskResultQuery(_ request: PodcastTaskResultQueryRequest) async throws -> PodcastTaskResultQueryResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) var headers: [String: String] = [:] return try await podcastTaskResultQueryWithOptions(request as! PodcastTaskResultQueryRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func podcastTaskSubmitWithOptions(_ tmpReq: PodcastTaskSubmitRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> PodcastTaskSubmitResponse { try TeaUtils.Client.validateModel(tmpReq) var request: PodcastTaskSubmitShrinkRequest = PodcastTaskSubmitShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.fileUrls)) { request.fileUrlsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.fileUrls, "fileUrls", "json") } if (!TeaUtils.Client.isUnset(tmpReq.voices)) { request.voicesShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.voices, "voices", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.counts)) { body["counts"] = request.counts!; } if (!TeaUtils.Client.isUnset(request.fileUrlsShrink)) { body["fileUrls"] = request.fileUrlsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.text)) { body["text"] = request.text ?? ""; } if (!TeaUtils.Client.isUnset(request.topic)) { body["topic"] = request.topic ?? ""; } if (!TeaUtils.Client.isUnset(request.voicesShrink)) { body["voices"] = request.voicesShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.workspaceId)) { body["workspaceId"] = request.workspaceId ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "headers": headers as! [String: String], "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "PodcastTaskSubmit", "version": "2025-02-28", "protocol": "HTTPS", "pathname": "/podcast/task/submit", "method": "POST", "authType": "AK", "style": "ROA", "reqBodyType": "formData", "bodyType": "json" ]) if (TeaUtils.Client.isUnset(self._signatureVersion) || !TeaUtils.Client.equalString(self._signatureVersion, "v4")) { var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(PodcastTaskSubmitResponse(), tmp) } else { var tmp: [String: Any] = try await execute(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(PodcastTaskSubmitResponse(), tmp) } } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func podcastTaskSubmit(_ request: PodcastTaskSubmitRequest) async throws -> PodcastTaskSubmitResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) var headers: [String: String] = [:] return try await podcastTaskSubmitWithOptions(request as! PodcastTaskSubmitRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions) } }