{
  "aboutHtml": "<p>Aleph 2.0 是 Runway 的情境式影片編輯模型。它以文字指示及選用的關鍵影格引導，轉換現有的傳統拍攝或生成影像。預期流程是修改場景中指定部分，同時保留周圍構圖、光線與細節，因此適合產品替換、服裝變更、背景轉換、重新打光或視覺風格調整，無須從文字簡述重建整個場景。</p><p>以直接的動作及所需轉換開始：新增、移除、替換、改變、重新打光或調整風格。替換產品時，指出可見物件並描述替代物，再說明哪些手部動作、運鏡與周圍場景應保留。季節場景則描述應變動的天氣或光線。簡潔而有針對性的指示，比籠統要求改善整段短片更能確立編輯目標。</p><p>關鍵影格引導可確立編輯結果在特定時刻應有的樣貌。選擇清楚顯示目標的影格：背景變更可用廣景，小特徵或配件則用較近的畫面。在 Runway 的 Edit Studio 流程中，可以先預覽並微調靜態影格編輯，再以選定版本引導影片轉換。請比較編輯影格與來源中的主體細節、邊緣及希望保留的物件，再將它用作短片的視覺方向。</p><p>原廠 API 支援 2–30 秒來源影片，以及最多五張選用關鍵影格圖片，放置於指定時間戳記。每張引導圖片都應對應來源中的預期時間點，使用少量明確變更，避免一組互相衝突的視覺目標。Aleph 2.0 與較早的 Gen-4 Aleph 模型不同；原廠另行識別其 API 模型。關鍵影格引導編輯也不同於要求文字轉影片模型建立無關的新鏡頭。</p><p>Edit Studio 文件中的準備規則為常見長寬比、480p 至 1080p 來源解析度，以及每秒 24–30 格，剪接或鏡頭切換不超過十次。它建議使用 720p 或 1080p 來源；該介面會降低超過 30 fps 影像的影格率，並裁短超過 30 秒的上傳內容。這些是原廠編輯流程的準備規則。請選擇包含完整待編輯事件的來源片段，並確保需要持續套用變更的地方，主體都仍然可見。</p><p>模型可將變更後的背景、服裝、物件、光線或風格延續到整段影像。若編輯需要來源中沒有、也無法單靠關鍵影格推導的新動作，例如隨時間發展的視覺特效，額外動態指示就很有用。許多編輯不需要額外動態簡述，因為模型會在既有場景中將關鍵影格調整動態化。請明確描述新動作，並與關鍵影格已確立的視覺變更分開。</p><p>原廠編輯流程預設將編輯套用到整段影片，也可限制於選定時間軸範圍。請保留原始短片，方便將選定結果與來源比較，並進行有針對性的後續處理。實際檢查不能只看選定影格：請檢查開頭、中段、結尾、每個剪接點，以及目標短暫被遮擋的時段。實用素材應是修訂後的短片，指定轉換隨時間保持一致，重要的未變元素則保有原本作用。</p><p>MP4 是預設的播放與分享素材。Runway 符合條件的完整影片 Edit Studio 流程，也提供帶 PCM 音訊的 ProRes MOV，或用於合成的個別 PNG 影格 ZIP。ProRes 規格從 422 Proxy 到 4444 XQ。限於時間軸範圍的編輯回傳 MP4；輸出格式在生成開始時選擇，完成後不能更改。請依後續剪輯工作選擇原廠匯出格式，同時將它與模型核心視覺編輯能力區分。</p><p>要得到實用的完成編輯，請將預期替換、光線或風格與關鍵影格比較，並檢查原本不應改變的周邊細節。保存成功版本，針對造成不符之處的特定指示或引導影格修改。Aleph 2.0 的用途是透過清楚的視覺目標轉換來源影像；製作新配樂、改變應用程式行為，或完成另一套廣播交付流程，都是編輯影片周邊的其他工作。</p>",
  "aboutText": "Aleph 2.0 是 Runway 的情境式影片編輯模型。它以文字指示及選用的關鍵影格引導，轉換現有的傳統拍攝或生成影像。預期流程是修改場景中指定部分，同時保留周圍構圖、光線與細節，因此適合產品替換、服裝變更、背景轉換、重新打光或視覺風格調整，無須從文字簡述重建整個場景。\n\n以直接的動作及所需轉換開始：新增、移除、替換、改變、重新打光或調整風格。替換產品時，指出可見物件並描述替代物，再說明哪些手部動作、運鏡與周圍場景應保留。季節場景則描述應變動的天氣或光線。簡潔而有針對性的指示，比籠統要求改善整段短片更能確立編輯目標。\n\n關鍵影格引導可確立編輯結果在特定時刻應有的樣貌。選擇清楚顯示目標的影格：背景變更可用廣景，小特徵或配件則用較近的畫面。在 Runway 的 Edit Studio 流程中，可以先預覽並微調靜態影格編輯，再以選定版本引導影片轉換。請比較編輯影格與來源中的主體細節、邊緣及希望保留的物件，再將它用作短片的視覺方向。\n\n原廠 API 支援 2–30 秒來源影片，以及最多五張選用關鍵影格圖片，放置於指定時間戳記。每張引導圖片都應對應來源中的預期時間點，使用少量明確變更，避免一組互相衝突的視覺目標。Aleph 2.0 與較早的 Gen-4 Aleph 模型不同；原廠另行識別其 API 模型。關鍵影格引導編輯也不同於要求文字轉影片模型建立無關的新鏡頭。\n\nEdit Studio 文件中的準備規則為常見長寬比、480p 至 1080p 來源解析度，以及每秒 24–30 格，剪接或鏡頭切換不超過十次。它建議使用 720p 或 1080p 來源；該介面會降低超過 30 fps 影像的影格率，並裁短超過 30 秒的上傳內容。這些是原廠編輯流程的準備規則。請選擇包含完整待編輯事件的來源片段，並確保需要持續套用變更的地方，主體都仍然可見。\n\n模型可將變更後的背景、服裝、物件、光線或風格延續到整段影像。若編輯需要來源中沒有、也無法單靠關鍵影格推導的新動作，例如隨時間發展的視覺特效，額外動態指示就很有用。許多編輯不需要額外動態簡述，因為模型會在既有場景中將關鍵影格調整動態化。請明確描述新動作，並與關鍵影格已確立的視覺變更分開。\n\n原廠編輯流程預設將編輯套用到整段影片，也可限制於選定時間軸範圍。請保留原始短片，方便將選定結果與來源比較，並進行有針對性的後續處理。實際檢查不能只看選定影格：請檢查開頭、中段、結尾、每個剪接點，以及目標短暫被遮擋的時段。實用素材應是修訂後的短片，指定轉換隨時間保持一致，重要的未變元素則保有原本作用。\n\nMP4 是預設的播放與分享素材。Runway 符合條件的完整影片 Edit Studio 流程，也提供帶 PCM 音訊的 ProRes MOV，或用於合成的個別 PNG 影格 ZIP。ProRes 規格從 422 Proxy 到 4444 XQ。限於時間軸範圍的編輯回傳 MP4；輸出格式在生成開始時選擇，完成後不能更改。請依後續剪輯工作選擇原廠匯出格式，同時將它與模型核心視覺編輯能力區分。\n\n要得到實用的完成編輯，請將預期替換、光線或風格與關鍵影格比較，並檢查原本不應改變的周邊細節。保存成功版本，針對造成不符之處的特定指示或引導影格修改。Aleph 2.0 的用途是透過清楚的視覺目標轉換來源影像；製作新配樂、改變應用程式行為，或完成另一套廣播交付流程，都是編輯影片周邊的其他工作。",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "173aa8f420000224fc4edc66669ecff364f4a686bc19b113dce11e1610ad9737",
    "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\">•</span><h2 id=\"sheet-title\">Runway: Aleph 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"關閉\">×</button></div><div class=\"idline\"><span>Runway /</span><code>runway/aleph-2</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|videos|/v1/videos|runway%2Faleph-2\">影片</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\">Aleph 2.0 透過針對性的文字指示與關鍵影格引導編輯現有影片。可用來替換物件、改變背景、服裝、光線或風格，同時指定原始場景哪些細節應保持完整。</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>Aleph 2.0 是 Runway 的情境式影片編輯模型。它以文字指示及選用的關鍵影格引導，轉換現有的傳統拍攝或生成影像。預期流程是修改場景中指定部分，同時保留周圍構圖、光線與細節，因此適合產品替換、服裝變更、背景轉換、重新打光或視覺風格調整，無須從文字簡述重建整個場景。</p><p>以直接的動作及所需轉換開始：新增、移除、替換、改變、重新打光或調整風格。替換產品時，指出可見物件並描述替代物，再說明哪些手部動作、運鏡與周圍場景應保留。季節場景則描述應變動的天氣或光線。簡潔而有針對性的指示，比籠統要求改善整段短片更能確立編輯目標。</p><p>關鍵影格引導可確立編輯結果在特定時刻應有的樣貌。選擇清楚顯示目標的影格：背景變更可用廣景，小特徵或配件則用較近的畫面。在 Runway 的 Edit Studio 流程中，可以先預覽並微調靜態影格編輯，再以選定版本引導影片轉換。請比較編輯影格與來源中的主體細節、邊緣及希望保留的物件，再將它用作短片的視覺方向。</p><p>原廠 API 支援 2–30 秒來源影片，以及最多五張選用關鍵影格圖片，放置於指定時間戳記。每張引導圖片都應對應來源中的預期時間點，使用少量明確變更，避免一組互相衝突的視覺目標。Aleph 2.0 與較早的 Gen-4 Aleph 模型不同；原廠另行識別其 API 模型。關鍵影格引導編輯也不同於要求文字轉影片模型建立無關的新鏡頭。</p><p>Edit Studio 文件中的準備規則為常見長寬比、480p 至 1080p 來源解析度，以及每秒 24–30 格，剪接或鏡頭切換不超過十次。它建議使用 720p 或 1080p 來源；該介面會降低超過 30 fps 影像的影格率，並裁短超過 30 秒的上傳內容。這些是原廠編輯流程的準備規則。請選擇包含完整待編輯事件的來源片段，並確保需要持續套用變更的地方，主體都仍然可見。</p><p>模型可將變更後的背景、服裝、物件、光線或風格延續到整段影像。若編輯需要來源中沒有、也無法單靠關鍵影格推導的新動作，例如隨時間發展的視覺特效，額外動態指示就很有用。許多編輯不需要額外動態簡述，因為模型會在既有場景中將關鍵影格調整動態化。請明確描述新動作，並與關鍵影格已確立的視覺變更分開。</p><p>原廠編輯流程預設將編輯套用到整段影片，也可限制於選定時間軸範圍。請保留原始短片，方便將選定結果與來源比較，並進行有針對性的後續處理。實際檢查不能只看選定影格：請檢查開頭、中段、結尾、每個剪接點，以及目標短暫被遮擋的時段。實用素材應是修訂後的短片，指定轉換隨時間保持一致，重要的未變元素則保有原本作用。</p><p>MP4 是預設的播放與分享素材。Runway 符合條件的完整影片 Edit Studio 流程，也提供帶 PCM 音訊的 ProRes MOV，或用於合成的個別 PNG 影格 ZIP。ProRes 規格從 422 Proxy 到 4444 XQ。限於時間軸範圍的編輯回傳 MP4；輸出格式在生成開始時選擇，完成後不能更改。請依後續剪輯工作選擇原廠匯出格式，同時將它與模型核心視覺編輯能力區分。</p><p>要得到實用的完成編輯，請將預期替換、光線或風格與關鍵影格比較，並檢查原本不應改變的周邊細節。保存成功版本，針對造成不符之處的特定指示或引導影格修改。Aleph 2.0 的用途是透過清楚的視覺目標轉換來源影像；製作新配樂、改變應用程式行為，或完成另一套廣播交付流程，都是編輯影片周邊的其他工作。</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/videos</code></summary><dl class=\"method-capabilities\"><div><dt>輸入</dt><dd><code>text</code>, <code>image</code>, <code>audio</code>, <code>video</code></dd></div><div><dt>輸出</dt><dd><code>video</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>runway/aleph-2</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_references</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span><code>array</code></td><td data-cell-label=\"要求\"><span class=\"card-cell-label\">要求</span>必填</td><td data-cell-label=\"值與限制\"><span class=\"card-cell-label\">值與限制</span><div>項目數下限: 1</div><div>項目數上限: 1</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\">prompt</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>長度下限: 1</div></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_references, prompt</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>text, image, audio, video</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>請僅使用一個實際已完成的自有影片資產內容 URL，並保留其回傳的簽章。資產擁有者、型別與已儲存的位元組佐證必須與請求一致。</td></tr></tbody></table></div><p>生命週期： <code>asynchronous_job_then_owned_outputs</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code> · 實際回傳的 id 或 polling_url</p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">方案</h3><div class=\"card-result-process\" data-billing-basis><h5>最終費用的計算方式</h5><p class=\"note-s\">顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。</p></div><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>供比較的預估費率</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><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>—</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=\"最低費用規則\"><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>—</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=\"最低費用規則\"><span class=\"card-cell-label\">最低費用規則</span>—</td><td data-cell-label=\"費用\"><span class=\"card-cell-label\">費用</span><div><span>輸出 · 影片價格 · 僅供比較的估算</span> <b>$0.56</b> <span class=\"price-unit\">每秒影片</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>最低費用</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=\"最低費用規則\"><span class=\"card-cell-label\">最低費用規則</span>是</td><td data-cell-label=\"費用\"><span class=\"card-cell-label\">費用</span><div><span>total · 生成最低費用 · 僅供比較的估算</span> <b>$1.12</b> <span class=\"price-unit\">最低生成費用</span></div><p class=\"note-s\">每次生成的最低收費；請將其作為最低收費套用，切勿視為額外費用。此設定不代表有最低長度。</p></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>—</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=\"最低費用規則\"><span class=\"card-cell-label\">最低費用規則</span>—</td><td data-cell-label=\"費用\"><span class=\"card-cell-label\">費用</span><div><span>輸出 · 預估生成費用 · 僅供比較的估算</span> <b>$0.56</b> <span class=\"price-unit\">生成前估算</span></div><p class=\"note-s\">此估算並非額外費用，也不是本次生成完成後的固定費率。</p></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-2561-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2561-panel-0\" aria-selected=\"true\" tabindex=\"0\">使用實際輸入並保留完整結果</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-2561-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2561-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_REFERENCES_JSON\n: &quot;${AILOOT_PROMPT:?Set the actual documented input value}&quot;\nexport AILOOT_PROMPT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;runway/aleph-2&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;prompt&#39;: &#39;${ACTUAL_EDIT_PROMPT}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;prompt&#39;]=os.environ[&#39;AILOOT_PROMPT&#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/videos \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">接收並儲存結果</h3><h4>Ailoot Ultra · 影片</h4><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li></ul><h5>儲存所有已完成的素材</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"程式碼版本\"><button class=\"cg-tab\" id=\"model-code-2562-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2562-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · 取得所有已完成的素材</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-2562-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2562-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>保留所有已完成的結果</h5><p class=\"note-s\">請儲存每部已完成的影片或傳回的檔案，並從實際傳回的每個素材 URL 取得素材。</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、X-Ailoot-Task-Id，以及實際回傳的 id/polling_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\">id</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\">status</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\">data[]</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\">outputs[]</code></th><td data-cell-label=\"類型\" data-field-type><span class=\"card-cell-label\">類型</span></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=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</code></a></span></p><h4>方法路徑別名</h4><p class=\"note-s\">請使用上方列出的 API 方法路徑。</p><h4>相關呼叫用 ID</h4><p class=\"note-s\"><a href=\"#m=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "runway/aleph-2",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|runway%2Faleph-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "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.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "請保留 X-Client-Request-ID、X-Ailoot-Task-Id，以及實際回傳的 id/polling_url。請接續原始作業，切勿再次提交建立請求。"
            },
            "outputs": {
              "all_results": "保留完整回應與標頭、所有實際輸出、原始回傳的識別碼，以及所有用量欄位。恢復原始作業時，請勿再次提交建立請求。",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "請僅使用一個實際已完成的自有影片資產內容 URL，並保留其回傳的簽章。資產擁有者、型別與已儲存的位元組佐證必須與請求一致。"
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "實際回傳的 id 或 polling_url",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "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": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "此定價鍵未宣告額外條件。",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "每次生成的最低收費；請將其作為最低收費套用，切勿視為額外費用。此設定不代表有最低長度。",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "生成最低收費",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "此估算並非額外費用，也不是本次生成完成後的固定費率。",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "預估生成費用",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\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/videos \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "影片",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "runway/aleph-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f98f24b306d38a8084351ea1061f2534c7b5ff6820ce3218ac32ab57276bda45",
    "input_html_sha256": "34c36a903ed8810f88cec047d0a0e87212cb3bbf1002ef63f4b6efc280dc0b58",
    "private_audit_sha256": "7bfbc2d85f5b1a8cb4443e0f02edee72eafbc60db45f55cf0572e2be98e836b4",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/zh-hant-tw/runway-aleph-2/",
    "description": "Aleph 2.0 透過針對性的文字指示與關鍵影格引導編輯現有影片。可用來替換物件、改變背景、服裝、光線或風格，同時指定原始場景哪些細節應保持完整。",
    "locale": "zh-hant-tw",
    "md_url": "https://ailoot.ai/models/zh-hant-tw/runway-aleph-2/index.md",
    "title": "Runway: Aleph 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/zh-hant-tw/runway-aleph-2/"
  },
  "rawModel": {
    "about": "Aleph 2.0 是 Runway 的情境式影片編輯模型。它以文字指示及選用的關鍵影格引導，轉換現有的傳統拍攝或生成影像。預期流程是修改場景中指定部分，同時保留周圍構圖、光線與細節，因此適合產品替換、服裝變更、背景轉換、重新打光或視覺風格調整，無須從文字簡述重建整個場景。\n\n以直接的動作及所需轉換開始：新增、移除、替換、改變、重新打光或調整風格。替換產品時，指出可見物件並描述替代物，再說明哪些手部動作、運鏡與周圍場景應保留。季節場景則描述應變動的天氣或光線。簡潔而有針對性的指示，比籠統要求改善整段短片更能確立編輯目標。\n\n關鍵影格引導可確立編輯結果在特定時刻應有的樣貌。選擇清楚顯示目標的影格：背景變更可用廣景，小特徵或配件則用較近的畫面。在 Runway 的 Edit Studio 流程中，可以先預覽並微調靜態影格編輯，再以選定版本引導影片轉換。請比較編輯影格與來源中的主體細節、邊緣及希望保留的物件，再將它用作短片的視覺方向。\n\n原廠 API 支援 2–30 秒來源影片，以及最多五張選用關鍵影格圖片，放置於指定時間戳記。每張引導圖片都應對應來源中的預期時間點，使用少量明確變更，避免一組互相衝突的視覺目標。Aleph 2.0 與較早的 Gen-4 Aleph 模型不同；原廠另行識別其 API 模型。關鍵影格引導編輯也不同於要求文字轉影片模型建立無關的新鏡頭。\n\nEdit Studio 文件中的準備規則為常見長寬比、480p 至 1080p 來源解析度，以及每秒 24–30 格，剪接或鏡頭切換不超過十次。它建議使用 720p 或 1080p 來源；該介面會降低超過 30 fps 影像的影格率，並裁短超過 30 秒的上傳內容。這些是原廠編輯流程的準備規則。請選擇包含完整待編輯事件的來源片段，並確保需要持續套用變更的地方，主體都仍然可見。\n\n模型可將變更後的背景、服裝、物件、光線或風格延續到整段影像。若編輯需要來源中沒有、也無法單靠關鍵影格推導的新動作，例如隨時間發展的視覺特效，額外動態指示就很有用。許多編輯不需要額外動態簡述，因為模型會在既有場景中將關鍵影格調整動態化。請明確描述新動作，並與關鍵影格已確立的視覺變更分開。\n\n原廠編輯流程預設將編輯套用到整段影片，也可限制於選定時間軸範圍。請保留原始短片，方便將選定結果與來源比較，並進行有針對性的後續處理。實際檢查不能只看選定影格：請檢查開頭、中段、結尾、每個剪接點，以及目標短暫被遮擋的時段。實用素材應是修訂後的短片，指定轉換隨時間保持一致，重要的未變元素則保有原本作用。\n\nMP4 是預設的播放與分享素材。Runway 符合條件的完整影片 Edit Studio 流程，也提供帶 PCM 音訊的 ProRes MOV，或用於合成的個別 PNG 影格 ZIP。ProRes 規格從 422 Proxy 到 4444 XQ。限於時間軸範圍的編輯回傳 MP4；輸出格式在生成開始時選擇，完成後不能更改。請依後續剪輯工作選擇原廠匯出格式，同時將它與模型核心視覺編輯能力區分。\n\n要得到實用的完成編輯，請將預期替換、光線或風格與關鍵影格比較，並檢查原本不應改變的周邊細節。保存成功版本，針對造成不符之處的特定指示或引導影格修改。Aleph 2.0 的用途是透過清楚的視覺目標轉換來源影像；製作新配樂、改變應用程式行為，或完成另一套廣播交付流程，都是編輯影片周邊的其他工作。",
    "alias_of": null,
    "aliases": [],
    "author": "Runway",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "完整的設定價格資訊請見詳細資料。"
      }
    ],
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "runway/aleph-2",
    "input": [
      "text",
      "image",
      "audio",
      "video"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "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.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "請保留 X-Client-Request-ID、X-Ailoot-Task-Id，以及實際回傳的 id/polling_url。請接續原始作業，切勿再次提交建立請求。"
            },
            "outputs": {
              "all_results": "保留完整回應與標頭、所有實際輸出、原始回傳的識別碼，以及所有用量欄位。恢復原始作業時，請勿再次提交建立請求。",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "請僅使用一個實際已完成的自有影片資產內容 URL，並保留其回傳的簽章。資產擁有者、型別與已儲存的位元組佐證必須與請求一致。"
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "實際回傳的 id 或 polling_url",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "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": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "此定價鍵未宣告額外條件。",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "每次生成的最低收費；請將其作為最低收費套用，切勿視為額外費用。此設定不代表有最低長度。",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "生成最低收費",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "此估算並非額外費用，也不是本次生成完成後的固定費率。",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "預估生成費用",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\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/videos \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "影片",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "runway/aleph-2",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Runway: Aleph 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.56,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.56,
      "varies": false
    },
    "short": "Aleph 2.0 透過針對性的文字指示與關鍵影格引導編輯現有影片。可用來替換物件、改變背景、服裝、光線或風格，同時指定原始場景哪些細節應保持完整。"
  },
  "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": "Aleph 2.0 透過針對性的文字指示與關鍵影格引導編輯現有影片。可用來替換物件、改變背景、服裝、光線或風格，同時指定原始場景哪些細節應保持完整。",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "20b170f365b7df5f701e08a45f231123ea9a1dc8061c4f6ba579df2411992ff5",
    "renderer_sha256": "13a3fc1b22d07359278e2249d630bfc9bb9e6416c71ba53def933fb5a903660b"
  },
  "sourceRevision": "55187b51769077fd62052e5725269228ef1b22e84b198364b8be51eb4b6b1c72"
}
