Documentação da API
API REST para integração do VoiceXpress em sites que não utilizam WordPress.
Introdução
A API VoiceXpress permite converter conteúdo de texto em áudio profissional de forma automatizada. Adicione seus artigos à fila de processamento e receba notificações quando os áudios estiverem prontos.
Base URL:
https://voicexpress.app/api
Autenticação
Todos os endpoints requerem autenticação via header X-Api-Key.
Você pode encontrar sua chave de API no painel de configurações do seu site.
X-Api-Key: sua-chave-secreta-aqui
Criar Áudio
/insert
Adiciona um conteúdo à fila de criação de áudio. O áudio será processado de forma assíncrona e uma notificação será enviada para a URL especificada quando estiver pronto.
Request Body
{
"title": "Os 20 Maiores Operadores do Brasil em 2025",
"content": "Os 20 Maiores ...",
"url": "https://seusite.com/artigo-exemplo",
"image": "https://seusite.com/imagem.jpg",
"post_id": 22299,
"categories": [
"iGaming",
"Relatórios",
"Todas as Notícias"
],
"notification_url": "https://seusite.com/seu-webhook"
}
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title |
string | Sim | Título do conteúdo |
content |
string | Sim | Conteúdo completo que será convertido em áudio |
url |
string | Sim | URL do artigo/post original |
image |
string | Não | URL da imagem de capa |
post_id |
integer | Não | ID do post no seu sistema |
categories |
array | Não | Lista de categorias do conteúdo |
notification_url |
string | Sim | URL que receberá a notificação quando o áudio estiver pronto |
Respostas
✅ Sucesso (200)
507f1f77bcf86cd799439011-98761681
Webhook de Notificação
Quando o áudio for gerado, uma requisição POST será enviada para
a notification_url especificada.
Body da Notificação
{
"site_key": "sua-chave-secreta",
"audio_key": "abc123-456"
}
🔊 URL do Áudio Gerado:
https://cdn.voicexpress.app/audios/{audio_key}.mp3
Exemplo: https://cdn.voicexpress.app/audios/abc123-456.mp3
Implementação do Webhook
Exemplo em PHP:
<?php
// webhook.php
// Recebe o JSON
$json = file_get_contents('php://input');
$data = json_decode($json, true);
// Valida a chave
if ($data['site_key'] !== 'sua-chave-secreta') {
http_response_code(401);
exit('Unauthorized');
}
// Monta a URL do áudio
$audio_url = "https://cdn.voicexpress.app/audios/{$data['audio_key']}.mp3";
// Atualiza seu post/artigo com o áudio
// update_post_audio($data['post_id'], $audio_url);
// Retorna sucesso
http_response_code(200);
echo json_encode(['success' => true]);
?>
Consultar Créditos
/credits
Verifica o saldo de créditos disponíveis para o seu domínio.
Exemplo de Requisição
GET https://voicexpress.app/api/credits
Respostas
✅ Sucesso (200)
{
"credits": 152,
"domain": "seusite.com"
}
Exemplos de Integração
JavaScript / Node.js
// Enviar conteúdo para geração de áudio
async function createAudio() {
const response = await fetch('https://voicexpress.app/api/insert', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': 'sua-chave-secreta'
},
body: JSON.stringify({
title: 'Título do Artigo',
content: 'Conteúdo completo do artigo...',
url: 'https://seusite.com/artigo',
image: 'https://seusite.com/imagem.jpg',
post_id: 12345,
categories: ['Tecnologia', 'News'],
notification_url: 'https://seusite.com/webhook'
})
});
const data = await response.json();
console.log(data);
}
// Consultar créditos
async function checkCredits() {
const response = await fetch(
'https://voicexpress.app/api/credits',
{
headers: {
'X-Api-Key': 'sua-chave-secreta'
}
}
);
const data = await response.json();
console.log(`Créditos restantes: ${data.credits}`);
}
Python
import requests
# Configuração
API_KEY = 'sua-chave-secreta'
BASE_URL = 'https://voicexpress.app/api'
headers = {
'X-Api-Key': API_KEY,
'Content-Type': 'application/json'
}
# Criar áudio
def create_audio():
data = {
'title': 'Título do Artigo',
'content': 'Conteúdo completo do artigo...',
'url': 'https://seusite.com/artigo',
'image': 'https://seusite.com/imagem.jpg',
'post_id': 12345,
'categories': ['Tecnologia', 'News'],
'notification_url': 'https://seusite.com/webhook'
}
response = requests.post(
f'{BASE_URL}/insert',
json=data,
headers=headers
)
return response.json()
# Consultar créditos
def check_credits(domain):
response = requests.get(
f'{BASE_URL}/credits',
params={'domain': domain},
headers={'X-Api-Key': API_KEY}
)
return response.json()
# Usar
result = create_audio()
print(result)
credits = check_credits('seusite.com')
print(f"Créditos: {credits['credits']}")
cURL
# Criar áudio
curl -X POST https://voicexpress.app/api/insert \
-H "Content-Type: application/json" \
-H "X-Api-Key: sua-chave-secreta" \
-d '{
"title": "Título do Artigo",
"content": "Conteúdo completo...",
"url": "https://seusite.com/artigo",
"image": "https://seusite.com/imagem.jpg",
"post_id": 12345,
"categories": ["Tecnologia"],
"notification_url": "https://seusite.com/webhook"
}'
# Consultar créditos
curl -X GET "https://voicexpress.app/api/credits" \
-H "X-Api-Key: sua-chave-secreta"
Notas Importantes
⏱️ Processamento Assíncrono
O áudio não é gerado imediatamente. A requisição é adicionada à fila e processada conforme disponibilidade.
🔔 Webhook Obrigatório
A notification_url é obrigatória para você receber a confirmação quando o áudio estiver pronto.
🔒 Segurança
Sempre valide o site_key recebido no webhook para garantir que a notificação veio do VoiceXpress.
💳 Créditos
Cada áudio gerado consome 1 crédito. Consulte seu saldo antes de enviar requisições.
🎵 Formato do Áudio
Todos os áudios são gerados no formato MP3 com qualidade otimizada para web.
Suporte
Para obter sua chave de API ou reportar problemas:
- 📊 Dashboard: voicexpress.app/sites
- ✉️ Email: [email protected]