OpenAI: Whisper Large V3 Turbo
Whisper large-v3-turboは、large-v3から派生した、重みが公開されているOpenAIの高速な文字起こし版です。デコーダーは四層で、パラメータ数は8億900万です。多言語の音声をテキストに変換するモデルで、メーカーの公式文書では、音声を英語に翻訳することはTurboの学習対象から除かれています。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Whisper large-v3-turboはTurboとも呼ばれ、Whisper large-v3から派生したOpenAIの最適化された文字起こしモデルです。デコーダーは32層から四層に減らされ、エンコーダーは32層のままです。公開モデルのパラメータ数は約8億900万です。メーカーの目的は、精度に小さな妥協を伴う音声認識の高速化であり、別の音声生成モードではありません。録音した音声が入力で、認識したテキストが結果です。
リリースの発表は、Turboの作成方法と、別途蒸留されたWhisperモデルとを区別しています。Turboは、翻訳データを除いた多言語の文字起こしデータで、さらに二エポックのファインチューニングを受けています。この区別は運用上重要です。OpenAIのリポジトリは、Turboが英語以外の音声を英語に翻訳するよう学習されておらず、翻訳タスクを依頼しても元の言語を返すことがあるとしています。この版は同じ言語での文字起こしに使ってください。翻訳が必要なら、適切な別のモデルか、文字起こし後の別工程で扱います。
音声の言語検出と明示的な言語指定は、文字起こしの選択肢として有用です。録音の言語が分かっている場合は依頼に明記してください。不明な場合は、文書化された流れで検出できます。編集上の整理を求める前に、名前、数量、発話された言葉を保ってください。会議の記録、インタビューの文字起こし、講義のテキストは、その後の別の操作で検索、注釈、要約に使えます。Turboの認識タスクを、音声合成、話者の模倣、録音された人々についての意味的な判断と混同しないでください。
OpenAIの音声ローダーは、入力ファイルを16 kHzのモノラルサンプルにデコードします。モデルは30秒の音響ウィンドウと128個のメル周波数ビンを使います。長い録音には長時間音声の推論処理が必要です。逐次処理はウィンドウを順番に進めます。チャンク方式は重なりのある部分を文字起こしし、その境界をつなぎます。モデルカードは、単一の長いファイルで処理完了までの速さを最優先する場合に後者が有用で、逐次処理は精度を重視する選択肢だと説明しています。ウィンドウやモデル名だけで、ホストされたサービスへのアップロード容量の固定上限が定まるわけではありません。
Turboの正確な設定には、ひとつのデコード系列につき448個のデコーダー位置が記載されています。文書化された推論の流れでは、文字起こしとともに、区間や単語の時刻を含められます。時刻情報は、必要な箇所への移動や、後の字幕整形に役立ちます。字幕ファイルの形式や信頼できる話者ラベルが、自動的に追加されるわけではありません。通常の文字起こしか時刻付き区間が必要かを指定し、見解の分かれる箇所を確認できるよう元の録音を残してください。長時間音声の処理と最終的な整形は、チェックポイントの識別とは別です。
Turboはデコードの処理量を減らしますが、実際に必要な時間は、ハードウェア、録音の長さ、言語、話す速さ、推論の設定によって変わります。メーカーは、どの言語でも一様ではなく、タイ語や広東語を含む一部の言語で品質の低下が大きいとしています。速度を重視するこの妥協があらゆる資料に適するとみなす前に、対象言語の代表的な抜粋で比較してください。アーカイブの処理では、明瞭な冒頭の一文だけでなく、難しい語彙、間、雑音や発話の重なりがある箇所を確認用サンプルに含めてください。
公開されたカードは、Whisperの認識に関する重要な限界を記載しています。予測テキストに発話されていない言葉が含まれたり、文章の反復が起きたりする場合があります。結果は言語、アクセント、方言によって異なり、特に学習で十分に扱われていないものでは差があります。カードは、基本モデルの話者分離や話者分類を、標準の信頼できる機能として確立していません。実用上の確認では、元の音声への忠実さを重視します。重要な名前や数値、抜けた発話、無音時の予期しないテキスト、繰り返しなどです。読みやすい文字起こしも録音と比較するための結果であり、正確な認識の保証ではありません。
有用な完成成果物は、必要な時刻情報と録音への明確な関連付けを持つ、元の言語の文字起こしです。変更を追跡できるよう、認識した版と公開用に編集した版を分けてください。版を比較する際はlarge-v3-turboの名前を保持してください。これは完全なlarge-v3モデルではなく、large-v3の英語翻訳タスクを暗黙に引き継ぐものではありません。また、重みが公開されているという識別に、ホスト型whisper-1サービスのアップロード上限、応答の格納形式、リアルタイム配信の約束が含まれるわけではありません。文書化された文字起こしの特性が実際の資料と求める処理速度に合う場合にTurboを選んでください。
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions openai/whisper-large-v3-turbo
openai/whisper-large-v3-turboはじめに
Whisper large-v3-turboは、large-v3から派生した、重みが公開されているOpenAIの高速な文字起こし版です。デコーダーは四層で、パラメータ数は8億900万です。多言語の音声をテキストに変換するモデルで、メーカーの公式文書では、音声を英語に翻訳することはTurboの学習対象から除かれています。
- 対応する入力
- 音声
- 結果
- テキスト
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions
- 入力の種類
audio- 出力の種類
text
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 openai/whisper-large-v3-turbo | デフォルト— |
フィールドinput_audio | 種類object | 要件必須 | 値と制限 | デフォルト— |
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, input_audio |
パラメータmaterial_types | 仕様audio |
パラメータmaterial_conditions | 仕様この例では、実際の空でないPCM WAVファイルを読み込み、ファイル全体のバイト列をbase64にエンコードして、input_audio.formatをwavとして送信します。 |
ライフサイクル: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 既存の所有メディアレコードにある正確なtask_id
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
料金
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | 課金単位 | 料金 |
|---|---|---|---|
| 設定基本トークン料金 | 料金表基本料金 | 課金単位— | 料金 入力 · 入力トークン — / 1K トークン 出力 · 出力トークン — / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定入力音声の秒 | 料金表— | 課金単位入力音声1秒あたり | 料金 入力 · 入力音声の秒 $0.00000666 入力音声1秒あたり |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · 文字起こし
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import base64, io, json, os, wave
from pathlib import Path
audio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):
raise SystemExit('Supply your actual PCM WAV audio file')
with wave.open(io.BytesIO(audio), 'rb') as recording:
if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:
raise SystemExit('Supply a nonempty PCM WAV recording')
request = {'model': 'openai/whisper-large-v3-turbo', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}
Path('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete original response, headers and actual X-Client-Request-ID.
# Read existing owned records for recovery; do not resubmit an uncertain operation.
結果を受け取って保存
Ailoot Ultra · 文字起こし
元のレスポンス本文全体、ステータス、および転送されたヘッダー。このハンドラーは共通のJSON構造、テキストフィールド、タスクの外側の構造を追加しません。
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。
元のレスポンスを確認する場合
実際のX-Client-Request-IDと完全なレスポンスを保持してください。元の所有アセットと、その正確な署名付きコンテンツURLを読み取ってください。結果が不確かな作成リクエストは、決して再送信しないでください。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドtext (when present) | 種類 |
フィールドusage (when present) | 種類 |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件JSON本文、または明示された正規モデルIDが無効です。 | 次の手順レスポンスを保持し、指摘されたリクエストフィールドを修正してください。 |
レスポンス401 · authentication_error | 条件Ailoot APIキーが無効です。 | 次の手順利用権限のあるAiloot APIキーを使用してください。 |
レスポンス403 · permission_error | 条件このキーのグループでは、このメソッドの利用が許可されていません。 | 次の手順返されたエラーの詳細を保持してください。 |
レスポンス404 · not_found_error | 条件選択したメソッドには、利用が許可されたルートがありません。 | 次の手順返されたエラーの詳細を保持してください。 |
レスポンス422 · price_unavailable | 条件受諾済みの料金体系に必要な入力量、またはその上限を取得できません。 | 次の手順レスポンスを保持し、受諾済みの料金体系で必要とされる入力表現を使用してください。 |
レスポンス503 · | 条件必要な保存領域、ルート、メソッド料金、または料金の仮押さえを利用できません。 | 次の手順元のレスポンス全体を保持してください。料金の仮押さえ状態が不明でも、再送信が認められるわけではありません。 |
レスポンス502 · server_error | 条件元の結果、使用量、または精算を確認する必要があります。 | 次の手順実際のリクエストIDと元のレスポンスを保持してください。既存の所有レコードを読み取ってください。作成リクエストを再送信しないでください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra openai/whisper-large-v3-turbo
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · OpenAI: Whisper Large V3 Turbo
- 利用できる入力と結果は何ですか?
POST /v1/audio/transcriptions·openai/whisper-large-v3-turbo:audio→text- リクエストはどの項目を使用しますか?
POST /v1/audio/transcriptions·openai/whisper-large-v3-turbo:model,input_audio