600msも待てない音声エージェントのために

Fish Audio: Fish Audio Drama 3

fish/drama-3
提供中 tts 1プロバイダー
Playground

Fish Audio's Drama 3 text-to-speech model for directed performances, taking plain-language bracketed directions, inline sounds and pauses, paired word-level delivery tags and multi-speaker dialogue on the same /v1/tts, streaming and WebSocket endpoints as the S2 family.

作成者Fish Audio
言語未指定
ボイス読み込み中...
レスポンス形式MP3 · WAV · PCM · Opus
ステータス提供中

プロバイダー

同じモデルを複数のプロバイダーがホストしている場合があります。バックエンドを固定したい場合は1つのプロバイダーを選び、そうでなければルーティングに選択を任せられます。

プロバイダーSlug1,000文字あたりレイテンシiTTSのレイテンシは音声の最初のバイトが届くまでの時間、STTのレイテンシは最初のトークンが届くまでの時間で計測しています。モード稼働率
Fish Audio 19個のパラメーター
fish
$0.05
—
同期 · ストリーミング

対応言語

このモデルの確認済み言語リストはまだありません。

ボイス

機能

Text to speech

Generates spoken audio from text input.

text_to_speech
Streaming

Listed in the model enum of the streaming HTTP (/v1/tts/stream/with-timestamp) and WebSocket (/v1/tts/live/with-timestamp) endpoints in the OpenAPI document, and live-probed on the streaming HTTP endpoint 2026-10-15.

streaming
Synchronous

Synthesizes speech from fully-submitted text in a single POST /v1/tts request.

synchronous
Voice cloning

Accepts reference_id (persistent voice models) and references (zero-shot reference audio) like every Fish TTS model; the endpoint schema is model-agnostic.

voice_cloning
Multi-speaker dialogue

Multi-speaker dialogue synthesis (reference_id array + <|speaker:N|> tags) is available with the S2 family and drama-3, not s1.

multi_speaker

コード

クライアント
モード
言語

ElevenLabs SDKでのストリーミングTTS

ElevenLabs SDKをAllModels経由でルーティングし、音声レスポンスをストリーミングします。

import { ElevenLabsClient } from "elevenlabs";

const client = new ElevenLabsClient({
  apiKey: process.env.ALLMODELS_API_KEY,
  baseUrl: "https://api.allmodels.io/el"
});

const stream = await client.textToSpeech.stream("voice_id", {
  text: "I'm sorry, Dave. I'm afraid I can't do that.",
  modelId: "fish/drama-3",
  outputFormat: "mp3_44100_128"
}, {
  queryParams: {
    provider: {
      "only": [
        "fish"
      ]
    }
  }
});

const reader = stream.getReader();
for (;;) {
  const { done, value } = await reader.read();
  if (done) break;
  // Write value to your response, file, or audio playback pipeline.
}