ElevenLabs シリーズ
ElevenLabs の音声モデルで、全 2 モデルです。Eleven v4 は音声合成、Scribe v2 は文字起こしに使います。どちらも OpenAI 互換の音声エンドポイントで呼び出します。
elevenlabs/eleven_v4POST /v1/audio/speechelevenlabs/scribe_v2POST /v1/audio/transcriptionsエンドポイントの共通パラメータは Audio Speech API と Audio Transcriptions API を参照してください。リアルタイムの価格はモデルページ を参照してください。音声合成は文字数、文字起こしは音声の長さで課金されます。
Eleven v4 音声合成
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
with client.audio.speech.with_streaming_response.create(
model="elevenlabs/eleven_v4",
voice="21m00Tcm4TlvDq8ikWAM",
input="こんにちは、OfoxAI の音声合成へようこそ。",
response_format="mp3",
) as resp:
resp.stream_to_file("speech.mp3")実測では、約 20 文字の中国語の文で約 2 秒でレスポンスが返り、生成された音声は約 4 秒でした。
Scribe v2 文字起こし
Scribe v2 は文字起こしのテキストに加えて、単語ごとの開始・終了時刻を返し、話者の識別もできます。
Python
import json
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"])
with open("meeting.mp3", "rb") as f:
result = client.audio.transcriptions.create(
model="elevenlabs/scribe_v2",
file=f,
extra_body={"provider_options": json.dumps({"elevenlabs": {"diarize": True}})},
)
print(result.text)
for w in (result.model_extra or {}).get("words", [])[:10]:
print(w.get("speaker"), w["start"], w["end"], w["word"])レスポンスの構造:
- 話者分離は
provider_optionsで有効にします:{"elevenlabs": {"diarize": true}}を JSON 文字列としてフォームフィールドで渡します。 response_formatはjsonとverbose_jsonに対応しており、どちらも同じ内容を返します。字幕ファイルが必要な場合は、wordsのタイムスタンプから生成してください。
よくあるエラー
その他のエラーは Audio Speech API と Audio Transcriptions API を参照してください。
公式ドキュメント
よくある質問
ElevenLabs の voice には何を指定しますか?
ボイス ID(20 文字)を指定します。例:21m00Tcm4TlvDq8ikWAM。ElevenLabs のボイスライブラリで確認できます。ボイス名(例:Rachel)や OpenAI の alloy を指定すると 404 voice_id not found が返ります。
Eleven v4 が対応している音声フォーマットは?
mp3(デフォルト)、opus、wav、pcm です。aac と flac には対応していません。
Scribe v2 で話者を区別できますか?
できます。provider_options で {"elevenlabs": {"diarize": true}} を渡すと、レスポンスの words の各単語に speaker フィールド(例:speaker_0、speaker_1)が付きます。
Scribe v2 で srt 字幕を直接出力できますか?
できません。response_format は json と verbose_json のみに対応しています。レスポンスの words にある start と end のタイムスタンプから字幕を生成してください。
ElevenLabs の音声はどのように課金されますか?
Eleven v4 は入力文字数、Scribe v2 は音声の長さで課金されます。単価はモデルページを参照してください。