TTS
Os endpoints de TTS permitem a interação com os modelos de síntese de fala disponíveis na plataforma SipPulse AI. Você pode obter uma lista de todos os modelos disponíveis, gerar áudio a partir de texto, e baixar ou transmitir o áudio gerado.
Endpoints
GET /tts/models
Este endpoint retorna uma lista de todos os modelos de TTS disponíveis.
Parâmetros de Consulta
status
(opcional): O status dos modelos. Pode seractive
ouinactive
. O padrão éactive
.
Exemplo de Requisição
curl -X 'GET' \
'https://api.sippulse.ai/v1/tts/models' \
-H 'Content-Type: application/json' \
-H 'api-key: $SIPPULSE_API_KEY'
import requests
url = "https://api.sippulse.ai/v1/tts/models"
headers = {
"Content-Type": "application/json",
"api-key": "SIPPULSE_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const url = "https://api.sippulse.ai/v1/tts/models";
const headers = {
"Content-Type": "application/json",
"api-key": "SIPPULSE_API_KEY",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Exemplo de Resposta
[
{
"name": "azure-tts",
"status": "active"
}
]
GET /tts/azure/voices
Este endpoint retorna uma lista de todas as vozes disponíveis para o modelo azure-tts
.
Exemplo de Requisição
curl -X 'GET' \
'https://api.sippulse.ai/v1/tts/azure/voices' \
-H 'Content-Type: application/json
-H 'api-key: $SIPPULSE_API_KEY'
import requests
url = "https://api.sippulse.ai/v1/tts/azure/voices"
headers = {
"Content-Type": "application
"api-key": "SIPPULSE_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const url = "https://api.sippulse.ai/v1/tts/azure/voices";
const headers = {
"Content-Type": "application/json",
"api-key": "SIPPULSE_API_KEY",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Exemplo de Resposta
[
"af-ZA-AdriNeural",
"af-ZA-WillemNeural",
"am-ET-MekdesNeural",
"am-ET-AmehaNeural",
"ar-AE-FatimaNeural",
"ar-AE-HamdanNeural",
"ar-BH-LailaNeural",
"ar-BH-AliNeural"
//...
]
POST /tts/generate
Este endpoint gera um arquivo de áudio a partir de um texto usando o modelo especificado.
Corpo da Requisição
{
"model": "string", // Nome do modelo a ser usado
"text": "string", // Texto a ser convertido em fala
"voice": "string", // Voz a ser usada para a conversão
"output_format": 5 // (opcional) Formato de saída do áudio
}
Vozes Disponíveis
Caso o modelo seja azure-tts
, o campo voice
deve ser uma das vozes disponíveis para o modelo. Para obter a lista de vozes disponíveis, consulte o endpoint GET /tts/azure/voices.
Formatos de Saída
O campo output_format
é opcional e só é necessário se o modelo for azure-tts
. Para obter mais informações sobre os formatos de saída disponíveis, consulte a documentação da Microsoft.
Exemplo de Requisição
curl -X 'POST' \
'https://api.sippulse.ai/v1/tts/generate' \
-H 'Content-Type: application/json' \
-H 'api-key: $SIPPULSE_API_KEY' \
-d '{
"model": "azure-tts",
"text": "Olá, bem-vindo ao SipPulse AI.",
"voice": "pt-BR-FranciscaNeural",
"output_format": 5
}'
import requests
import json
url = "https://api.sippulse.ai/v1/tts/generate"
headers = {
"Content-Type": "application/json",
"api-key": "SIPPULSE_API_KEY"
}
data = {
"model": "azure-tts",
"text": "Olá, bem-vindo ao SipPulse AI.",
"voice": "pt-BR-FranciscaNeural",
"output_format": 5
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
const url = "https://api.sippulse.ai/v1/tts/generate";
const headers = {
"Content-Type": "application/json",
"api-key": "SIPPULSE_API_KEY",
};
const data = {
model: "azure-tts",
text: "Olá, bem-vindo ao SipPulse AI.",
voice: "pt-BR-FranciscaNeural",
output_format: 5,
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(data),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Exemplo de Resposta
{
"filename": "tts_output.mp3",
"cache": false,
"usage": 10,
"unit": "characters",
"stream": "https://api.sippulse.ai/v1/tts/stream/tts_output.mp3",
"download": "https://api.sippulse.ai/v1/tts/download/tts_output.mp3"
}
GET /tts/download/
Este endpoint permite baixar um arquivo de áudio gerado.
Parâmetros de Caminho
filename
(obrigatório): O nome do arquivo de áudio a ser baixado.
Exemplo de Requisição
curl -X 'GET' \
'https://api.sippulse.ai/v1/tts/download/tts_output.mp3' \
-H 'api-key: $SIPPULSE_API_KEY'
import requests
url = "https://api.sippulse.ai/v1/tts/download/tts_output.mp3"
headers = {
"api-key": "SIPPULSE_API_KEY"
}
response = requests.get(url, headers=headers)
with open("tts_output.mp3", "wb") as f:
f.write(response.content)
const fs = require("fs");
const url = "https://api.sippulse.ai/v1/tts/download/tts_output.mp3";
const headers = {
"api-key": "SIPPULSE_API_KEY",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then((response) => response.buffer())
.then((data) => fs.writeFileSync("tts_output.mp3", data))
.catch((error) => console.error("Error:", error));
GET /tts/stream/
Este endpoint permite transmitir um arquivo de áudio gerado.
Parâmetros de Caminho
filename
(obrigatório): O nome do arquivo de áudio a ser transmitido.
Exemplo de Requisição
curl -X 'GET' \
'https://api.sippulse.ai/v1/tts/stream/tts_output.mp3' \
-H 'api-key: $SIPPULSE_API_KEY'
import requests
url = "https://api.sippulse.ai/v1/tts/stream/tts_output.mp3"
headers = {
"api-key": "SIPPULSE_API_KEY"
}
response = requests.get(url, headers=headers, stream=True)
with open("tts_output.mp3", "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
const fs = require("fs");
const url = "https://api.sippulse.ai/v1/tts/stream/tts_output.mp3";
const headers = {
"api-key": "SIPPULSE_API_KEY",
};
fetch(url, {
method: "GET",
headers: headers,
})
.then((response) =>
response.body.pipe(fs.createWriteStream("tts_output.mp3"))
)
.catch((error) => console.error("Error:", error));
Conclusão
Os endpoints de TTS da SipPulse AI oferecem uma forma poderosa de converter texto em áudio e integrar essas funcionalidades em suas aplicações. Utilize as informações e exemplos fornecidos para começar a explorar e implementar essas funcionalidades em seus projetos.