Help Center/ MetaStudio/ API Reference/ Voice Modeling Task Management/ Creating a Voice Training Task (Advanced Edition)
Updated on 2024-07-04 GMT+08:00

Creating a Voice Training Task (Advanced Edition)

Function

This API is used to create a voice training task (advanced edition). This API returns an OBS URL for uploading voice files.

Voice files can be uploaded in either of the following ways:

  • Compressing voice files and text files into a .zip file for upload: A voice file has been divided into 100 .wav files. Each voice file corresponds to a .txt file. All files are compressed into a .zip file. Voice files are named in the format of x.wav (x is an integer ranging from 0 to 99). Text files are named in the format of x.txt (x is an integer ranging from 0 to 99).

  • Uploading voice files and text files sentence by sentence: Upload the voice file and text file of a sentence each time, and then call the API for confirming the online recording result to check whether the voice is consistent with the text. After the confirmation, upload and confirm the next sentence.

  • After the files are uploaded, call the API for submitting a voice training task to start review and training.

Calling Method

For details, see Calling APIs.

URI

POST /v1/{project_id}/voice-training-manage/user/middle-jobs

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

User token. This parameter is mandatory when token authentication is used.

You can obtain the token by calling the IAM API used to obtain a user token.

Value of X-Subject-Token in the response header.

Authorization

No

String

Authentication information. This parameter is mandatory for AK/SK authentication.

X-Sdk-Date

No

String

Time when the request is sent. This parameter is mandatory for AK/SK authentication.

The format is YYYYMMDD'T'HHMMSS'Z'.

X-Project-Id

No

String

Project ID. This parameter is mandatory for AK/SK authentication.

X-App-UserId

No

String

Third-party user ID, which does not allow Chinese characters.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

tag

No

String

Task tag.

  • ECOMMERCE

  • NEWS

  • MARKETING

description

No

String

Description, which is displayed in the asset library.

sex

No

String

Voice gender, which can be male or female.

  • FEMALE

  • MALE

voice_name

Yes

String

Timbre name. The name is used as the name of the timbre model asset in the asset library.

language

No

String

Training language. Currently, only Chinese is supported.

  • CN: Chinese

  • EN: English

create_type

No

String

Task creation mode.

  • PACKAGE: A .zip file contains all data.

  • SEGMENT: Data is uploaded sentence by sentence.

phone

No

String

Mobile phone number

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

job_id

String

Task ID.

training_data_uploading_url

String

URL of the uploaded training data. You need to compress the training data into a .zip file and upload the file to this URL. This parameter is specified when create_type is set to package.

NOTE:
  • Set content-type to application/zip when uploading files to the OBS URL.

segment_uploading_url

segment_uploading_url object

URL of an upload task sentence by sentence. This parameter is specified when create_type is set to segment.

authorization_letter_uploading_url

String

Upload URL of the authorization letter.

Table 5 segment_uploading_url

Parameter

Type

Description

audio_uploading_url

Array of strings

URL for uploading audio files.

NOTE:
  • Set content-type to audio/wav when uploading files to the OBS URL.

txt_uploading_url

Array of strings

URL for uploading text files.

NOTE:
  • Set content-type to text/plain when uploading files to the OBS URL.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

POST https://{endpoint}/v1/3f0924078d1b471c884a5383d4dec9fa/voice-training-manage/user/middle-jobs

{
  "tag" : "ECOMMERCE",
  "description" : "It is a female voice.",
  "sex" : "FEMALE",
  "voice_name" : "Gentle female voice",
  "language" : "CN",
  "create_type" : "PACKAGE"
}

Example Responses

Status code: 200

The information is returned when the request succeeded.

{
  "job_id" : "abcdefg",
  "training_data_uploading_url" : "https://my-bucket/data.zip",
  "segment_uploading_url" : {
    "audio_uploading_url" : [ "https://my-bucket/data0.wav" ],
    "txt_uploading_url" : [ "https://my-bucket/data0.txt" ]
  },
  "authorization_letter_uploading_url" : "https://my-bucket/data"
}

Status Codes

Status Code

Description

200

The information is returned when the request succeeded.

400

Invalid parameter.

Error Codes

See Error Codes.