Abliteratedモデルルーターを公開しました。今すぐ無料でお試しください。

公開 · AllModels

リアルタイム音声合成プロバイダーを1つのAPIで

AllModels経由で複数のTTSモデルに接続できます。WebSocketで音声をストリーミングしたり、OpenAI互換・ElevenLabs互換のSDKを使ったりでき、音声スタックを作り直さずにモデルを切り替えられます。

AllModelsは独立したサービスであり、ルーティング先のモデルを提供するプロバイダーとは提携関係になく、その承認や後援も受けていません。

統合型TTS APIとは

統合型の音声合成(TTS)APIとは、さまざまなプロバイダーのモデルで音声を生成できる単一のインテグレーションです。Cartesia用、ElevenLabs用、MiniMax用、OpenAI用とクライアントを個別に書く代わりに、アプリケーションは1つのエンドポイントと1つのAPIキーでやり取りします。どのプロバイダーが処理するかは、選んだモデルで決まります。AllModelsはこの種の統合型TTS APIです。cartesia/sonic-3-6やminimax/speech-2-8-hdのようなモデルIDを送ると、AllModelsがリクエストをそのプロバイダーにルーティングし、音声をストリーミングで返します。同じ考え方は、TTSアグリゲーターAPI、音声合成の抽象化レイヤー、「音声合成版のOpenRouter」とも呼ばれます。

AllModelsの仕組み

AllModelsのTTSカタログにあるすべてのモデルにはprovider/model形式のIDがあります。認証はAllModelsのAPIキー1つで済み、プロバイダーごとに管理していた個別のキーや請求アカウントは不要になります。AllModelsでは、同じモデルを次の3つの方法で呼び出せます。

  • ネイティブWebSocket:wss://api.allmodels.io/v1/tts。テキストを生成されるそばから送り、音声をバイナリメッセージとして受け取ります。AllModelsネイティブのリアルタイムインターフェースです。
  • OpenAI互換:https://api.allmodels.io/oai。公式のOpenAI SDKのベースURLをここに向ければ、そのままaudio.speech.createを呼び出せます。
  • ElevenLabs互換:https://api.allmodels.io/el。公式のElevenLabs SDKのベースURLをここに向ければ、ストリーミングを含む音声合成メソッドをそのまま呼び出せます。

3つとも同じカタログにアクセスします。コードベースですでにOpenAIやElevenLabsのSDKを使っている場合は、ベースURLとAPIキーを変えるだけでAllModelsに移行できます。

1つのカタログ、1つのキー、1つの残高

アグリゲーターであるAllModelsでは、プロバイダーの比較と制御も1か所で行えます。GET /v1/modelsは、すべてのTTSモデルと、それを提供するプロバイダー、1,000文字あたりの価格を一覧表示します。1つのモデルを複数のプロバイダーが提供している場合は、providerの設定でどれを使うかを選べます。onlyは指定したプロバイダーに固定し、orderは指定したプロバイダーを優先し、ignoreは指定したプロバイダーを除外します。すべてのプロバイダーの利用料は、プロバイダーごとの個別請求ではなく、AllModelsのプリペイド残高1つから差し引かれます。

モデルだけ変えて、ほかはそのまま

APIキー、エンドポイント、クライアント、リクエストのコードは、プロバイダーが変わってもまったく同じです。別のTTSモデルを使うにはモデルIDを変えるだけです。プロバイダーへの接続、そのAPIの処理、アプリケーションへの音声の返却はAllModelsが引き受けます。

どのクライアントからでもリアルタイム音声をストリーミング

クライアント、モード、言語を選んでください。ハイライトされた行は、AllModelsのベースURLと、別のモデルを試すときに変更するモデルとボイスの値です。

クライアント
モード
言語

ネイティブWebSocket(ストリーミング) JavaScript · Node.js · ws

wss://api.allmodels.io/v1/ttsに接続し、テキストを生成されるそばから送って、音声をバイナリメッセージとして受け取ります。 ストリーミングガイド。

import { once } from "node:events";
import { createWriteStream } from "node:fs";
import WebSocket from "ws";

const url = new URL("wss://api.allmodels.io/v1/tts");
url.searchParams.set("model", "grok/grok-tts");
url.searchParams.set("voice", "eve");
url.searchParams.set("format", "pcm");

const output = createWriteStream("reply.pcm");
const ws = new WebSocket(url, {
  headers: { Authorization: `Bearer ${process.env.ALLMODELS_API_KEY}` }
});

// Audio arrives as binary WebSocket messages.
ws.on("message", (data, isBinary) => {
  if (isBinary) output.write(data);
});

await once(ws, "open");
// Send text as your LLM or application produces it.
ws.send(JSON.stringify({ type: "text", text: "Your order has shipped. " }));
ws.send(JSON.stringify({ type: "text", text: "It arrives tomorrow." }));
ws.send(JSON.stringify({ type: "flush" }));
ws.send(JSON.stringify({ type: "close" }));

await once(ws, "close");
output.end();

互換インターフェース

チームが使い慣れたクライアントをそのまま

https://api.allmodels.io/oai

OpenAI互換

すでにOpenAI SDKを使っていますか?ベースURLをAllModelsに設定すれば、AllModelsのモデルIDでそのままaudio.speech.createを呼び出せます。ストリーミングと単一リクエストのどちらにも対応しています。

OpenAI TTSドキュメントを読む

https://api.allmodels.io/el

ElevenLabs互換

すでにElevenLabs SDKを使っていますか?ベースURLをAllModelsに設定すれば、AllModelsのモデルIDでconvert、stream、realtimeの各メソッドをそのまま使えます。

ElevenLabs TTSドキュメントを読む

要点まとめ

リアルタイムTTS APIの基本

統合型TTS APIとは何ですか?

統合型TTS APIは、複数の音声合成モデルに対する単一のインテグレーション窓口をアプリケーションに提供します。AllModelsでは、選んだモデルIDでルートが決まり、認証と基本的なリクエストの流れは変わりません。

AllModelsはリアルタイム音声に対応していますか?

はい。ネイティブインターフェースは/v1/ttsでWebSocket経由のストリーミングを行い、ElevenLabs Python SDKは互換WebSocket経由でテキストをストリーミング入力でき、どちらのSDKもHTTPで音声をストリーミングで受け取れます。ストリーミング対応はモデルによって異なります。

各プロバイダーの機能はすべて使えますか?

はい。共通の設定は標準のフィールドで指定し、ボイス設定などのプロバイダー固有の設定はprovider_optionsに入れると、そのままプロバイダーに渡されます。

音声合成版のOpenRouterはありますか?

はい。AllModelsは音声版のOpenRouterのように使えます。1つのAPIキーと1つのエンドポイントで、複数プロバイダーの音声合成モデルをprovider/model形式のIDで選んで利用できます。公式のOpenAI SDKとElevenLabs SDKにも対応しているため、既存のコードはベースURLとキーを変えるだけで済みます。

TTSアグリゲーターAPIとオープンソースの抽象化ライブラリはどう違いますか?

オープンソースの抽象化ライブラリはアプリケーション内で動作し、ラップする各プロバイダーごとに自前のアカウント、APIキー、請求が必要です。AllModelsのようなアグリゲーターAPIはホスト型サービスで、1つのキーと1つのプリペイド残高でTTSカタログ全体を利用でき、すでに使っているOpenAIやElevenLabsのSDK、またはWebSocketで呼び出せます。

プロバイダーを比較するには?

アプリケーションのモデルIDを変更する前に、TTSカタログで利用可能なモデル、ルート、価格、言語、ボイス、APIの例を比較してください。

3ステップで1つのインテグレーション
  1. 1
    モデルを選ぶ。 最新のカタログから、provider/model形式のIDでTTSモデルを選びます。
  2. 2
    APIキーは1つだけ。 プロバイダーごとの個別のキーではなく、AllModelsで認証します。
  3. 3
    ストリーミングまたは生成。 ライブ音声にはWebSocketでストリーミングし、完成したファイルが必要ならHTTPでリクエストします。

AllModelsで開発する

TTSのインテグレーションは1つから。

今すぐモデルを選び、あとから自由に変更できます。