# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. 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.
require 'json'
module TencentCloud
module Vclm
module V20240523
class Client < TencentCloud::Common::AbstractClient
def initialize(credential, region, profile = nil)
api_version = '2024-05-23'
api_endpoint = 'vclm.tencentcloudapi.com'
sdk_version = 'VCLM_' + File.read(File.expand_path('../VERSION', __dir__)).strip
super(credential, region, api_version, api_endpoint, sdk_version, profile)
end
# 检查图片跳舞输入图
# @param request: Request instance for CheckAnimateImageJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::CheckAnimateImageJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::CheckAnimateImageJobResponse`
def CheckAnimateImageJob(request)
body = send_request('CheckAnimateImageJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CheckAnimateImageJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 确认视频转译结果
# @param request: Request instance for ConfirmVideoTranslateJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::ConfirmVideoTranslateJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::ConfirmVideoTranslateJobResponse`
def ConfirmVideoTranslateJob(request)
body = send_request('ConfirmVideoTranslateJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ConfirmVideoTranslateJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于查询图片跳舞任务。图片跳舞能力支持舞蹈动作结合图片生成跳舞视频,满足社交娱乐、互动营销等场景的需求。
# @param request: Request instance for DescribeImageAnimateJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::DescribeImageAnimateJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::DescribeImageAnimateJobResponse`
def DescribeImageAnimateJob(request)
body = send_request('DescribeImageAnimateJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeImageAnimateJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于查询图片唱演任务。
# 支持提交音频和图片生成唱演视频,满足社交娱乐、互动营销等场景的需求。
# @param request: Request instance for DescribePortraitSingJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::DescribePortraitSingJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::DescribePortraitSingJobResponse`
def DescribePortraitSingJob(request)
body = send_request('DescribePortraitSingJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePortraitSingJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于查询视频风格化任务。视频风格化支持将输入视频生成特定风格的视频。生成后的视频画面风格多样、流畅自然,能够满足社交娱乐、互动营销、视频素材制作等场景的需求。
# @param request: Request instance for DescribeVideoStylizationJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::DescribeVideoStylizationJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::DescribeVideoStylizationJobResponse`
def DescribeVideoStylizationJob(request)
body = send_request('DescribeVideoStylizationJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeVideoStylizationJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 查询视频转译任务
# @param request: Request instance for DescribeVideoTranslateJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::DescribeVideoTranslateJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::DescribeVideoTranslateJobResponse`
def DescribeVideoTranslateJob(request)
body = send_request('DescribeVideoTranslateJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeVideoTranslateJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于提交图片跳舞任务。图片跳舞能力支持舞蹈动作结合图片生成跳舞视频,满足社交娱乐、互动营销等场景的需求。
# @param request: Request instance for SubmitImageAnimateJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::SubmitImageAnimateJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::SubmitImageAnimateJobResponse`
def SubmitImageAnimateJob(request)
body = send_request('SubmitImageAnimateJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SubmitImageAnimateJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于提交图片唱演任务。
# 支持提交音频和图片生成唱演视频,满足社交娱乐、互动营销等场景的需求。
# @param request: Request instance for SubmitPortraitSingJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::SubmitPortraitSingJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::SubmitPortraitSingJobResponse`
def SubmitPortraitSingJob(request)
body = send_request('SubmitPortraitSingJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SubmitPortraitSingJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 用于提交视频风格化任务。支持将输入视频生成特定风格的视频。生成后的视频画面风格多样、流畅自然,能够满足社交娱乐、互动营销、视频素材制作等场景的需求。
# @param request: Request instance for SubmitVideoStylizationJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::SubmitVideoStylizationJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::SubmitVideoStylizationJobResponse`
def SubmitVideoStylizationJob(request)
body = send_request('SubmitVideoStylizationJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SubmitVideoStylizationJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# ### 支持音色种别列表。
# 每个音色都支持:英语(美国)、阿拉伯语、德语、西班牙语、法语、印尼语、意大利语、日语、韩语、马来语、葡萄牙语、俄语、泰语、土耳其语、越南语。
# | 音色名称 | 性别 | 音色ID |
# | ----------- | ---- | ------ |
# | Seraphina | 女 | 701002 |
# | Ada | 女 | 701003 |
# | Emma | 女 | 701007 |
# | Brian | 男 | 701008 |
# | Amanda | 女 | 701013 |
# | Brandon | 男 | 701014 |
# | Christopher | 男 | 701015 |
# | Davis | 男 | 701017 |
# | Derek | 男 | 701018 |
# | Dustin | 男 | 701019 |
# | Evelyn | 女 | 701020 |
# | Lewis | 男 | 701021 |
# | Lola | 女 | 701022 |
# | Samuel | 男 | 701026 |
# | Steffan | 男 | 701028 |
# | Arabella | 女 | 701029 |
# | Isidora | 女 | 701030 |
# | Tristan | 男 | 701031 |
# | Vivienne | 女 | 701034 |
# | Lucien | 男 | 701035 |
# | Alessio | 男 | 701036 |
# | Giuseppe | 男 | 701037 |
# | Isabella | 女 | 701038 |
# | Marcello | 男 | 701039 |
# | Masaru | 男 | 701040 |
# | Macerio | 男 | 701042 |
# | Thalita | 女 | 701043 |
# | 晓晓 | 女 | 701045 |
# | 晓宇 | 女 | 701046 |
# | 云逸 | 男 | 701047 |
# | Yunfan | 男 | 701048 |
# @param request: Request instance for SubmitVideoTranslateJob.
# @type request: :class:`Tencentcloud::vclm::V20240523::SubmitVideoTranslateJobRequest`
# @rtype: :class:`Tencentcloud::vclm::V20240523::SubmitVideoTranslateJobResponse`
def SubmitVideoTranslateJob(request)
body = send_request('SubmitVideoTranslateJob', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SubmitVideoTranslateJobResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
end
end
end
end