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

Fish Audio: Fish Audio S1

fish/s1
提供中 tts 1プロバイダー
Playground

Previous-generation Fish Audio text-to-speech model with parenthesis-style emotion tags.

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

プロバイダー

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

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

対応言語

1言語
English en

ボイス

機能

Text to speech

Generates spoken audio from text input.

text_to_speech
Streaming

Supports streaming audio output (HTTP + WebSocket) with optional timestamps.

streaming
Synchronous

Synthesizes speech from fully-submitted text in a single synchronous request.

synchronous
Multilingual

Supports 13 languages.

multilingual
Voice cloning

Supports instant (reference audio) and persistent (reference_id) voice cloning.

voice_cloning
Emotion / expression control

S1 uses (parenthesis) emotion tags.

emotion_control

コード

クライアント
モード
言語

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/s1",
  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.
}