{
  "aboutHtml": "<p>GPT Transcribe 是 OpenAI 的語音轉文字模型，適用於完整音訊檔案、檔案逐字稿串流，以及 Realtime 工作階段中已提交的音訊回合。它接受音訊和選用的文字上下文，回傳辨識出的文字。開發方將其定位於準確轉錄原語言的錄製語音，包括領域詞彙、多語言錄音和語碼轉換。實用輸出是與錄音保持關聯的逐字稿，並在模型能可靠預測時附上偵測語言中繼資料。</p><h4>準備完整錄音</h4><p>OpenAI 的檔案轉錄流程接受最多 25 MB 的上傳。當前端點參考文件列出 FLAC、MP3、MP4、MPEG、MPGA、M4A、OGG、WAV 和 WebM 輸入格式，並建議提供足以辨識格式的檔案中繼資料，包括適當副檔名和內容型別。較大的錄音，指南建議壓縮或分割成每份 25 MB 以下的檔案。避免在句子中間切割，因為移除前後語音可能降低辨識準確度。請依順序保留各部分，以及它們在原始錄音中的位置。</p><p>會議、訪談或錄製簡報應提供實際音訊，並指出主題和可能出現的術語。實用結果是辨識出的原話，而非推測的討論摘要。請將錄音識別碼與回傳文字保存在一起，讓審查姓名、數字或不確定詞句的人能回到正確來源。逐字稿之後可作為獨立摘要、翻譯或編輯流程的資料。</p><h4>上下文、關鍵詞提示與預期語言</h4><p>開發方區分三種引導。提示詞提供錄音主題或情境的自由形式上下文。關鍵詞提供語音中預期出現的字面詞語或片語。語言清單指出預期的口語語言。雙語產品討論可在提示詞中描述情境、將相關產品名稱列為關鍵詞，再提供預期語言。這些是辨識提示，並非要求插入未曾被說出的詞彙。</p><p>GPT Transcribe 使用複數 languages 欄位，而非較舊的單數 language 欄位；OpenAI 指出不要同時傳送兩者。指南接受支援的 ISO 639-1 代碼、指定的 ISO 639-3 代碼，以及區域中文語系代碼，不支援或格式錯誤的值會被拒絕。每個關鍵詞必須維持單行，不得包含角括號、回車或換行。無效關鍵詞或過長提示詞可能讓整個請求遭到拒絕。請讓上下文保持相關，並確認提示的名稱是否真的出現在音訊中，而非將提示清單當成逐字稿。</p><h4>JSON 輸出與偵測語言預測</h4><p>文件所列的檔案結果是包含逐字稿和偵測語言的 JSON。這些語言預測是模型的輸出，而非複製所提供的語言提示。當模型無法可靠預測時，空語言清單是有效結果，不表示錄音無聲或轉錄失敗。請將辨識文字和語言中繼資料分開，讓後續處理能依各自意義使用。</p><h4>串流檔案逐字稿</h4><p>完整檔案可在處理時逐步產生逐字稿文字。OpenAI 記載 transcript.text.delta 事件用於部分文字，transcript.text.done 則用於完整檔案逐字稿；最後事件也包含偵測語言。這是對已提供錄音的輸出進行串流，適合呈現較長上傳的處理進度；最後事件才確立應保留為完整結果的文字。</p><h4>Realtime 工作階段中已提交的回合</h4><p>GPT Transcribe 也提供透過 WebSocket 的專用 Realtime 流程。音訊會追加至輸入緩衝區，再由應用程式明確提交一個音訊回合。轉錄從該已提交區塊開始，可能在完成事件前發出增量內容，並包含偵測語言資訊。在這個開發方工作階段流程中，模型會自動將先前已轉錄回合作為上下文。這與麥克風音訊一到達就持續輸出即時字幕文字不同；OpenAI 將持續處理的流程命名為 GPT Live Transcribe。</p><p>多個回合應將輸入項目識別碼與對應逐字稿保存在一起。OpenAI 提醒，不同回合的完成事件不一定依發話順序到達，因此請將每份最終結果關聯至其已提交輸入，而非只依完成時間排列對話。實用成果是由正確最終項目組成的有序逐字稿，暫存文字應視為進度，而非另一段已完成發話。</p><h4>專用輸出與實質限制</h4><p>此設定檔不提供通用的字幕、時間戳記、翻譯或說話者標籤約定。OpenAI 的遷移指南區分這些專用能力：原生字幕格式和逐字時間資訊需要相容的模型與格式，說話者標籤則使用 GPT-4o Transcribe Diarize。GPT Transcribe 的檔案結果是 JSON，不能直接替代 SRT、VTT 或詳細時間戳記回應。其確切模型卡未公布數值形式的上下文或最大輸出額度，因此不應將聊天模型的詞元視窗套用於音訊轉錄。</p><p>請依錄音檢查困難詞彙、數字、口音、背景噪音和語言切換。確認相關提示改善了辨識，而未引入未被說出的詞語，並確認最終逐字稿包含音訊結尾。多語言結果應先保留實際發話，再準備翻譯版本。這些檢查讓逐字稿成為實用來源資料，同時清楚區分上下文提示、偵測語言和辨識出的語音。</p>",
  "aboutText": "GPT Transcribe 是 OpenAI 的語音轉文字模型，適用於完整音訊檔案、檔案逐字稿串流，以及 Realtime 工作階段中已提交的音訊回合。它接受音訊和選用的文字上下文，回傳辨識出的文字。開發方將其定位於準確轉錄原語言的錄製語音，包括領域詞彙、多語言錄音和語碼轉換。實用輸出是與錄音保持關聯的逐字稿，並在模型能可靠預測時附上偵測語言中繼資料。\n\n### 準備完整錄音\n\nOpenAI 的檔案轉錄流程接受最多 25 MB 的上傳。當前端點參考文件列出 FLAC、MP3、MP4、MPEG、MPGA、M4A、OGG、WAV 和 WebM 輸入格式，並建議提供足以辨識格式的檔案中繼資料，包括適當副檔名和內容型別。較大的錄音，指南建議壓縮或分割成每份 25 MB 以下的檔案。避免在句子中間切割，因為移除前後語音可能降低辨識準確度。請依順序保留各部分，以及它們在原始錄音中的位置。\n\n會議、訪談或錄製簡報應提供實際音訊，並指出主題和可能出現的術語。實用結果是辨識出的原話，而非推測的討論摘要。請將錄音識別碼與回傳文字保存在一起，讓審查姓名、數字或不確定詞句的人能回到正確來源。逐字稿之後可作為獨立摘要、翻譯或編輯流程的資料。\n\n### 上下文、關鍵詞提示與預期語言\n\n開發方區分三種引導。提示詞提供錄音主題或情境的自由形式上下文。關鍵詞提供語音中預期出現的字面詞語或片語。語言清單指出預期的口語語言。雙語產品討論可在提示詞中描述情境、將相關產品名稱列為關鍵詞，再提供預期語言。這些是辨識提示，並非要求插入未曾被說出的詞彙。\n\nGPT Transcribe 使用複數 languages 欄位，而非較舊的單數 language 欄位；OpenAI 指出不要同時傳送兩者。指南接受支援的 ISO 639-1 代碼、指定的 ISO 639-3 代碼，以及區域中文語系代碼，不支援或格式錯誤的值會被拒絕。每個關鍵詞必須維持單行，不得包含角括號、回車或換行。無效關鍵詞或過長提示詞可能讓整個請求遭到拒絕。請讓上下文保持相關，並確認提示的名稱是否真的出現在音訊中，而非將提示清單當成逐字稿。\n\n### JSON 輸出與偵測語言預測\n\n文件所列的檔案結果是包含逐字稿和偵測語言的 JSON。這些語言預測是模型的輸出，而非複製所提供的語言提示。當模型無法可靠預測時，空語言清單是有效結果，不表示錄音無聲或轉錄失敗。請將辨識文字和語言中繼資料分開，讓後續處理能依各自意義使用。\n\n### 串流檔案逐字稿\n\n完整檔案可在處理時逐步產生逐字稿文字。OpenAI 記載 transcript.text.delta 事件用於部分文字，transcript.text.done 則用於完整檔案逐字稿；最後事件也包含偵測語言。這是對已提供錄音的輸出進行串流，適合呈現較長上傳的處理進度；最後事件才確立應保留為完整結果的文字。\n\n### Realtime 工作階段中已提交的回合\n\nGPT Transcribe 也提供透過 WebSocket 的專用 Realtime 流程。音訊會追加至輸入緩衝區，再由應用程式明確提交一個音訊回合。轉錄從該已提交區塊開始，可能在完成事件前發出增量內容，並包含偵測語言資訊。在這個開發方工作階段流程中，模型會自動將先前已轉錄回合作為上下文。這與麥克風音訊一到達就持續輸出即時字幕文字不同；OpenAI 將持續處理的流程命名為 GPT Live Transcribe。\n\n多個回合應將輸入項目識別碼與對應逐字稿保存在一起。OpenAI 提醒，不同回合的完成事件不一定依發話順序到達，因此請將每份最終結果關聯至其已提交輸入，而非只依完成時間排列對話。實用成果是由正確最終項目組成的有序逐字稿，暫存文字應視為進度，而非另一段已完成發話。\n\n### 專用輸出與實質限制\n\n此設定檔不提供通用的字幕、時間戳記、翻譯或說話者標籤約定。OpenAI 的遷移指南區分這些專用能力：原生字幕格式和逐字時間資訊需要相容的模型與格式，說話者標籤則使用 GPT-4o Transcribe Diarize。GPT Transcribe 的檔案結果是 JSON，不能直接替代 SRT、VTT 或詳細時間戳記回應。其確切模型卡未公布數值形式的上下文或最大輸出額度，因此不應將聊天模型的詞元視窗套用於音訊轉錄。\n\n請依錄音檢查困難詞彙、數字、口音、背景噪音和語言切換。確認相關提示改善了辨識，而未引入未被說出的詞語，並確認最終逐字稿包含音訊結尾。多語言結果應先保留實際發話，再準備翻譯版本。這些檢查讓逐字稿成為實用來源資料，同時清楚區分上下文提示、偵測語言和辨識出的語音。",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "18b3574b270b768a3ecc3b7df301560a4e39fb7577f157f2750ea2ee8feb2fa6",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "zh-hant-tw",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: GPT Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"關閉\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-transcribe</code><button type=\"button\" id=\"copy-id\">複製 ID</button></div><nav class=\"card-jump-nav\" aria-label=\"模型卡片區段\"><button type=\"button\" data-card-jump=\"overview\">入門</button><button type=\"button\" data-card-jump=\"methods\">輸入與方法</button><button type=\"button\" data-card-jump=\"pricing\">方案</button><button type=\"button\" data-card-jump=\"examples\">範例</button><button type=\"button\" data-card-jump=\"results\">結果</button><button type=\"button\" data-card-jump=\"aliases\">別名</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API 方法\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-transcribe\">辨識</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">入門</h3><p class=\"mdesc-full\">GPT Transcribe 將錄製語音轉成原語言文字，支援上下文提示詞、字面關鍵詞提示和多語言提示。OpenAI 記載了完整檔案轉錄、檔案結果串流，以及 Realtime 音訊回合提交後的轉錄。</p><dl class=\"card-io\" data-card-io><div><dt>接受的輸入</dt><dd>音訊</dd></div><div><dt>結果</dt><dd>文字</dd></div></dl><details class=\"card-about\"><summary>關於模型</summary><p class=\"note-s\" data-model-method-boundary>此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項，依所選方法列於下方。</p><div class=\"mabout\" id=\"m-about\"><p>GPT Transcribe 是 OpenAI 的語音轉文字模型，適用於完整音訊檔案、檔案逐字稿串流，以及 Realtime 工作階段中已提交的音訊回合。它接受音訊和選用的文字上下文，回傳辨識出的文字。開發方將其定位於準確轉錄原語言的錄製語音，包括領域詞彙、多語言錄音和語碼轉換。實用輸出是與錄音保持關聯的逐字稿，並在模型能可靠預測時附上偵測語言中繼資料。</p><h4>準備完整錄音</h4><p>OpenAI 的檔案轉錄流程接受最多 25 MB 的上傳。當前端點參考文件列出 FLAC、MP3、MP4、MPEG、MPGA、M4A、OGG、WAV 和 WebM 輸入格式，並建議提供足以辨識格式的檔案中繼資料，包括適當副檔名和內容型別。較大的錄音，指南建議壓縮或分割成每份 25 MB 以下的檔案。避免在句子中間切割，因為移除前後語音可能降低辨識準確度。請依順序保留各部分，以及它們在原始錄音中的位置。</p><p>會議、訪談或錄製簡報應提供實際音訊，並指出主題和可能出現的術語。實用結果是辨識出的原話，而非推測的討論摘要。請將錄音識別碼與回傳文字保存在一起，讓審查姓名、數字或不確定詞句的人能回到正確來源。逐字稿之後可作為獨立摘要、翻譯或編輯流程的資料。</p><h4>上下文、關鍵詞提示與預期語言</h4><p>開發方區分三種引導。提示詞提供錄音主題或情境的自由形式上下文。關鍵詞提供語音中預期出現的字面詞語或片語。語言清單指出預期的口語語言。雙語產品討論可在提示詞中描述情境、將相關產品名稱列為關鍵詞，再提供預期語言。這些是辨識提示，並非要求插入未曾被說出的詞彙。</p><p>GPT Transcribe 使用複數 languages 欄位，而非較舊的單數 language 欄位；OpenAI 指出不要同時傳送兩者。指南接受支援的 ISO 639-1 代碼、指定的 ISO 639-3 代碼，以及區域中文語系代碼，不支援或格式錯誤的值會被拒絕。每個關鍵詞必須維持單行，不得包含角括號、回車或換行。無效關鍵詞或過長提示詞可能讓整個請求遭到拒絕。請讓上下文保持相關，並確認提示的名稱是否真的出現在音訊中，而非將提示清單當成逐字稿。</p><h4>JSON 輸出與偵測語言預測</h4><p>文件所列的檔案結果是包含逐字稿和偵測語言的 JSON。這些語言預測是模型的輸出，而非複製所提供的語言提示。當模型無法可靠預測時，空語言清單是有效結果，不表示錄音無聲或轉錄失敗。請將辨識文字和語言中繼資料分開，讓後續處理能依各自意義使用。</p><h4>串流檔案逐字稿</h4><p>完整檔案可在處理時逐步產生逐字稿文字。OpenAI 記載 transcript.text.delta 事件用於部分文字，transcript.text.done 則用於完整檔案逐字稿；最後事件也包含偵測語言。這是對已提供錄音的輸出進行串流，適合呈現較長上傳的處理進度；最後事件才確立應保留為完整結果的文字。</p><h4>Realtime 工作階段中已提交的回合</h4><p>GPT Transcribe 也提供透過 WebSocket 的專用 Realtime 流程。音訊會追加至輸入緩衝區，再由應用程式明確提交一個音訊回合。轉錄從該已提交區塊開始，可能在完成事件前發出增量內容，並包含偵測語言資訊。在這個開發方工作階段流程中，模型會自動將先前已轉錄回合作為上下文。這與麥克風音訊一到達就持續輸出即時字幕文字不同；OpenAI 將持續處理的流程命名為 GPT Live Transcribe。</p><p>多個回合應將輸入項目識別碼與對應逐字稿保存在一起。OpenAI 提醒，不同回合的完成事件不一定依發話順序到達，因此請將每份最終結果關聯至其已提交輸入，而非只依完成時間排列對話。實用成果是由正確最終項目組成的有序逐字稿，暫存文字應視為進度，而非另一段已完成發話。</p><h4>專用輸出與實質限制</h4><p>此設定檔不提供通用的字幕、時間戳記、翻譯或說話者標籤約定。OpenAI 的遷移指南區分這些專用能力：原生字幕格式和逐字時間資訊需要相容的模型與格式，說話者標籤則使用 GPT-4o Transcribe Diarize。GPT Transcribe 的檔案結果是 JSON，不能直接替代 SRT、VTT 或詳細時間戳記回應。其確切模型卡未公布數值形式的上下文或最大輸出額度，因此不應將聊天模型的詞元視窗套用於音訊轉錄。</p><p>請依錄音檢查困難詞彙、數字、口音、背景噪音和語言切換。確認相關提示改善了辨識，而未引入未被說出的詞語，並確認最終逐字稿包含音訊結尾。多語言結果應先保留實際發話，再準備翻譯版本。這些檢查讓逐字稿成為實用來源資料，同時清楚區分上下文提示、偵測語言和辨識出的語音。</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot 可用 · 輸入與方法</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · 語音轉文字</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>輸入</dt><dd><code>audio</code></dd></div><div><dt>輸出</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>欄位</th><th>類型</th><th>要求</th><th>值與限制</th><th>預設值</th></tr></thead><tbody><tr><th data-cell-label=\"欄位\" scope=\"row\"><span class=\"card-cell-label\">欄位</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span><code>string</code></td><td data-cell-label=\"要求\"><span class=\"card-cell-label\">要求</span>必填</td><td data-cell-label=\"值與限制\"><span class=\"card-cell-label\">值與限制</span><div>openai/gpt-transcribe</div></td><td data-cell-label=\"預設值\" data-default=\"unspecified\"><span class=\"card-cell-label\">預設值</span>—</td></tr><tr><th data-cell-label=\"欄位\" scope=\"row\"><span class=\"card-cell-label\">欄位</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span><code>object</code></td><td data-cell-label=\"要求\"><span class=\"card-cell-label\">要求</span>必填</td><td data-cell-label=\"值與限制\"><span class=\"card-cell-label\">值與限制</span></td><td data-cell-label=\"預設值\" data-default=\"unspecified\"><span class=\"card-cell-label\">預設值</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>方法參數與生命週期</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>參數</th><th>規格</th></tr></thead><tbody><tr><th data-cell-label=\"參數\" scope=\"row\"><span class=\"card-cell-label\">參數</span><code>content_type</code></th><td data-cell-label=\"規格\"><span class=\"card-cell-label\">規格</span>application/json</td></tr><tr><th data-cell-label=\"參數\" scope=\"row\"><span class=\"card-cell-label\">參數</span><code>required</code></th><td data-cell-label=\"規格\"><span class=\"card-cell-label\">規格</span>model, input_audio</td></tr><tr><th data-cell-label=\"參數\" scope=\"row\"><span class=\"card-cell-label\">參數</span><code>material_types</code></th><td data-cell-label=\"規格\"><span class=\"card-cell-label\">規格</span>audio</td></tr><tr><th data-cell-label=\"參數\" scope=\"row\"><span class=\"card-cell-label\">參數</span><code>material_conditions</code></th><td data-cell-label=\"規格\"><span class=\"card-cell-label\">規格</span>此範例會讀取您實際使用且非空的 PCM WAV 檔案，將完整檔案位元組編碼為 base64，並將 input_audio.format 設為 wav 傳送。</td></tr></tbody></table></div><p>生命週期： <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 現有自有媒體紀錄中完全相符的 task_id</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">方案</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>費率資訊不會增加請求選項。支援的參數列於所選方法中。</p><dl data-price-conditions><dt>快速模式</dt><dd>未指定 <span class=\"note-s\">選取快速模式時</span></dd><dt>flex 模式</dt><dd>未指定 <span class=\"note-s\">選取 flex 模式時</span></dd><dt>最高推理強度</dt><dd>未指定 <span class=\"note-s\">最高推理強度採用 default 調整值時</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot 費率</h4><h4>各設定的價格</h4><p class=\"note-s\">請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>設定</th><th>費率表</th><th>計費單位</th><th>費用</th></tr></thead><tbody><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>基礎 token 費率</th><td data-cell-label=\"費率表\"><span class=\"card-cell-label\">費率表</span>基本費率</td><td data-cell-label=\"計費單位\"><span class=\"card-cell-label\">計費單位</span>—</td><td data-cell-label=\"費用\"><span class=\"card-cell-label\">費用</span><div><span>輸入 · 輸入 Token</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>輸出 · 輸出 Token</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>輸入 · 讀取快取</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>輸入 · 寫入快取</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>輸入 · 寫入快取，1 小時</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div></td></tr><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>輸入音訊秒數</th><td data-cell-label=\"費率表\"><span class=\"card-cell-label\">費率表</span>—</td><td data-cell-label=\"計費單位\"><span class=\"card-cell-label\">計費單位</span>每秒輸入音訊</td><td data-cell-label=\"費用\"><span class=\"card-cell-label\">費用</span><div><span>輸入 · 輸入音訊秒數</span> <b>$0.00015</b> <span class=\"price-unit\">每秒輸入音訊</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot 會在請求前預留估算金額。取得結果後，依實測用量結算最終費用。串流結算採用最終用量紀錄。<a href=\"/docs/zh-hant-tw/billing/reserve/\">預留金額與結算的運作方式 →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">請求範例</h3><h4>Ailoot Ultra · 語音轉文字</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"程式碼版本\"><button class=\"cg-tab\" id=\"model-code-2158-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2158-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · 實際 WAV 檔案與完整的原始結果</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"複製程式碼\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2158-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2158-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;openai/gpt-transcribe&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">接收並儲存結果</h3><h4>Ailoot Ultra · 語音轉文字</h4><p class=\"note-s\">完整的原始回應本文、狀態與轉送標頭。此處理常式不會加入通用的 JSON 結構、文字欄位或工作封裝。</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>保留所有已完成的結果</h5><p class=\"note-s\">請保留所有完整傳回的回應、檔案與內容區塊。</p><p class=\"note-s\">保留完整回應與標頭、所有實際輸出、原始回傳的識別碼，以及所有用量欄位。恢復原始作業時，請勿再次提交建立請求。</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>需要檢查原始回應時</h5><p class=\"note-s\">請保留實際的 X-Client-Request-ID 與完整回應。請讀取原始自有資產及其完全相符的簽署內容 URL；切勿重新提交結果不明的建立請求。</p></div><details class=\"card-about\" data-output-fields><summary>回應欄位</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>欄位</th><th>類型</th></tr></thead><tbody><tr><th data-cell-label=\"欄位\" scope=\"row\"><span class=\"card-cell-label\">欄位</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span></td></tr><tr><th data-cell-label=\"欄位\" scope=\"row\"><span class=\"card-cell-label\">欄位</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>錯誤與後續步驟</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>回應</th><th>條件</th><th>下一步</th></tr></thead><tbody><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>JSON 本文或明確的標準模型 ID 無效。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留回應，並修正指出的請求欄位。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>401 · <code>authentication_error</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>Ailoot API 金鑰無效。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請使用您已獲授權的 Ailoot API 金鑰。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>403 · <code>permission_error</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>此金鑰群組未獲准使用該方法。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留回傳的錯誤詳細資訊。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>404 · <code>not_found_error</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>所選方法沒有獲准使用的路由。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留回傳的錯誤詳細資訊。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>已接受的費率無法取得其所需的輸入數量或界限。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留回應，並使用已接受費率所要求的輸入表示方式。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>503 · <code></code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>所需的儲存系統、路由、方法價格或預留額度無法使用。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留完整的原始回應。預留額度狀態不明並不代表可以重新提交。</td></tr><tr><th data-cell-label=\"回應\" scope=\"row\"><span class=\"card-cell-label\">回應</span>502 · <code>server_error</code></th><td data-cell-label=\"條件\"><span class=\"card-cell-label\">條件</span>原始結果、用量或結算需要查核。</td><td data-cell-label=\"下一步\"><span class=\"card-cell-label\">下一步</span>請保留實際的請求 ID 與原始回應。請讀取現有的自有紀錄，切勿重新提交建立請求。</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">別名</h3><h4>模型別名</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</code></a></span></p><h4>方法路徑別名</h4><p class=\"note-s\">請使用上方列出的 API 方法路徑。</p><h4>相關呼叫用 ID</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON 本文或明確的標準模型 ID 無效。",
                "http_status": 400,
                "recovery": "請保留回應，並修正指出的請求欄位。",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API 金鑰無效。",
                "http_status": 401,
                "recovery": "請使用您已獲授權的 Ailoot API 金鑰。",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "此金鑰群組未獲准使用該方法。",
                "http_status": 403,
                "recovery": "請保留回傳的錯誤詳細資訊。",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "所選方法沒有獲准使用的路由。",
                "http_status": 404,
                "recovery": "請保留回傳的錯誤詳細資訊。",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "已接受的費率無法取得其所需的輸入數量或界限。",
                "http_status": 422,
                "recovery": "請保留回應，並使用已接受費率所要求的輸入表示方式。",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "所需的儲存系統、路由、方法價格或預留額度無法使用。",
                "http_status": 503,
                "recovery": "請保留完整的原始回應。預留額度狀態不明並不代表可以重新提交。",
                "type": null
              },
              {
                "code": null,
                "condition": "原始結果、用量或結算需要查核。",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "請保留實際的請求 ID 與原始回應。請讀取現有的自有紀錄，切勿重新提交建立請求。",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "請保留實際的 X-Client-Request-ID 與完整回應。請讀取原始自有資產及其完全相符的簽署內容 URL；切勿重新提交結果不明的建立請求。"
            },
            "outputs": {
              "all_results": "保留完整回應與標頭、所有實際輸出、原始回傳的識別碼，以及所有用量欄位。恢復原始作業時，請勿再次提交建立請求。",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "完整的原始回應本文、狀態與轉送標頭。此處理常式不會加入通用的 JSON 結構、文字欄位或工作封裝。"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "此範例會讀取您實際使用且非空的 PCM WAV 檔案，將完整檔案位元組編碼為 base64，並將 input_audio.format 設為 wav 傳送。"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "現有自有媒體紀錄中完全相符的 task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "語音轉文字",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00015
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "be582a356c3260de6c4fe15a1516f13779e62bb7e8e749d53810098c7736192d",
    "input_html_sha256": "2a50c6c52414313a7f124ad95db1e16b71734bafab10986e592a5b64d4a74ee1",
    "private_audit_sha256": "fc9ceef68221f88c62ef2c8c7a0524afade986f48e7eaa6edf7e089e8f89e851",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/zh-hant-tw/openai-gpt-transcribe/",
    "description": "GPT Transcribe 將錄製語音轉成原語言文字，支援上下文提示詞、字面關鍵詞提示和多語言提示。OpenAI 記載了完整檔案轉錄、檔案結果串流，以及 Realtime 音訊回合提交後的轉錄。",
    "locale": "zh-hant-tw",
    "md_url": "https://ailoot.ai/models/zh-hant-tw/openai-gpt-transcribe/index.md",
    "title": "OpenAI: GPT Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/zh-hant-tw/openai-gpt-transcribe/"
  },
  "rawModel": {
    "about": "GPT Transcribe 是 OpenAI 的語音轉文字模型，適用於完整音訊檔案、檔案逐字稿串流，以及 Realtime 工作階段中已提交的音訊回合。它接受音訊和選用的文字上下文，回傳辨識出的文字。開發方將其定位於準確轉錄原語言的錄製語音，包括領域詞彙、多語言錄音和語碼轉換。實用輸出是與錄音保持關聯的逐字稿，並在模型能可靠預測時附上偵測語言中繼資料。\n\n### 準備完整錄音\n\nOpenAI 的檔案轉錄流程接受最多 25 MB 的上傳。當前端點參考文件列出 FLAC、MP3、MP4、MPEG、MPGA、M4A、OGG、WAV 和 WebM 輸入格式，並建議提供足以辨識格式的檔案中繼資料，包括適當副檔名和內容型別。較大的錄音，指南建議壓縮或分割成每份 25 MB 以下的檔案。避免在句子中間切割，因為移除前後語音可能降低辨識準確度。請依順序保留各部分，以及它們在原始錄音中的位置。\n\n會議、訪談或錄製簡報應提供實際音訊，並指出主題和可能出現的術語。實用結果是辨識出的原話，而非推測的討論摘要。請將錄音識別碼與回傳文字保存在一起，讓審查姓名、數字或不確定詞句的人能回到正確來源。逐字稿之後可作為獨立摘要、翻譯或編輯流程的資料。\n\n### 上下文、關鍵詞提示與預期語言\n\n開發方區分三種引導。提示詞提供錄音主題或情境的自由形式上下文。關鍵詞提供語音中預期出現的字面詞語或片語。語言清單指出預期的口語語言。雙語產品討論可在提示詞中描述情境、將相關產品名稱列為關鍵詞，再提供預期語言。這些是辨識提示，並非要求插入未曾被說出的詞彙。\n\nGPT Transcribe 使用複數 languages 欄位，而非較舊的單數 language 欄位；OpenAI 指出不要同時傳送兩者。指南接受支援的 ISO 639-1 代碼、指定的 ISO 639-3 代碼，以及區域中文語系代碼，不支援或格式錯誤的值會被拒絕。每個關鍵詞必須維持單行，不得包含角括號、回車或換行。無效關鍵詞或過長提示詞可能讓整個請求遭到拒絕。請讓上下文保持相關，並確認提示的名稱是否真的出現在音訊中，而非將提示清單當成逐字稿。\n\n### JSON 輸出與偵測語言預測\n\n文件所列的檔案結果是包含逐字稿和偵測語言的 JSON。這些語言預測是模型的輸出，而非複製所提供的語言提示。當模型無法可靠預測時，空語言清單是有效結果，不表示錄音無聲或轉錄失敗。請將辨識文字和語言中繼資料分開，讓後續處理能依各自意義使用。\n\n### 串流檔案逐字稿\n\n完整檔案可在處理時逐步產生逐字稿文字。OpenAI 記載 transcript.text.delta 事件用於部分文字，transcript.text.done 則用於完整檔案逐字稿；最後事件也包含偵測語言。這是對已提供錄音的輸出進行串流，適合呈現較長上傳的處理進度；最後事件才確立應保留為完整結果的文字。\n\n### Realtime 工作階段中已提交的回合\n\nGPT Transcribe 也提供透過 WebSocket 的專用 Realtime 流程。音訊會追加至輸入緩衝區，再由應用程式明確提交一個音訊回合。轉錄從該已提交區塊開始，可能在完成事件前發出增量內容，並包含偵測語言資訊。在這個開發方工作階段流程中，模型會自動將先前已轉錄回合作為上下文。這與麥克風音訊一到達就持續輸出即時字幕文字不同；OpenAI 將持續處理的流程命名為 GPT Live Transcribe。\n\n多個回合應將輸入項目識別碼與對應逐字稿保存在一起。OpenAI 提醒，不同回合的完成事件不一定依發話順序到達，因此請將每份最終結果關聯至其已提交輸入，而非只依完成時間排列對話。實用成果是由正確最終項目組成的有序逐字稿，暫存文字應視為進度，而非另一段已完成發話。\n\n### 專用輸出與實質限制\n\n此設定檔不提供通用的字幕、時間戳記、翻譯或說話者標籤約定。OpenAI 的遷移指南區分這些專用能力：原生字幕格式和逐字時間資訊需要相容的模型與格式，說話者標籤則使用 GPT-4o Transcribe Diarize。GPT Transcribe 的檔案結果是 JSON，不能直接替代 SRT、VTT 或詳細時間戳記回應。其確切模型卡未公布數值形式的上下文或最大輸出額度，因此不應將聊天模型的詞元視窗套用於音訊轉錄。\n\n請依錄音檢查困難詞彙、數字、口音、背景噪音和語言切換。確認相關提示改善了辨識，而未引入未被說出的詞語，並確認最終逐字稿包含音訊結尾。多語言結果應先保留實際發話，再準備翻譯版本。這些檢查讓逐字稿成為實用來源資料，同時清楚區分上下文提示、偵測語言和辨識出的語音。",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "完整的設定價格資訊請見詳細資料。"
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON 本文或明確的標準模型 ID 無效。",
                "http_status": 400,
                "recovery": "請保留回應，並修正指出的請求欄位。",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API 金鑰無效。",
                "http_status": 401,
                "recovery": "請使用您已獲授權的 Ailoot API 金鑰。",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "此金鑰群組未獲准使用該方法。",
                "http_status": 403,
                "recovery": "請保留回傳的錯誤詳細資訊。",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "所選方法沒有獲准使用的路由。",
                "http_status": 404,
                "recovery": "請保留回傳的錯誤詳細資訊。",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "已接受的費率無法取得其所需的輸入數量或界限。",
                "http_status": 422,
                "recovery": "請保留回應，並使用已接受費率所要求的輸入表示方式。",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "所需的儲存系統、路由、方法價格或預留額度無法使用。",
                "http_status": 503,
                "recovery": "請保留完整的原始回應。預留額度狀態不明並不代表可以重新提交。",
                "type": null
              },
              {
                "code": null,
                "condition": "原始結果、用量或結算需要查核。",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "請保留實際的請求 ID 與原始回應。請讀取現有的自有紀錄，切勿重新提交建立請求。",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "請保留實際的 X-Client-Request-ID 與完整回應。請讀取原始自有資產及其完全相符的簽署內容 URL；切勿重新提交結果不明的建立請求。"
            },
            "outputs": {
              "all_results": "保留完整回應與標頭、所有實際輸出、原始回傳的識別碼，以及所有用量欄位。恢復原始作業時，請勿再次提交建立請求。",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "完整的原始回應本文、狀態與轉送標頭。此處理常式不會加入通用的 JSON 結構、文字欄位或工作封裝。"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-transcribe"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "openai/gpt-transcribe"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/gpt-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "此範例會讀取您實際使用且非空的 PCM WAV 檔案，將完整檔案位元組編碼為 base64，並將 input_audio.format 設為 wav 傳送。"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "現有自有媒體紀錄中完全相符的 task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'openai/gpt-transcribe', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "語音轉文字",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00015
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-transcribe",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "GPT Transcribe 將錄製語音轉成原語言文字，支援上下文提示詞、字面關鍵詞提示和多語言提示。OpenAI 記載了完整檔案轉錄、檔案結果串流，以及 Realtime 音訊回合提交後的轉錄。"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "GPT Transcribe 將錄製語音轉成原語言文字，支援上下文提示詞、字面關鍵詞提示和多語言提示。OpenAI 記載了完整檔案轉錄、檔案結果串流，以及 Realtime 音訊回合提交後的轉錄。",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9ec560ddb83380e1809866ed6e7dd2df02dc824b91b8fc393fd859b253ed61cb",
    "renderer_sha256": "13a3fc1b22d07359278e2249d630bfc9bb9e6416c71ba53def933fb5a903660b"
  },
  "sourceRevision": "bad024885ed410c274781eabacf7e16143611c4801af1f4394b4843d5114e765"
}
