Vidu on RunAPI
選擇路徑
- 若只需一次性產出,請使用
runapiCLI 中已註冊的vidu服務。若已安裝的命令目錄中未列出該服務,請停止並回報服務缺失,切勿自行發明指令。 - 若是應用程式、後端、工作者、函式庫、Webhook 管線或生產程式碼,請直接前往 整合 SDK。切勿在生產執行環境中透過 CLI 執行。
探索合約
先進行身分驗證,然後檢查已安裝的命令目錄及所選操作的當前合約:
runapi auth status > auth.json
jq -e '.authenticated == true' auth.json
runapi vidu --help
runapi vidu <操作> --help
curl --fail --location https://runapi.ai/docs/api/vidu/<操作>.md --output contract.md
若身分驗證失敗,請在提交前停止。要求使用者提供有效的 RUNAPI_API_KEY,或透過標準輸入匯入使用者提供的金鑰(使用 runapi auth import-token --token -);僅在使用者明確要求時才使用瀏覽器互動式登入。請僅從服務說明中選擇 <操作>。將命令說明視為已安裝操作、模型及頂層欄位清單的權威來源。將 API 參考文件視為完整請求結構、巢狀欄位、條件規則、任務行為及回應變體的權威來源。若兩者不一致,請停止並回報合約不符,切勿自行猜測。
建立請求
建立 request.json 為合法的 JSON,僅使用所發現的操作合約接受的欄位。針對選定的模型與值,評估所有適用的條件規則作為一組:滿足所有必填欄位,省略所有禁止欄位,並在遇到無法解決的矛盾時停止。
在執行前先遍歷巢狀物件與陣列。關閉所發現合約中陳述的所有關係,包括唯一性約束及巢狀值之間的交叉參考。
對於所發現的本機媒體輸入,包括檔案類型的欄位及頂層媒體 URL 欄位,請直接在 request.json 中放入 AI 可讀取的本機檔案路徑。CLI 會直接使用所宣告的檔案欄位,並上傳頂層媒體 URL 欄位中的本機路徑。僅在使用者需要可重複使用的 URL、提供 Base64 或所發現的合約明確要求獨立上傳時,才使用 runapi files create。
語義不變量:
- 遠端媒體的格式、大小及音訊時長會由生成提供者非同步檢查。
在傳送前驗證檔案:
jq empty request.json
執行
僅提交一次,並在等待前先保留任務回應:
runapi vidu <操作> --async --input-file request.json > task.json
task_id="$(jq -er '.id' task.json)"
若為一次性結果,立即等待該任務完成並儲存完整的 JSON 回應。此阻塞等待為預設行為:
runapi wait "$task_id" --service vidu --action <操作> > result.json
僅在使用者明確要求背景執行、輪詢或 Webhook 整合時,才可在驗證 task.json 後停止。請回報任務 ID,且不可聲稱已完成交付。
驗證
成功狀態並非交付物。請根據所發現的結果合約讀取並驗證完整回應。保留完整的非媒體結果,格式需完全符合要求,包括 JSON、文字、SRT 或 VTT。
對於回應中列出的每個請求媒體交付物,請下載所有項目,而非僅回傳第一個 URL。在下載前,先從回應中存在的詮釋資料推斷其預期的 MIME 類型或系列,然後根據選定的輸出格式,最後依據 API 參考文件中的明確結果欄位(例如 videos、images 或 audios)。此技能的目錄宣告的備用系列為 video/*。僅在上述來源均無法確定單一預期類型或系列時才停止。
對於每個下載的檔案,需同時要求該檔案非空且符合預期的 MIME 類型或系列:
curl --fail --location <交付物網址> --output <下載的檔案>
for file in <下載的檔案列表>; do
expected_mime=<此檔案的預期 MIME 類型或系列模式>
test -s "$file"
[[ "$(file --brief --mime-type "$file")" == $expected_mime ]]
done
當任何請求的交付物遺失、為空或 MIME 類型不符時,不可回報完成。請分別記錄「技能符合度」與「任務結果」,以免服務失敗時無法判斷是否遵循了此流程。
復原或停止
- 最多修正一次請求形狀,且僅在所發現的合約或回傳的驗證錯誤指出修正方向時。
- 最多重試一次短暫的傳輸失敗,且僅在有證據確認未建立任務、未產生費用且重試安全時。
- 若等待逾時或傳輸中斷但
task.json已存在,請保留錯誤並最多重新執行一次runapi wait(針對同一任務)。絕不提交替代任務。 - 若發生終結性的 RunAPI 或服務失敗,請保留任務/錯誤證據並停止。保留所選的模型與功能,未經使用者授權不得再次提交付費請求。
- 若合約缺少建立或驗證請求所需的事實,請停止並回報合約缺口。切勿將產品缺陷變為永久性的技能變通方案。
整合 SDK
僅在應用程式或生產程式碼整合時使用此路徑。開啟下方當前的 RunAPI SDK 參考文件,選擇目標語言的套件與 Vidu,並在編碼前確認其安裝指令、用戶端方法、請求類型、回應類型及錯誤類別。根據相同的所發現產品合約建立請求,並套用相同的交付物驗證與停止規則。切勿在生產程式碼中將 runapi 作為子程序調用。
參考資料
- 模型概述、定價與速率限制:https://runapi.ai/models/vidu.md
- 提供者概述:https://runapi.ai/providers/vidu.md
- 完整模型目錄:https://runapi.ai/models.md
- SDK 整合:https://github.com/runapi-ai/vidu-sdk
變體
vidu-q4-image-to-video:https://runapi.ai/models/vidu/q4-image-to-video.mdvidu-q4-reference-to-video:https://runapi.ai/models/vidu/q4-reference-to-video.md