API de Push-to-Speech
Nota: Las difusiones de voz creadas mediante esta API solo se pueden consultar, modificar o eliminar a través de la API.
Nota: El tipo de idioma del archivo de voz actualmente solo admite "en", "zh-Hans", "zh-Hant".
Autenticación
Para obtener más detalles, se recomienda consultar la sección de visión general de la API REST sobre Métodos de autenticación.
Crear/actualizar difusión de voz
Crea una nueva difusión de voz si no existe; la actualiza si ya existe.
Endpoint
POST v4/voices
Ejemplo de solicitud
Encabezados de la solicitud
POST /v4/voices
Authorization: Basic (base64 auth string)
Content-Type: multipart/form-data
Accept: multipart/form-data
Datos de la solicitud
--form 'language="en"'
--form 'file="file"'
Descripción de los datos de la solicitud
language: Especifica el idioma del archivo de difusión de voz; se utiliza para seleccionar el idioma requerido de la difusión de voz.file: Archivo zip necesario para la difusión de voz, que contiene todos los archivos mp3 necesarios.
Ejemplo de respuesta
Respuesta correcta
HTTP/1.1 200 OK
Server: fasthttp
Date: Thu, 01 Dec 2022 07:17:45 GMT
Content-Type: application/json
Content-Length: 85
{
"file_url": ""
}
file_url: URL de descarga del archivo cargado en Huawei Cloud OBS.
Respuesta con error
HTTP/1.1 400 BAD REQUEST
Content-Type: application/json; charset=utf-8
{
"error": {
"code": 28400,
"message": "error message"
}
}
Especificaciones de archivos de audio
Los archivos de audio de esta API deben nombrarse según números y palabras especificados, siendo el formato de cada archivo .mp3. A continuación se detallan los nombres admitidos:
Inglés (en):
- Números: "0" a "20", "30", "40", "50", "60", "70", "80", "90", "100", "1000", "1000000", "1000000000"
- Palabras: "point", "and"
Chino (zh):
- Números: "0" a "10", "100", "1000", "10000", "100000000"
- Palabras: "point"
Se debe asegurar que todos los archivos estén en formato MP3 para una integración correcta del sistema.
Recuperar la lista de difusiones de voz
Endpoint
GET v4/voices
Ejemplo de solicitud
Encabezados de la solicitud
GET /v4/voices
Authorization: Basic (base64 auth string)
- Orden de clasificación: primero las actualizaciones más recientes.
Ejemplo de respuesta
Respuesta correcta
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
{
"language":"en",
"file_url":""
}
]
- Devuelve la lista de difusiones de voz válidas de dicha aplicación.
languagees el solicitado durante la creación/actualización.file_urles la URL de descarga en Huawei Cloud OBS del archivo cargado.
Recuperar los detalles de la difusión de voz
Endpoint
GET v4/voices/{language}
Ejemplo de solicitud
Encabezados de la solicitud
GET /v4/voices/en
Authorization: Basic (base64 auth string)
Ejemplo de respuesta
Respuesta correcta
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Datos de respuesta
{
"file_url": ""
}
- Si
languageno existe, devuelve 404; en caso contrario, devuelve elfile_urlreal, que es la URL de descarga en Huawei Cloud OBS del archivo cargado.
Eliminar archivo de voz
Endpoint
DELETE v4/voices/{language}
Ejemplo de solicitud
DELETE /v4/voices/en
Authorization: Basic (base64 auth string)
Ejemplo de respuesta
Respuesta correcta
HTTP/1.0 200
Content-Type: application/json
Content-Length: 0
Respuesta con error
- Si
languageno es válido o no existe.
HTTP/1.0 404 Not Found
Content-Type: application/json
- Si la operación de actualización no es válida.
HTTP/1.1 400 BAD REQUEST
Content-Type: application/json; charset=utf-8
{
"error": {
"code": 28400,
"message": "error message"
}
}
Códigos de error
| Código | Estado HTTP | Descripción | Mensaje de error | Explicación detallada |
|---|---|---|---|---|
| 28000 | 200 | Respuesta correcta | nil | Código de estado correcto |
| 28101 | 401 | Fallo de autenticación | Basic authentication failed. | Appkey y mastersecret no coinciden. |
| 28200 | 500 | Error interno del servidor | Server Internal error. | Se produjo un error imprevisto. |
| 28203 | 503 | Error interno del servidor; inténtelo de nuevo más tarde | Execute action timeout, please try later again | Error de comunicación con schedule-server. |
