Leelo

開発者向け · API

Leeloのすべての機能を、APIキーひとつで。

音声の生成、吹き替え、文字起こし、効果音、ノイズ除去を、シンプルなREST APIで。時間のかかる処理が終わるとWebhookでお知らせし、MCPサーバーを使えば、AIアシスタントがLeeloを直接使えます。

API、Webhook、MCPはProとBusinessで

API・MCP · 0:36

01エンドポイント

すべてのルートと、その費用。

JSONで送って、JSONで受け取ります。キーはアプリごとに1つ、Authorizationヘッダーで渡します。ベースURL:https://api.leelo-ai.com

ルート内容クレジット
GET/v1/meプラン、残りのクレジット、ストレージ無料
GET/v1/voicesすべての声(ご自身の声が先頭)。?locale=fr-FR、?q=、?limit=、?after=無料
GET/v1/voices/{id}1つの声無料
POST/v1/speechテキストを声で読み上げ → 音声のURL。同じテキストと声なら、2回目からは無料です。1語あたり1 · ご自身の声は5
POST/v1/transcriptionsメディアのURL → タイムスタンプと話者付きの行1分あたり40
GET/v1/transcriptions/{id}以前に作成した文字起こし無料
POST/v1/dubsメディアのURLを、ほかの言語に。ジョブを返し、処理は自動で完了します。1言語・1分あたり5,000
GET/v1/dubs/{id}吹き替えの進み具合と、完了後のURL無料
POST/v1/sounds説明 → 効果音。?attemptsは最大31秒あたり20(最低100)
POST/v1/cleanups録音のURL → 音量を整えた声だけ1分あたり1,300
POST/v1/writing文章の処理:rewrite · shorten · fix · split · script · translate500語あたり10
GET/v1/projectsStudioのプロジェクト無料
GET/v1/projects/{id}プロジェクトの行、話者、音声無料
POST/v1/projects/{id}/exportsプロジェクト全体を、マスタリング済みの1ファイルに無料
GET/v1/files書き出し、吹き替え、ノイズ除去、効果音。?kind=無料
GET/v1/usageすべての利用料金(使ったキーのラベル付き)無料
GET/v1/rates各機能の料金(クレジット)無料
POST/v1/webhooks送信先を登録:{ url, events }無料
GET/v1/webhooks登録済みのWebhookと、利用できるすべてのイベント無料
GET/v1/webhooks/deliveries送信した内容と、その結果無料
DELETE/v1/webhooks/{id}送信先への送信を停止無料

02Webhook

終わったら、お知らせします。

送信先のアドレスと、受け取りたいイベントを登録します。すべての送信には署名が付き、サーバーが停止していれば再送され、送った内容を確認できるよう記録されます。

  • dub.completed吹き替えが完了。ペイロードにURLを含みます
  • dub.failed吹き替えを完了できませんでした。クレジットは返却済みです
  • transcription.completed文字起こしの準備ができました
  • export.completedプロジェクトの書き出しをダウンロードできます
  • credits.low今月のクレジットが残りわずかです
  • credits.depleted今月のクレジットを使い切りました

各リクエストにはLeelo-Signature: t=…,v1=…が付きます。これは、Webhookのシークレットで計算した`${t}.${body}`のHMAC-SHA256です。送信に失敗した場合は、1日半のあいだに7回再送します。

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

AIアシスタントの中に、Leeloを。

Claude、CursorなどのMCPクライアントをつないで、ふつうの言葉で頼むだけ。「これを温かみのある日本語の声で読んで」「この動画をスペイン語に吹き替えて」。APIキーで動き、クレジットもアプリと同じ。すべての呼び出しが利用状況に表示されます。

Claude Code

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

Cursor、Windsurfなどのクライアント

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

04記事プレーヤー

「この記事を聴く」を、たった1行で。

書き出した音声を、好きな色とライト/ダークのテーマのプレーヤーとして公開し、HTMLを1行ページに貼り付けるだけ。すべてのプランで使え、APIキーも不要です。

見た目
お好みのアクセントカラーで、ライトかダーク。波形と再生速度の調整付き。
軽さ
遅延読み込みで、音声は読者が再生を押したときにだけ読み込みます。
数字
再生回数を数え、節目の回数を超えると通知でお知らせします。
記事とアクセシビリティ →
<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>

05よくある質問

開発を始める前に。

API、Webhook、MCPサーバーは、ProとBusinessに含まれます。記事プレーヤーは、すべてのプランで使えます。

アプリと同じクレジットで、料金も同じです。標準の声は1語あたり1クレジット、文字起こしは1分あたり40、吹き替えは1言語・1分あたり5,000です。同じテキストを同じ声でもう一度頼んでも、費用はかかりません。

はい。クローンした声やデザインした声は、GET /v1/voicesの一覧の先頭に表示され、1語あたり5クレジットです。

吹き替えはジョブとして処理されます。POSTでジョブを開始すると、そのidが返ります。GET /v1/dubs/{id}で確認するか、Webhookを登録して、ファイルのURL付きのdub.completedを受け取ってください。

はい。GET /v1/usageで、すべての利用料金が、使ったキーのラベル付きで一覧になります。アプリの利用状況ページでも、同じ内容を確認できます。

Leeloで、つくろう。

まずは無料で始めて、APIキーが必要になったらProにアップグレード。クレジットも声も、アプリと同じです。

無料で始める:1,000クレジット