申請流程
要使用 Kling Motion Generation API,首先到 Ace Data Cloud 控制台 取得您的 API Token,留作備用。
如果您尚未登入或註冊,會自動跳轉到登入頁面邀請您註冊和登入,完成後會自動返回目前頁面。
一個 API Token 即可呼叫平台所有服務,無需為每個服務個別申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 儲值通用餘額。
📘 完整文件:Kling Motion Generation API →
基本使用
首先先了解一下基本的使用方式,就是輸入提示詞prompt、參考圖片 image_url 以及參考影片連結 video_url,便可獲得處理後的結果,然後我們還需要輸入模型 mode,目前主要有 std、pro 模型,具體內容如下:

accept:想要接收何種格式的回應結果,這裡填寫為application/json,即 JSON 格式。authorization:呼叫 API 的金鑰,申請之後可以直接下拉選擇。
image_url:人物外觀參考圖 URL。支援 JPG/JPEG/PNG,檔案 ≤50MB,寬和高均 ≥300px,寬高比 1:2.5~2.5:1;人物應清楚顯示上半身或全身及頭部。video_url:動作參考影片 URL。支援 MP4/MOV,檔案 ≤100MB,寬和高各 340–3850px,至少 3 秒;character_orientation=image時最長 10 秒,character_orientation=video時最長 30 秒。建議使用人物始終在畫面內的連續單鏡頭影片。mode:生成影片的模式,主要有標準模式std和極速模式pro兩種。keep_original_sound:可選擇是否保留影片原聲,列舉值:yes,no。character_orientation:生成影片中人物的朝向,可選擇與圖片一致或與影片一致,列舉值:image,video。prompt:提示詞。callback_url:需要回呼結果的 URL。async:可選,設為true時介面立即回傳task_id,無需提供callback_url,隨後透過對應的任務查詢介面輪詢取得結果。

success,此時影片生成任務的狀態情況。task_id,此時影片生成任務 ID。video_id,此時影片生成任務的影片 ID。video_url,此時影片生成任務的影片連結。duration,此時影片生成任務的影片時長。state,此時影片生成任務的狀態。
data 的影片連結地址取得生成的 Kling 影片即可。
另外如果想生成對應的串接程式碼,可以直接複製生成,例如 CURL 的程式碼如下:
非同步回呼
由於 Kling Motion Generation API 生成的時間相對較長,大約需要 1-2 分鐘,如果 API 長時間無回應,HTTP 請求會一直保持連線,導致額外的系統資源消耗,所以本 API 也提供了非同步回呼的支援。 整體流程是:用戶端發起請求的時候,額外指定一個callback_url 欄位,用戶端發起 API 請求之後,API 會立即回傳一個結果,包含一個 task_id 的欄位資訊,代表目前的任務 ID。當任務完成之後,生成影片的結果會透過 POST JSON 的形式發送到用戶端指定的 callback_url,其中也包括了 task_id 欄位,這樣任務結果就可以透過 ID 關聯起來了。
下面我們透過範例來了解一下具體怎樣操作。
首先,Webhook 回呼是一個可以接收 HTTP 請求的服務,開發者應該替換為自己架設的 HTTP 伺服器的 URL。此處為了方便示範,使用一個公開的 Webhook 範例網站 https://webhook.site/,開啟該網站即可得到一個 Webhook URL,如圖所示:
將此 URL 複製下來,就可以作為 Webhook 來使用,此處的範例為 https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3。
接下來,我們可以設定欄位 callback_url 為上述 Webhook URL,同時填入相應的參數,具體內容如圖所示:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 上觀察到生成影片的結果,如圖所示:
內容如下:
task_id 欄位,其他的欄位都和上文類似,透過該欄位即可實現任務的關聯。
錯誤處理
在呼叫 API 時,如果遇到錯誤,API 會回傳相應的錯誤代碼和資訊。例如:400 token_mismatched:錯誤的請求,可能是由於缺少或無效的參數。400 api_not_implemented:錯誤的請求,可能是由於缺少或無效的參數。401 invalid_token:未授權,授權 Token 無效或缺失。429 too_many_requests:請求過多,您已超過速率限制。500 api_error:內部伺服器錯誤,伺服器發生問題。

