OpenAI: Whisper 1
Whisper 1は、完成した音声ファイルをテキストに文字起こしし、多言語の認識と単語・セグメントのタイムスタンプに対応します。メーカーは字幕形式と、別の英訳フローを提供し、文字起こしの結果は録音の言語を保持します。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Whisper 1は、オープンソースのWhisper V2モデルで動作すると文書化された、OpenAIの汎用音声認識APIモデルです。音声ファイルを受け取り、テキストを返します。メーカーは、多言語認識、言語識別、別の音声翻訳タスクを説明しています。文字起こしは話された言語を保持し、メーカーの別の翻訳インターフェースは英語テキストを返します。
有用なアプリケーションは、インタビュー、音声メモ、録音会話を、その後の検索や編集のために準備することです。完成した録音と、分かっている場合は入力言語を指定してください。OpenAIは98の対応言語を文書化し、認識精度が言語によって異なると述べています。単一の言語ヒントはISO 639-1コードを使い、ほかの文字起こしモデルの新しい複数言語やキーワードのフィールドは別の制御です。
メーカーのファイル文字起こしフローは、MP3、MP4、MPEG、MPGA、M4A、WAV、WebM形式の最大25 MBのファイルを受け付けます。大きな録音では圧縮形式を使うか、上限内のチャンクに分けてください。組み立てた文字起こしが元の録音と結び付くよう、文境界とチャンク順を残します。動画コンテナーは、このタスクでは視覚説明の入力ではなく、音声を提供します。
プロンプトには、名前、頭字語、録音固有の語彙、前のセグメントからの文脈を入力できます。Whisperのプロンプト上限は224トークンで、音声の言語に合わせるべきです。メーカーは、Whisperが汎用テキストモデルのように指示に従うわけではないと述べています。用語一覧を話者が言ったはずの言葉とみなさず、関連する文字起こし文脈としてプロンプトを使い、重要な表記を録音に照らして確認してください。
メーカーは、JSON、プレーンテキスト、SRT、VTT、verbose JSONの文字起こし形式を文書化しています。単語とセグメントのタイムスタンプにはverbose JSONが必要で、どちらか、または両方の粒度を要求できます。APIリファレンスは、セグメントのタイムスタンプでは追加のレイテンシーがなく、単語のタイムスタンプには追加処理が必要としています。これらの出力は字幕化や編集時の箇所の特定を助けます。話者分離の注釈は、別の専用モデルの機能です。
Whisper 1は、ファイル文字起こしのストリーミングに対応しません。リファレンスには0〜1のサンプリング温度も記載され、0ではデコードのしきい値が必要とする場合に、モデルが自動的に温度を上げられます。これはメーカーの処理制御を説明するもので、すべての録音が同一の文字起こしや完全に正確な文字起こしを返す約束ではありません。
最終成果物を定義してください。検索用の文字起こし、字幕ファイル、単語・セグメント時間付きテキストなどです。元の録音、チャンク順、関連する出典の時間参照を結果とともに保持します。後のテキスト編集で誤記を直したり要約を作ったりできますが、話者の意味を保つため、変更を音声と比較してください。認識テキストは、話された質問への生成回答ではなく、次のタスクの証拠になります。
Ailoot Ultra · 音声認識 POST /v1/audio/transcriptions openai/whisper-1
openai/whisper-1はじめに
Whisper 1は、完成した音声ファイルをテキストに文字起こしし、多言語の認識と単語・セグメントのタイムスタンプに対応します。メーカーは字幕形式と、別の英訳フローを提供し、文字起こしの結果は録音の言語を保持します。
- 対応する入力
- 音声
- 結果
- transcription
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 音声認識 POST /v1/audio/transcriptions
- 入力の種類
audio- 出力の種類
transcription- 出力形式
- json
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 openai/whisper-1 | デフォルト— |
フィールドfile | 種類file | 要件必須 | 値と制限 コンテンツタイプ: multipart/form-data | デフォルト— |
フィールドresponse_format | 種類string | 要件任意 | 値と制限 json | デフォルト— |
フィールドinput_audio.data | 種類base64_string | 要件必須 | 値と制限 適用条件: WhisperORのJSON入力 | デフォルト— |
フィールドinput_audio.format | 種類string | 要件必須 | 値と制限 wav, mp3, flac, ogg, m4a, webm 適用条件: WhisperORのJSON入力 | デフォルト— |
入力素材の組み合わせ
· 必須: model, file
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontours | 仕様{"content_types":["application/json","multipart/form-data"],"required_json":["model","input_audio.data","input_audio.format"],"required_multipart":["model","file"],"file_formats":["wav","mp3","flac","ogg","m4a","webm"],"response_format_optional":["json"]}, {"content_types":["multipart/form-data"],"required":["model","file"],"file_formats":["mp3"],"response_format_option":false} |
パラメータmax_bytes | 仕様26214400 |
パラメータmaterial_types | 仕様audio |
ライフサイクル: 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}
実際の録音と、それに対応する形式を使用してください。
文字起こし全文、セグメント、話者ID、時間情報を保持してください。
料金
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | 課金単位 | 料金 |
|---|---|---|---|
| 設定基本トークン料金 | 料金表基本料金 | 課金単位— | 料金 入力 · 入力トークン — / 1K トークン 出力 · 出力トークン — / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定入力音声の秒 | 料金表— | 課金単位入力音声1秒あたり | 料金 入力 · 入力音声の秒 $0.0002 入力音声1秒あたり |
参考料金の詳細
モデル単位の参照料金表は、メソッド選択、見積もり、課金を変更しません。実際の課金には、選択したAilootメソッドの料金を適用します。
OpenAI: Whisper 1
設定別の価格
| 設定 | 課金条件 | 料金 |
|---|---|---|
| 設定OpenAI: Whisper 1 · 標準設定 | 課金条件デフォルト設定 | 料金 入力 · 入力音声の秒数 $0.0002 入力音声1秒あたり |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · 音声認識
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual MP3 recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import os
from pathlib import Path
p=Path(os.environ["AILOOT_AUDIO_FILE"])
if not p.is_file() or p.suffix.lower()!=".mp3":raise SystemExit("Choose an existing MP3 recording")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
--form-string model=openai/whisper-1 -F "file=@$AILOOT_AUDIO_FILE" \
-D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text())))
PY_RESULT
結果を受け取って保存
Ailoot Ultra · 音声認識
json
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
その他のコンテンツ取得
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
テキストだけでなくJSON全体を保持してください。利用可能なすべてのセグメント/話者/タイムスタンプと、実際のタスク/アセットの識別情報を保持します。
元のレスポンスを確認する場合
再送せずに照合できるよう、元の operation_id/X-Client-Request-ID を保存してください。音声専用のポーリングルートはありません。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドtext | 種類string |
フィールドsegments[] | 種類object |
フィールドtask_id | 種類string |
フィールドasset_url | 種類string |
フィールドusage | 種類object |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件必須フィールド、素材の表現形式、またはパラメーター値が不正です | 次の手順新しい生成リクエストを送る前に、指定されたフィールドを修正してください。 |
レスポンスserver_error | 条件返されたレスポンスは、操作または結果の確認が必要であることを示しています | 次の手順最初に返された操作/タスク ID、リクエストヘッダー、レスポンスを保存し、その元の操作に対してサポートされている読み取りを継続してください。作成リクエストを再送しないでください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra openai/whisper-1
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · OpenAI: Whisper 1
- 利用できる入力と結果は何ですか?
POST /v1/audio/transcriptions·openai/whisper-1:audio→transcription- リクエストはどの項目を使用しますか?
POST /v1/audio/transcriptions·openai/whisper-1:model,file,response_format