文档首页/ 数字内容生产线 MetaStudio/ API参考/ 语音合成/ 语音合成管理/ 校验音色模型是否可用(自研和第三方音色)
更新时间:2025-09-28 GMT+08:00
分享

校验音色模型是否可用(自研和第三方音色)

功能介绍

该接口用于校验音色模型是否可用,模型可用返回模型信息,不可用返回具体不可用的原因

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/ttsc/check-voice-asset/{voice_asset_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

voice_asset_id

String

音色资产id

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。使用Token鉴权方式时必选。

通过调用IAM服务获取用户Token接口获取。

响应消息头中X-Subject-Token的值。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

X-Project-Id

String

使用AK/SK方式认证时必选,携带项目ID信息。

X-App-UserId

String

第三方用户ID。不允许输入中文。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

asset_id

String

资产ID。

asset_name

String

资产名称。

asset_type

String

资产类型。

公共资产类型:

  • VOICE_MODEL:音色模型

asset_state

String

资产状态。

  • CREATING:资产创建中,主文件尚未上传

  • FAILED:主文件上传失败

  • UNACTIVED:主文件上传成功,资产未激活,资产不可用于其他业务(用户可更新状态)

  • ACTIVED:主文件上传成功,资产激活,资产可用于其他业务(用户可更新状态)

  • DELETING:资产删除中,资产不可用,资产可恢复

  • DELETED:资产文件已删除,资产不可用,资产不可恢复

  • BLOCK: 资产被冻结,资产不可用,不可查看文件。

create_time

String

资产创建时间。

update_time

String

资产更新时间。

asset_extra_meta

TtscAssetExtraMeta object

资产元数据。根据资产类型选择其中一个填写。

files

Array of TtscAssetFileInfo objects

资产下的文件。

表4 TtscAssetExtraMeta

参数

参数类型

描述

voice_model_meta

TtscVoiceModelAssetMeta object

音色模型元数据。

表5 TtscVoiceModelAssetMeta

参数

参数类型

描述

sex

String

音色性别。

  • UNKNOW:中性音色

  • MALE:男性音色

  • FEMALE:女性音色

默认UNKNOW。

默认取值:

UNKNOW

external_voice_meta

TtscExternalVoiceAssetMeta object

第三方TTS音色元数据。

language

String

音色语言。

  • UNKNOW:未知

  • CN:中文

  • EN:英文

  • GER:德语

  • fr:法语

  • Kr:韩语

  • por:葡萄牙语

  • JPN:日语

  • Ita:意大利语

  • ESP:西班牙语

  • DBH:东北话

  • GT:港台

  • GXH:广西话

  • HBH:湖北话

  • SXH:陕西话

  • SCH:四川话

  • YY:粤语

  • Russian: 俄罗斯语

  • Filipino: 菲律宾语

  • Dutch: 荷兰语

  • Indonesian: 印尼语

  • Vietnamese: 越南语

  • Arabic: 阿拉伯语

  • Turkish: 土耳其语

  • Malay: 马来语

  • Thai: 泰语

  • Finnish: 芬兰语

默认UNKNOW。

默认取值:

UNKNOW

speed_ratio

Float

语速缩放比例

取值范围:

0-100

默认取值:

1

volume_ratio

Float

音量缩放比例

取值范围:

0-100

默认取值:

1

表6 TtscExternalVoiceAssetMeta

参数

参数类型

描述

provider

String

第三方TTS供应商类型。

  • XIMALAYA:喜马拉雅TTS

  • HUAWEI_EI:EI TTS

  • MOBVOI:出门问问TTS

mobvoi_voice_meta

TtscMobvoiVoiceAssetMeta object

出门问问TTS音色元数据。

audiox_voice_meta

TtscAudioxVoiceAssetMeta object

逻辑智能TTS音色元数据。

表7 TtscMobvoiVoiceAssetMeta

参数

参数类型

描述

speaker

String

合成音频指定发音人

表8 TtscAudioxVoiceAssetMeta

参数

参数类型

描述

speaker

String

合成音频指定发音人

表9 TtscAssetFileInfo

参数

参数类型

描述

file_id

String

文件ID。

file_name

String

文件名创建文件时候不区分大小写,最大长度256,最小长度1。

file_md5

String

文件内容MD5值,固定24位。

file_size

Long

文件总的大小,最小1,最大5368709120。

取值范围:

1-5368709120

file_type

String

文件类型(默认提取文件后缀)。

asset_file_category

String

文件在资产中的分类。每种资产类型包含的文件分类不同。

  • MAIN:主文件

  • COVER:封面文件

  • PAGE:内容页图片

  • SAMPLE:样例音频

  • OTHER:其他文件

  • WHOLE_MODEL:全模型

  • USER_MODIFIED_MODEL:用户上传模型

说明:
  • 资产类型为SCENE、ANIMATION、VIDEO、IMAGE、MATERIAL时,包含MAIN、COVER和OTHER

  • 资产类型为PPT时,包含MAIN、COVER、PAGE和OTHER

  • 资产类型为HUMAN_MODEL时,包含MAIN、COVER和OTHER

  • 资产类型为VOICE_MODEL时,包含MAIN、SAMPLE(样例音频文件)和OTHER

  • 资产类型为HUMAN_MODEL_2D时,包含MAIN、COVER、SAMPLE(动作样例)和OTHER(遮罩文件)

  • 资产类型为BUSINESS_CARD_TEMPLET时,包含MAIN和COVER(名片效果图)

download_url

String

文件下载URL,有效期为24小时。

state

String

文件状态枚举:

  • CREATING:文件上传中

  • CREATED:文件已上传(自动审核通过)

  • FAILED:文件上传失败

  • CANCELLED:文件上传已取消

  • DELETING:文件删除中

  • DELETED:文件已删除

  • UPLOADED:文件已上传(尚未审核)

  • REVIEW:人工审核(文件已上传)

reason

String

审核失败原因

状态码:400

表10 响应Body参数

参数

参数类型

描述

error_code

String

业务返回码

  • MSS.000000001 - 失败

  • MSS.000000002 - 内部错误

  • MSS.000000003 - 非法参数

  • MSS.000000004 - 非法访问,未鉴权或者鉴权失败

error_msg

String

返回描述

request_id

String

请求唯一标识

状态码:500

表11 响应Body参数

参数

参数类型

描述

error_code

String

业务返回码

  • MSS.000000001 - 失败

  • MSS.000000002 - 内部错误

  • MSS.000000003 - 非法参数

  • MSS.000000004 - 非法访问,未鉴权或者鉴权失败

error_msg

String

返回描述

request_id

String

请求唯一标识

请求示例

POST https://{endpoint}/v1/3f0924078d1b471c884a5383d4dec9fa/ttsc/preload/858153064daf186c36a07802dc859234

响应示例

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.metastudio.v1.region.MetaStudioRegion;
import com.huaweicloud.sdk.metastudio.v1.*;
import com.huaweicloud.sdk.metastudio.v1.model.*;


public class CheckVoiceAssetSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        MetaStudioClient client = MetaStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(MetaStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        CheckVoiceAssetRequest request = new CheckVoiceAssetRequest();
        request.withVoiceAssetId("{voice_asset_id}");
        try {
            CheckVoiceAssetResponse response = client.checkVoiceAsset(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmetastudio.v1.region.metastudio_region import MetaStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkmetastudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = MetaStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(MetaStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = CheckVoiceAssetRequest()
        request.voice_asset_id = "{voice_asset_id}"
        response = client.check_voice_asset(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    metastudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := metastudio.NewMetaStudioClient(
        metastudio.MetaStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.CheckVoiceAssetRequest{}
	request.VoiceAssetId = "{voice_asset_id}"
	response, err := client.CheckVoiceAsset(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

处理成功。

400

参数异常

500

服务端异常

错误码

请参见错误码

相关文档