Referência da API
Teste endpoints públicos em tempo real e revise a autenticação, idempotência e limites de publicação manual para fluxos de trabalho de conteúdo.
API de fala para texto
/transcribeConverta arquivos de áudio em texto com suporte a vários formatos e dicionários personalizados.
Áudios longos podem retornar um status de otimização por IA pendente/em execução enquanto a otimização em blocos é concluída em segundo plano. Esses exemplos de código abrangem a requisição pública /transcribe; os endpoints internos de status e recuperação de tarefas de otimização de IA não são expostos como API pública.
Quando a otimização de IA está ativada, dify_processing pode incluir os campos de diagnóstico opcionais n8n_workflow_name, n8n_workflow_id, n8n_call_id e n8n_execution_id; uma nova tentativa bem-sucedida no Records para desktop preserva a mesma identidade de fluxo de trabalho. Um acerto no cache de pré-busca reutiliza a primeira chamada, portanto finalize não despacha um fluxo de trabalho duplicado apenas para preencher esses campos. Esses identificadores não são credenciais, mas ainda assim não devem ser publicados junto com o texto da transcrição, chaves de API ou URLs de webhook.
O endpoint /transcribe requer multipart/form-data com um arquivo de áudio binário no campo 'audio' (não 'file'). Os campos opcionais do formulário incluem 'prompt' e 'dict' (matriz de string JSON com pares misspelling/correct_spelling).
Exemplo de transcrição cURL multipart
curl -X POST "https://api.vowise.com/transcribe" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "prompt=Interview about technology" \
-F 'dict=[{"misspelling":"AI","correct_spelling":"Artificial Intelligence"}]'API de gerenciamento de dicionário
/api/v1/dictionaryRecupere todas as entradas do dicionário do usuário.
Experimentar
/api/v1/dictionary/addAdicione ou atualize uma entrada no dicionário.
Experimentar
/api/v1/dictionary/deleteExclua uma entrada específica do dicionário. Requer misspelling nos parâmetros de consulta.
Experimentar
API de fluxo de trabalho de conteúdo
Authorization: Bearer YOUR_API_KEYEsses endpoints retornam apenas conteúdo pertencente ao usuário da chave de API. As variantes da plataforma são implementadas por ambiente; os clientes devem tratar 404, 409 e 503 em vez de presumir que uma rota significa que a interface do produto está ativada.
/api/v1/content/items/{id}/familyLeia um conteúdo mestre, suas variantes de plataforma, estado de geração, estado de aprovação e atualização.
/api/v1/content/items/{master_id}/variantsCrie ou reutilize variantes para canais ativos do usuário, com no máximo 10 destinos por solicitação.
/api/v1/content/items/{variant_id}/regenerateCrie uma nova tarefa de geração para uma variante existente preservando o instantâneo de origem e a proteção contra conflitos.
/api/v1/content/items/{variant_id}/approveAprove apenas o título e o corpo atuais identificados por content_hash; edições posteriores invalidam a aprovação.
/api/v1/content/items/{id}/deliveriesRegistre os estados de evidência para compartilhamento direto, cópia ou exportação; abrir o painel não confirma a publicação.
/api/v1/content/items/{variant_id}/deliveries/manualConfirme uma variante aprovada, atual e publicada manualmente; este endpoint nunca chama serviços de terceiros.
Exemplo de criação de variantes de plataforma
client_request_id deve ser estável e exclusivo para o usuário. O mesmo ID só pode reproduzir o mesmo conteúdo mestre, canal, predefinição e instantâneo; outro payload retorna 409 idempotency_conflict.
curl -X POST "https://api.vowise.com/api/v1/content/items/CONTENT_ITEM_ID/variants" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_request_id": "client-generated-stable-id",
"targets": [
{ "channel_id": "CHANNEL_ID", "preset_id": "PRESET_ID" }
]
}'Limites de evidência de entrega
O fluxo de conteúdo não salva credenciais de terceiros nem publica automaticamente em nome do usuário. O painel nativo apenas prova o início ou exibição; o resultado só é confirmado com evidências independentes. O callback interno é protegido por segredo de serviço e não é público.
Exemplos de integração e código
Python (requests)
import requests
# 1. Transcribe audio with multipart form upload
url = "https://api.vowise.com/transcribe"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"audio": open("audio.wav", "rb")}
data = {
"prompt": "Interview about technology",
"dict": '[{"misspelling": "AI", "correct_spelling": "Artificial Intelligence"}]'
}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
# 2. Manage dictionary
dict_url = "https://api.vowise.com/api/v1/dictionary"
entries = requests.get(dict_url, headers=headers).json()
print("Dictionary entries:", entries)
# Delete dictionary entry (misspelling as query parameter)
requests.delete(f"{dict_url}/delete", headers=headers, params={"misspelling": "AI"})JavaScript (fetch)
// 1. Transcribe audio with FormData
const formData = new FormData();
formData.append("audio", audioFile); // File or Blob object
formData.append("prompt", "Interview about technology");
formData.append("dict", JSON.stringify([
{ misspelling: "AI", correct_spelling: "Artificial Intelligence" }
]));
const transcribeRes = await fetch("https://api.vowise.com/transcribe", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY"
},
body: formData
});
const result = await transcribeRes.json();
console.log("Transcript:", result.text);
// 2. Manage dictionary
const dictRes = await fetch("https://api.vowise.com/api/v1/dictionary", {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});
const entries = await dictRes.json();
console.log("Dictionary entries:", entries);
// Delete dictionary entry (misspelling as query parameter)
await fetch("https://api.vowise.com/api/v1/dictionary/delete?misspelling=AI", {
method: "DELETE",
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});