OpenAI: GPT-4o Transcribe
GPT-4o Transcribe 使用 OpenAI 的 GPT-4o 語音辨識能力將音訊轉成文字。它支援情境提示詞、輸入語言提示、JSON 逐字稿、檔案輸出串流,以及可選的 token 對數機率,用於檢閱不確定的用字。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
GPT-4o Transcribe 是 OpenAI 以 GPT-4o 為基礎的語音轉文字模型。它接受音訊及可選的文字引導,輸出辨識出的文字。它與 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 納入提示詞支援範圍。提示詞可以提供正確拼法、前一片段的脈絡,以及標點、大小寫、語助填充詞或書寫系統偏好。參考文件表示提示詞應符合錄音語言。簡短且相關的主題與詞彙說明,可為轉錄提供有用脈絡,同時不把未說出的詞語當成必要輸出。
這個設定檔支援單數 language 提示,文件記載採 ISO 639-1 形式。提供實際輸入語言可協助辨識。GPT Transcribe 較新的 keywords 與複數 languages 欄位屬於該另行命名的模型,不應假設 GPT-4o Transcribe 也具備。讓語言設定對應正在轉錄的發言,並在後續翻譯或風格改寫前保留原始用字。
結果格式、機率與專用輸出
目前的端點參考將 JSON 記為 GPT-4o Transcribe 支援的回應格式。結果含有辨識文字,也可在這個 JSON 格式中要求可選的 token 對數機率。機率資料描述模型如何選擇 token,可以協助判斷哪些段落值得檢查,但困難的名稱、數字或字句是否被逐字稿重現,仍需對照音訊確認。
標準設定檔的 JSON 結果不提供原生字幕格式、詳細逐字時間戳或說話者指派。需要這些輸出時,OpenAI 記載了其他模型與格式選項;GPT-4o Transcribe Diarize 是獨立的說話者標籤版本。字幕任務應保留檢查過的逐字稿,供適當的時間標記步驟使用。對話中,不要只因逐字稿段落看似改變主題或聲音,就虛構說話者名稱。
已完成檔案的結果串流
OpenAI 的語音轉文字指南表示,既有 GPT-4o Transcribe 整合支援檔案串流。應用程式先提供錄音,再於處理該錄音時接收逐字稿文字,並保留完成結果。這是在串流傳送已完成錄音的逐字稿,而非接收持續傳入的麥克風音訊。確切模型卡也列出轉錄與 Realtime 端點家族;模型特有的工作階段行為必須對應這個設定檔,不應從較新的持續串流模型借用。
模型限制與最終成品檢查
目前的 GPT-4o Transcribe 規格列出 16,000 個 token 的上下文視窗、2,000 個 token 的最大輸出,以及 2024 年 6 月 1 日的知識截止日。這些 token 限制不是固定音訊時長,也不取代檔案轉錄準備規則。較長錄音應保留來源順序及相關前文,再確認完成文字涵蓋每個預定片段的結尾。
有用的最終逐字稿可以成為可搜尋的訪談資料、技術文件的來源,或後續字幕流程的文字。將不確定的詞彙、數量、標點、口音與重疊發言對照錄音檢查。將辨識文字與後續修正或摘要分開,並透過周邊流程的識別碼保留來源連結。模型提供文字紀錄;仔細準備輸入與檢閱來源,決定這份紀錄是否適合下一個用途。
Ailoot Ultra · 語音轉文字 POST /v1/audio/transcriptions openai/gpt-4o-transcribe
openai/gpt-4o-transcribe入門
GPT-4o Transcribe 使用 OpenAI 的 GPT-4o 語音辨識能力將音訊轉成文字。它支援情境提示詞、輸入語言提示、JSON 逐字稿、檔案輸出串流,以及可選的 token 對數機率,用於檢閱不確定的用字。
- 接受的輸入
- 音訊
- 結果
- 文字
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 費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 計費單位 | 費用 |
|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 計費單位— | 費用 輸入 · 輸入 Token — / 1K Token 輸出 · 輸出 Token — / 1K Token 輸入 · 讀取快取 — / 1K Token 輸入 · 寫入快取 — / 1K Token 輸入 · 寫入快取,1 小時 — / 1K Token |
| 設定輸入 token | 費率表— | 計費單位/ 1K Token | 費用 輸入 $0.005 / 1K Token |
| 設定輸出 token | 費率表— | 計費單位/ 1K Token | 費用 輸出 $0.02 / 1K Token |
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
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 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