OpenAI: GPT-4o Transcribe
GPT-4o Transcribeは、OpenAIのGPT-4oの音声認識機能を使い、音声をテキストに変換します。背景情報を与えるプロンプト、入力言語のヒント、JSON形式の文字起こし、ファイル処理結果のストリーミングに対応します。不確かな言葉を確認するために、トークンの対数確率を任意で返すこともできます。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
GPT-4o Transcribeは、GPT-4oを基盤とするOpenAIの音声認識モデルです。任意の文章による補助情報とともに音声を入力し、認識したテキストを出力します。GPT-4o Mini Transcribe版や、話者ラベル付けに特化したGPT-4o Transcribe Diarizeとは別です。このプロファイルは、発言内容を忠実に文章で記録するために使い、確認や後の編集に備えて元の録音を保持してください。
ファイル入力と長い資料の準備
OpenAIの文字起こしガイドでは、最大25 MBのアップロードが文書化されています。現在のエンドポイントリファレンスは、FLAC、MP3、MP4、MPEG、MPGA、M4A、OGG、WAV、WebMを受け付けます。拡張子付きのファイル名と適切なコンテンツタイプなど、形式を識別するファイルのメタデータが推奨されています。大きな録音では、圧縮するか、25 MB以下の順序付きの部分に分ける方法が、開発元の長い入力向けガイドに沿います。文の途中で分割せず、各部分が録音全体のどの位置にあるかを残してください。
インタビューでは、各入力ファイルを録音と対象の箇所に関連付けます。技術的な発表では、関連する製品名、略語、専門用語を背景情報として用意し、実際の発言と表記を照合してください。数値を含む録音の説明では、文章の手順にする前に、文字起こしと原音を一緒に確認します。最初に求める成果物は、発言を認識したテキストです。要約したレポートや翻訳文書は、そのテキストから別の工程で作成できます。
録音に固有のプロンプトと言語の選択
開発元のガイドは、プロンプトをサポートするモデルにGPT-4o Transcribeを明示しています。プロンプトでは、正しい表記、前のセグメントの背景情報、句読点、大文字・小文字、フィラー、表記体系の希望を提供できます。リファレンスでは、録音の言語に合わせる必要があるとされています。話題と用語を短く適切に説明すれば、発言にない用語を必須の出力として扱うことなく、文字起こしに有用な背景情報を与えられます。
このプロファイルは、ISO 639-1形式で文書化された単数形のlanguageによる言語指定に対応します。実際の入力言語を提供すると、認識に役立つ場合があります。GPT Transcribeの新しいkeywordsフィールドと複数形のlanguagesフィールドは、別途命名されたそのモデルに属し、GPT-4o Transcribeにもあると想定してはいけません。言語設定を文字起こしする発言に対応させ、後で翻訳や文体の書き換えを行う前に、元の言葉を保持してください。
結果形式、確率、専用の出力
現在のエンドポイントリファレンスでは、GPT-4o Transcribeでサポートする回答形式はJSONです。結果には認識したテキストが含まれ、このJSON形式でトークンの対数確率を任意で求められます。確率データはモデルのトークン選択を表します。確認が必要な箇所を見つける参考になりますが、難しい名前、数字、表現が正しく文字起こしされたかは、音声との比較で確かめます。
標準プロファイルのJSON結果には、ネイティブの字幕形式、詳細な単語のタイムスタンプ、話者の割り当ては含まれません。これらが必要な場合、OpenAIは別のモデルと形式の選択肢を文書化しています。GPT-4o Transcribe Diarizeは、話者ラベル付けの独立した版です。字幕のタスクでは、適切な時刻付けの工程に使えるよう、確認済みの文字起こしを保持します。会話では、文字起こしの段落で話題や声が変わっているように見えるだけで、話者名を作らないでください。
完成したファイルからの結果のストリーミング
OpenAIの音声認識ガイドでは、既存のGPT-4o Transcribeの連携がファイルのストリーミングに対応するとされています。アプリケーションは最初に録音を提供し、処理中に文字起こしのテキストを受け取り、完成した結果を保存します。これは、完成した録音の文字起こしをストリーミングするものであり、マイクの音声を到着と同時に受け付けるものではありません。正確なモデルカードには、文字起こしとRealtimeのエンドポイントファミリーも記載されています。モデル固有のセッション動作は、このプロファイルに対応させ、新しい連続ストリーミングモデルから流用しないでください。
モデルの上限と最終成果物の確認
現在のGPT-4o Transcribeの仕様では、コンテキストウィンドウは16,000トークン、最大出力は2,000トークン、知識の期限は2024年6月1日です。これらのトークン上限は、一定の音声時間を表さず、ファイルの文字起こしの準備規則に代わるものでもありません。長い録音では、元の順序と関連する直前の背景情報を保ち、完成したテキストが、対象の各セグメントの末尾まで含むことを確認します。
有用な最終文字起こしは、検索可能なインタビュー資料、技術文書の原資料、後の字幕ワークフローの文言に使えます。不確かな用語、数量、句読点、アクセント、重なる発言を録音と照合してください。認識したテキストと、後の修正や要約を区別し、周囲のワークフローの識別子を通じて原音へのリンクを保持します。モデルが提供するのは文章の記録です。入力の丁寧な準備と原音の確認によって、次の用途に適した記録かが決まります。
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions openai/gpt-4o-transcribe
openai/gpt-4o-transcribeはじめに
GPT-4o Transcribeは、OpenAIのGPT-4oの音声認識機能を使い、音声をテキストに変換します。背景情報を与えるプロンプト、入力言語のヒント、JSON形式の文字起こし、ファイル処理結果のストリーミングに対応します。不確かな言葉を確認するために、トークンの対数確率を任意で返すこともできます。
- 対応する入力
- 音声
- 結果
- テキスト
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · 文字起こし POST /v1/audio/transcriptions
- 入力の種類
audio- 出力の種類
text
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 openai/gpt-4o-transcribe | デフォルト— |
フィールド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 トークン |
| 設定入力トークン | 料金表— | 課金単位/ 1K トークン | 料金 入力 $0.005 / 1K トークン |
| 設定出力トークン | 料金表— | 課金単位/ 1K トークン | 料金 出力 $0.02 / 1K トークン |
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/gpt-4o-transcribe', '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/gpt-4o-transcribe
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · OpenAI: GPT-4o Transcribe
- 利用できる入力と結果は何ですか?
POST /v1/audio/transcriptions·openai/gpt-4o-transcribe:audio→text- リクエストはどの項目を使用しますか?
POST /v1/audio/transcriptions·openai/gpt-4o-transcribe:model,input_audio