ナビゲーションにスキップ

キータームプロンプティング

このガイドでは、スピーチtoテキストAPIでキータームプロンプティングを使用する方法をご紹介します。

ハウツーガイド · スピーチtoテキストの クイックスタートを完了していることを前提としています。

概要

キータームプロンプティングは、Scribe v2、Scribe v2 Medical(バッチ)、Scribe v2 Realtimeで利用でき、 追加料金がかかります。詳しい料金については、API料金 ページ をご覧ください。

キータームプロンプティングは、単語やフレーズを強調して、モデルがそれらを文字起こししやすくする機能です。これは、プロダクト名、人名、その他の固有用語など、音声内で一般的ではない特定の単語や文を文字起こしする場合に役立ちます。キータームは、他のモデルが提供するバイアス付きキーワードやカスタム語彙より強力です。コンテキストに基づき、その用語を文字起こしするかどうかを判断するためです。

バッチ(Scribe v2/Scribe v2 Medical)リアルタイム(Scribe v2 Realtime)
キータームの最大数100050
キータームごとの最大文字数5020

バッチ文字起こしでは、各キータームに含められる単語数は最大5語です。

たとえば、会社名が一般的なフレーズではない場合や、独自のスペルまたは発音を持つ場合は、キータームを使用してモデルが正しく文字起こしするようにできます。次の音声をご確認ください。

キータームプロンプティングを使用しない場合、モデルは上記を次のように文字起こしする可能性があります。

I work at eleven labs.

この場合、会社名に誤ったスタイルが使用されています。キータームプロンプティングを使用すると、モデルが正しいスペルとスタイルで上記を文字起こしするようにできます。

I work at ElevenLabs.

コンテキスト

モデルはコンテキストを使用して、用語を文字起こしすべきかどうかを判断できます。キータームとして「ElevenLabs」を指定すると、上記の音声は期待どおりに文字起こしされますが、モデルはコンテキストに基づいて次の内容も正しく文字起こしできます。

出力される文字起こしは次のとおりです。

I've worked at many labs. In fact I've worked at eleven labs.

バッチ文字起こし

キータームプロンプティングは、convertメソッドにkeytermsパラメータを渡すことで、バッチスピーチtoテキストAPIに統合できます。

import os
from dotenv import load_dotenv
from io import BytesIO
import requests
from elevenlabs.client import ElevenLabs
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio_url = (
"https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/stt-keyterm-prompting.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)
transcription = elevenlabs.speech_to_text.convert(
file=audio_data,
model_id="scribe_v2", # Model to use
# Keyterms to prompt the model with.
# Up to 1000 keyterms can be provided, with a maximum length of 50 characters each
keyterms=["ElevenLabs"],
)
print(transcription)

リアルタイムストリーミング

キータームプロンプティングは、リアルタイムスピーチtoテキストWebSocket APIでも利用できます。接続時にkeytermsパラメータを渡してください。

connection = await elevenlabs.speech_to_text.realtime.connect(RealtimeUrlOptions(
model_id="scribe_v2_realtime",
keyterms=["ElevenLabs"],
))

WebSocket APIを直接使用する場合は、キータームをクエリパラメータとして渡します。

wss://api.elevenlabs.io/v1/speech-to-text/realtime?model_id=scribe_v2_realtime&keyterms=ElevenLabs&keyterms=AnotherTerm

次のステップ