Vercel AI SDK
Vercel AI SDKのElevenLabs Providerを使用して、オーディオファイルとビデオファイルから音声を文字起こしします。
ハウツーガイド · スピーチtoテキストの クイックスタートを完了し、Vercelプロジェクトを設定済みであることを前提としています。
ElevenLabs Provider
ElevenLabs providerは、ElevenLabs文字起こしAPIをサポートします。
セットアップ
ElevenLabs providerは@ai-sdk/elevenlabsモジュールで利用できます。npmでインストールできます。
Providerインスタンス
@ai-sdk/elevenlabsからデフォルトのproviderインスタンスelevenlabsをインポートできます。
カスタマイズした設定が必要な場合は、@ai-sdk/elevenlabsからcreateElevenLabsをインポートし、設定に応じたproviderインスタンスを作成できます。
ElevenLabs providerインスタンスは、以下のオプション設定でカスタマイズできます。
-
apiKey string
Authorizationヘッダーで送信するAPIキーです。 デフォルトではELEVENLABS_API_KEY環境変数が使用されます。 -
headers Record<string,string>
リクエストに含めるカスタムヘッダーです。
-
fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>
カスタムfetch実装です。 デフォルトではグローバルの
fetch関数が使用されます。 ミドルウェアとして使用してリクエストをインターセプトしたり、 たとえばテスト用にカスタムfetch実装を提供したりできます。
文字起こしモデル
.transcription()ファクトリメソッドを使用して、ElevenLabs文字起こしAPIを
呼び出すモデルを作成できます。
最初の引数は、scribe_v2などのモデルIDです。
providerOptions引数を使用して、追加のprovider固有オプションを渡すこともできます。たとえば、入力言語が事前にわかっている場合、ISO-639-1形式(例:en)で指定すると、文字起こしのパフォーマンスが向上することがあります。
以下のproviderオプションを利用できます。
-
languageCode string
オーディオファイルの言語に対応するISO-639-1またはISO-639-3言語コードです。 事前にわかっている場合、文字起こしのパフォーマンスが向上することがあります。 デフォルトは
nullで、その場合は言語が自動的に推定されます。 -
tagAudioEvents boolean
文字起こし内で(笑い声)、(足音)などのオーディオイベントにタグを付けるかどうかです。 デフォルトは
trueです。 -
numSpeakers integer
アップロードしたファイル内で話している話者の最大数です。 誰がいつ話しているかの推定に役立ちます。 推定できる話者の最大数は32です。 デフォルトは
nullで、その場合は話者数がモデルでサポートされる最大値に設定されます。 -
timestampsGranularity enum
文字起こし内のタイムスタンプの粒度です。 デフォルトは
'word'です。 使用できる値:'none'、'word'、'character'。 -
diarize boolean
アップロードしたファイルで現在話している話者に注釈を付けるかどうかです。 デフォルトは
trueです。 -
fileFormat enum
入力オーディオの形式です。 デフォルトは
'other'です。 使用できる値:'pcm_s16le_16'、'other'。'pcm_s16le_16'の場合、入力オーディオは16kHzのサンプルレート、シングルチャンネル(モノラル)、リトルエンディアンのバイトオーダーによる16ビットPCMである必要があります。 エンコード済み波形を渡す場合よりもレイテンシーが低くなります。