AssemblyAI: Universal-3.5 Pro
Universal-3.5 Pro は、短い音声クリップを1回の応答で完成した文字起こしに変換する、AssemblyAI の音声認識モデルです。Sync プロファイルは、音声入力やプッシュ・トゥ・トークのワークフロー向けに、単語の信頼度、任意の単語タイムスタンプ、語彙ヒント、過去の対話コンテキストを備えています。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Universal-3.5 Pro は、録音された発話をテキストに変換する AssemblyAI の音声認識モデルです。Sync プロファイルでは、短い音声クリップから、1回の応答で完成した文字起こしが生成されます。音声メッセージ、プッシュ・トゥ・トーク入力、録音を終了すべき時点をアプリケーション側ですでに把握している個別の会話ターンに適しています。
音声は、長さを限定したクリップとして用意します。AssemblyAI の Sync の要件では、80 ミリ秒〜120 秒の長さを受け付け、最大ファイルサイズは 40 MB です。対応形式は WAV、または符号付き 16 ビット・リトルエンディアンの raw PCM です。音声はモノラルまたはステレオにでき、ステレオは内部でダウンミックスされます。対応サンプルレートは 8、16、22.05、24、32、44.1、48 kHz です。WAV ヘッダーにはサンプルレートとチャンネル数が含まれます。raw PCM では、文字起こし設定でこれらの値を別途指定する必要があります。
発話全体を収録し、話し始めと話し終わりを欠けさせないでください。独自の実用例として、商品名、注文識別子、依頼を含む短い商品サポートの音声メッセージを用意できます。これらの重要な詳細を文字起こしと照合できるよう、元のクリップを保存します。長い録音には、長時間の文字起こしに適したワークフローを用意してください。短いクリップの時間上限を、モデル全体の音声処理容量として扱わないようにします。
結果には、全文の文字起こし、単語ごとの信頼度を持つ単語一覧、0〜1 の全体の信頼度が含まれます。送信した音声の長さとリクエスト識別子も返されるため、テキストと元のクリップの対応を維持できます。単語の信頼度を使って、聞き直して確認すべき箇所を見つけます。特に、アプリケーションで重要な名前、数値、専門語彙を確認してください。
単語タイムスタンプは任意で、既定では無効です。要求すると、位置合わせできた各単語に、クリップ開始からのミリ秒単位の開始時刻と終了時刻を付けられます。メーカーのプロファイルでは、単語を位置合わせできない場合、推定の時刻を作るのではなく、その値を省略します。タイムスタンプの精度は英語音声で最も高くなります。単語のハイライト、検索可能な波形、字幕の位置合わせを用意するときは、時刻が欠けていることを明示的に保持し、完成した字幕トラックとして使う前に、テキストを録音と照合します。
文脈プロンプトでは、録音の内容を説明します。分野、シナリオ、アプリケーションがすでに把握している具体的な情報を記述でき、最大長は 6000 文字です。特定の機器に関するテクニカルサポートの会話など、音声に合った短い説明から始めます。このプロンプトは認識のための文脈を与えるものであり、話者のメッセージを別の文書に書き換える依頼ではありません。
別のキーターム一覧を使うと、特定の語彙が認識されやすくなります。Sync プロファイルは、最大 100 語、一覧全体で 8000 文字まで受け付けます。珍しい名前、略語、製品用語には正確な綴りを使い、通常十分に認識される単語は一覧に入れないでください。大きすぎる一覧や不要な語句は過剰な補正を引き起こすことがあるため、録音で重要な語に絞ります。文脈の説明と語彙一覧は併用できます。
過去の対話も、短い返答の解釈に役立ちます。以前の発話を古い順から新しい順に提供し、現在の音声を文字起こしの対象ターンとします。文書化されたコンテキストの上限は、500 ターン、または合計 16,000 文字です。これらの上限やモデルで利用可能なコンテキストを超える場合、最も古い項目から削除されます。短い回答に識別子や参照表現が含まれ、その意味が直前の質問から分かる場合に役立ちます。
言語選択は、想定する1つ以上の言語へ認識を誘導します。現在の Sync インターフェースは 32 の言語コードを受け付け、指定がない場合は英語を既定とします。複数言語が切り替わる音声では、想定言語を列挙してください。カスタムの文脈プロンプトを指定すると、管理された既定プロンプトが置き換わり、別途指定した言語コードによる誘導より優先されます。言語とシナリオの両方の文脈が必要な場合は、想定言語をそのプロンプト内に記述します。文字起こしを翻訳の指示として扱わず、実際に話された言語で保持してください。
このモデルは AssemblyAI の他の文字起こしワークフローにも登場しますが、Sync プロファイルの短いクリップ向けの要件と結果フィールドは、この特定のインターフェースに属します。メーカーの Dictation ワークフローには、別工程のテキスト整形が追加されています。文字起こしと、書き直したメッセージは別の成果物です。後の編集や要約で整形版を作る場合も、比較できるよう、認識された元の発話を保存してください。
有用な成果物には、音声メッセージの文字起こし、アシスタント向けの完成した会話ターン、短い音声の検索可能なテキスト、確認用インターフェース向けの時刻付き単語一覧があります。決め手になる単語を録音で確認し、位置合わせの欠落を保持し、クリップと返されたテキストのリンクを残します。認識結果は、次のアプリケーション工程に原音で裏付けられた文字起こしを提供します。依頼への回答やメッセージの編集は、周辺のワークフローが担います。
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions assemblyai/universal-3-5-pro
assemblyai/universal-3-5-proはじめに
Universal-3.5 Pro は、短い音声クリップを1回の応答で完成した文字起こしに変換する、AssemblyAI の音声認識モデルです。Sync プロファイルは、音声入力やプッシュ・トゥ・トークのワークフロー向けに、単語の信頼度、任意の単語タイムスタンプ、語彙ヒント、過去の対話コンテキストを備えています。
- 対応する入力
- 音声
- 結果
- テキスト
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions
- 入力の種類
audio- 出力の種類
text
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 assemblyai/universal-3-5-pro | デフォルト— |
フィールド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.00025 入力音声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': 'assemblyai/universal-3-5-pro', '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 assemblyai/universal-3-5-pro
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · AssemblyAI: Universal-3.5 Pro
- 利用できる入力と結果は何ですか?
POST /v1/audio/transcriptions·assemblyai/universal-3-5-pro:audio→text- リクエストはどの項目を使用しますか?
POST /v1/audio/transcriptions·assemblyai/universal-3-5-pro:model,input_audio