Referencia de la API
Pruebe los endpoints públicos en vivo y revise la autenticación, la idempotencia y los límites de publicación manual para los flujos de trabajo de contenido.
API de voz a texto
/transcribeConvierta archivos de audio a texto con soporte para múltiples formatos y diccionarios personalizados.
El audio largo puede devolver un estado de optimización de IA pendiente/en ejecución mientras la optimización fragmentada finaliza en segundo plano. Estos ejemplos de código cubren la solicitud pública /transcribe; los endpoints internos de estado y recuperación de trabajos de optimización no están expuestos como API pública.
Cuando la optimización de IA está activada, dify_processing puede incluir los campos de diagnóstico opcionales n8n_workflow_name, n8n_workflow_id, n8n_call_id y n8n_execution_id; un reintento exitoso en Records de escritorio preserva la misma identidad de flujo de trabajo. Un acierto en la caché de captación previa reutiliza la primera llamada, por lo que finalize no despacha un flujo de trabajo duplicado solo para completar estos campos. Estos identificadores no son credenciales, pero aun así no deben publicarse junto con el texto de la transcripción, las claves API o las URL de webhook.
El endpoint /transcribe requiere multipart/form-data con un archivo de audio binario en el campo 'audio' (no 'file'). Los campos de formulario opcionales incluyen 'prompt' y 'dict' (matriz de cadenas JSON con pares misspelling/correct_spelling).
Ejemplo de transcripción 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 gestión de diccionario
/api/v1/dictionaryRecupere todas las entradas de diccionario del usuario.
Pruébalo
/api/v1/dictionary/addAñada o actualice una entrada de diccionario.
Pruébalo
/api/v1/dictionary/deleteElimine una entrada de diccionario específica. Requiere misspelling en los parámetros de consulta.
Pruébalo
API de flujos de trabajo de contenido
Authorization: Bearer YOUR_API_KEYEstos endpoints solo devuelven contenido perteneciente al usuario de la clave API. Las variantes de plataforma se implementan por entorno; los clientes deben manejar 404, 409 y 503 en lugar de asumir que una ruta significa que la funcionalidad del producto está habilitada.
/api/v1/content/items/{id}/familyLea un contenido principal, sus variantes de plataforma, estado de generación, estado de aprobación y frescura.
/api/v1/content/items/{master_id}/variantsCree o reutilice variantes para canales activos del usuario, con un máximo de 10 objetivos por solicitud.
/api/v1/content/items/{variant_id}/regenerateCree una nueva tarea de generación para una variante existente conservando la instantánea de origen y la protección contra conflictos de edición.
/api/v1/content/items/{variant_id}/approveApruebe únicamente el título y cuerpo actuales identificados por content_hash; ediciones posteriores invalidan la aprobación.
/api/v1/content/items/{id}/deliveriesRegistre estados de evidencia para compartir directo, copiar o exportar archivos; abrir el panel no confirma la publicación externa.
/api/v1/content/items/{variant_id}/deliveries/manualConfirme una variante publicada manualmente, aprobada y no vencida; este endpoint nunca llama a plataformas de terceros.
Ejemplo de creación de variantes de plataforma
client_request_id debe ser estable y único en el ámbito del usuario. El mismo ID solo puede reproducir exactamente el mismo contenido principal, canal, ajuste preestablecido e instantánea; otra carga útil devuelve 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" }
]
}'Límites de evidencia de entrega
El flujo de contenido no almacena credenciales de terceros ni publica automáticamente por el usuario. Un panel nativo o del navegador solo prueba un estado iniciado o presentado; un resultado externo solo se confirma con evidencia confiable independiente. La devolución interna de llamada está protegida por clave de servicio y no es pública.
Ejemplos de integración y 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" }
});