Leelo

Desarrolladores · API

Todo lo que hace Leelo, detrás de una clave.

Voz, doblaje, transcripción, efectos de sonido y limpieza de audio con una API REST sencilla. Los webhooks te avisan cuando terminan los trabajos largos, y un servidor MCP permite que los asistentes de IA usen Leelo directamente.

API, webhooks y MCP en Pro y Business

API y MCP · 0:35

01Endpoints

Cada ruta, y lo que cuesta.

Entra JSON, sale JSON, con una clave por app en una cabecera Authorization. URL base: https://api.leelo-ai.com

RutaQué haceCréditos
GET/v1/meTu plan, los créditos que te quedan y el almacenamientogratis
GET/v1/voicesTodas las voces, las tuyas primero. ?locale=fr-FR, ?q=, ?limit=, ?after=gratis
GET/v1/voices/{id}Una vozgratis
POST/v1/speechTexto leído con una voz → una URL de audio. Repetir el mismo texto con la misma voz es gratis.1 / palabra · 5 con tu propia voz
POST/v1/transcriptionsUna URL de audio o vídeo → líneas con tiempos y hablantes40 / minuto
GET/v1/transcriptions/{id}Una transcripción que hiciste antesgratis
POST/v1/dubsUna URL de audio o vídeo, a otro idioma. Devuelve un trabajo que termina por sí solo.5000 / minuto, por idioma
GET/v1/dubs/{id}En qué punto está un doblaje, y su URL cuando terminagratis
POST/v1/soundsUna descripción → efectos de sonido. ?attempts hasta 320 / segundo, 100 como mínimo
POST/v1/cleanupsUna URL de grabación → solo la voz, nivelada1300 / minuto
POST/v1/writingrewrite · shorten · fix · split · script · translate10 / 500 palabras
GET/v1/projectsTus proyectos del Studiogratis
GET/v1/projects/{id}Las líneas, los hablantes y el audio de un proyectogratis
POST/v1/projects/{id}/exportsTodo el proyecto en un solo archivo masterizadogratis
GET/v1/filesExportaciones, doblajes, limpiezas y sonidos. ?kind=gratis
GET/v1/usageCada cargo, con la clave que lo hizogratis
GET/v1/ratesLo que cuesta cada cosa, en créditosgratis
POST/v1/webhooksRegistra una dirección: { url, events }gratis
GET/v1/webhooksTus webhooks, y todos los eventos que existengratis
GET/v1/webhooks/deliveriesQué se envió, y cómo fuegratis
DELETE/v1/webhooks/{id}Dejar de enviar a una direccióngratis

02Webhooks

Entérate en cuanto esté listo.

Registra una dirección y los eventos que te interesan. Cada entrega va firmada, se reintenta si tu servidor no responde y queda registrada para que veas qué se envió.

  • dub.completedUn doblaje ha terminado; el payload incluye su URL
  • dub.failedUn doblaje no se pudo terminar; sus créditos se han devuelto
  • transcription.completedUna transcripción está lista
  • export.completedLa exportación de un proyecto está lista para descargar
  • credits.lowQuedan pocos créditos este mes
  • credits.depletedSe han agotado los créditos del mes

Cada petición lleva Leelo-Signature: t=…,v1=…, un HMAC-SHA256 de `${t}.${body}` con el secreto de tu webhook. Las entregas fallidas se reintentan siete veces a lo largo de un día y medio.

import { createHmac, timingSafeEqual } from "node:crypto";

function verify(body, header, secret) {
  const { t, v1 } = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  const want = createHmac("sha256", secret).update(`${t}.${body}`).digest("hex");
  return timingSafeEqual(Buffer.from(want), Buffer.from(v1));
}

03MCP

Leelo dentro de tu asistente de IA.

Conecta Claude, Cursor o cualquier cliente MCP y pídelo con tus palabras: lee esto con una voz británica cálida, dobla este vídeo al español. Usa una clave de API y los mismos créditos, y cada llamada aparece en tu consumo.

Claude Code

claude mcp add --transport http leelo https://api.leelo-ai.com/mcp \
  --header "Authorization: Bearer lk_live_…"

Cursor, Windsurf y otros clientes

{
  "mcpServers": {
    "leelo": {
      "url": "https://api.leelo-ai.com/mcp",
      "headers": { "Authorization": "Bearer lk_live_…" }
    }
  }
}

04Reproductor de artículos

«Escucha este artículo», en una línea.

Publica cualquier exportación como un reproductor con tus colores y un tema claro u oscuro, y pega una línea de HTML en tu página. En todos los planes, sin clave de API.

Aspecto
Tu color de acento, claro u oscuro, con forma de onda y control de velocidad.
Peso
Carga en diferido, y el audio solo cuando alguien pulsa play.
Cifras
Se cuentan las reproducciones, y te avisamos cuando un reproductor alcanza un hito.
Artículos y accesibilidad →
<iframe src="https://leelo-ai.com/embed/…"
  title="Listen: Why cities are getting quieter"
  width="100%" height="136" loading="lazy"
  style="border:0;max-width:760px;display:block"></iframe>

05Preguntas

Antes de empezar a programar.

La API, los webhooks y el servidor MCP vienen con Pro y Business. El reproductor de artículos funciona en todos los planes.

Se paga con los mismos créditos que la app y a las mismas tarifas: 1 crédito por palabra con una voz estándar, 40 por minuto de transcripción y 5000 por minuto de doblaje en cada idioma. Volver a pedir el mismo texto con la misma voz no cuesta nada.

Sí. Tus voces clonadas y diseñadas aparecen primero en GET /v1/voices y cuestan 5 créditos por palabra.

Los doblajes son trabajos: un POST inicia uno y devuelve su id. Consulta GET /v1/dubs/{id}, o registra un webhook y recibe dub.completed con la URL del archivo.

Sí. GET /v1/usage enumera cada cargo con la clave que lo hizo, y la página Usage de la app muestra lo mismo.

Constrúyelo con Leelo.

Empieza gratis y pásate a Pro cuando necesites una clave. Los mismos créditos y las mismas voces que en la app.

Empieza gratis: 1.000 créditos