Yearly Pay yearly and get 2 months free on every paid plan. See plans
登入 免費開始

模型接受的每一種參考素材,都真正傳了出去

一個影片模型接受的不只是提示詞。有些接受第一幀和最後一幀。有些接受少量參考圖片。有些接受一段參考片段,然後因此表現出不同的行為——靜音自己的原聲軌,或者把片段時長當作輸出結果的時長。有些接受一段參考音訊。每個模型描述這個介面規格的方式都不一樣,而我們的大多數模型此前只傳送了其中的一部分。 現在有了一個統一的地方來描述每個模型的介面規格:接受多少張圖片、是否允許上傳片段以及最多多少秒、是否接受音訊、音訊是否需要配一張圖片、片段是否會靜音模…

一個影片模型接受的不只是提示詞。有些接受第一幀和最後一幀。有些接受少量參考圖片。有些接受一段參考片段,然後因此表現出不同的行為——靜音自己的原聲軌,或者把片段時長當作輸出結果的時長。有些接受一段參考音訊。每個模型描述這個介面規格的方式都不一樣,而我們的大多數模型此前只傳送了其中的一部分。

現在有了一個統一的地方來描述每個模型的介面規格:接受多少張圖片、是否允許上傳片段以及最多多少秒、是否接受音訊、音訊是否需要配一張圖片、片段是否會靜音模型自身的音效、片段是否會決定時長。這些資訊是從服務商自己的文件中讀取的,然後在同一天用真實的金鑰進行了真實渲染測試——正是這樣才發現了以下兩個問題。

一個沒有副檔名的檔案

透過連結把一段片段交給模型,是最直接的做法。但在其中幾個模型上,它會以一種極難猜到的方式失敗:檔案抵達時沒有副檔名,而模型是按副檔名來校驗的,於是它會拒絕一個完全正常的mp4,理由是它「不是」mp4。同樣的位元組以內嵌方式傳送時,在各處都被接受了。因此現在每段片段都會先被重新編碼成標準格式,再以內嵌方式傳送,同時設有一個大小上限,超過上限時仍會走連結路徑,並附帶一則警告。

一個沒人真正拿到過的檔位

第二個問題一直在讓客戶白花錢。其中一個影片模型完全沒有解析度欄位——它的畫質檔位要透過一個換了名字的欄位來設定——而它前面的平台會悄悄丟棄它無法識別的欄位。於是這個模型自從上線以來的每一次渲染,都會回落到預設檔位,而客戶明明為更高檔位付了錢。沒有任何環節報錯,影片照常送達,只是不是客戶被收費的那個版本。

檔位現在會根據實際計價的解析度來推導,並透過探測確認。

Seedance轉到了直連通道

同一時期,整個Seedance系列從聚合平台遷移到了服務商自己的API,聚合平台被保留為備援方案。一行模型紀錄,一個名字,兩套費率——無論主通道是否失敗、備援方案是否啟用,報給你的價格就是你實際支付的價格,帳本會記錄到底是哪條通道真正完成了工作,這樣我們自己的利潤核算讀到的就是事實,而不是報價。

作為使用者需要知道的一點是:當你在這條通道上附加一段參考片段時,服務商會把片段的秒數計入費用,疊加在輸出結果的秒數之上。表單中的預估會說明這一點,執行前顯示的數字就是最終被收取的數字。

沿途發現的問題

三個API客戶端都缺少一個關鍵屬性,正是這個屬性能讓以服務商命名的類別在我們的容器中被識別到。其中兩個是文字轉語音客戶端,從被加入的那天起就一直不可見——這也是為什麼目錄裡種下的兩個語音一直無法真正被提供服務。現在一個反射測試會在下一次出現這類遺漏時直接讓建置失敗,而不是等著有人注意到某個語音什麼都不做。

而我們前一天剛發布的網頁搜尋頁面,在網頁端和行動端的每個檔位上都回傳了403錯誤。它被一個父層權限鎖住了;兩個角色種子都只授予了它的三個子權限,而任何地方都不會從子權限反推出父權限。此前已有四個其他功能各自手動打過這類補丁。現在有了一項檢查,會遍歷整個權限樹,並在某個服務被一個沒有任何角色擁有的權限鎖住時報錯。

分享 LinkedIn X 電子郵件
用你自己的工作試試每則回覆都會顯示它的費用。從免費方案開始。 免費開始
Get product updates, not noise New models, features, and changelog highlights - a short email when something actually ships.
訂閱即表示你同意接收 ToRun 的產品更新郵件。你可以隨時取消訂閱。 隱私權政策