時刻搜尋 API
時刻搜尋 API 讓你用自然語言描述想找的片段——例如 "有趣的反應" 或 "產品展示"——API 就會從各種長度的影片(包括數小時的長片)中找出符合條件的片段,並附上時間點、標題、描述與主題標籤。若開啟匯出功能,回應中也會包含每個片段的算圖影片下載連結,並可選擇啟用 AI 重新構圖(自動將主體保持在畫面中央)以及動態字幕疊加,讓輸出影片更吸引眼球。
支援的影片來源
API 接受以下平台的網址:YouTube、Vimeo、Dailymotion、Kick、Twitch、TikTok、Facebook、Zoom、Rumble 等。
也可以搜尋本機上傳的影片檔案——本機上傳需要 Standard 方案或以上。
提交時刻搜尋任務
POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments
請求本體
算圖時,可以啟用動態字幕、AI 重新構圖以及可選的 AI 開場文字等功能。AI 重新構圖會偵測畫面中的主體,在保持主體居中的前提下,針對指定的畫面比例最佳化裁切,並根據場景結構選擇最適合的版面配置。這些功能透過名稱以 enable_ 開頭的參數控制(詳見下表)。
| 參數 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
video_url | string | 是 | — | 來源影片的網址。若使用本機上傳的檔案,請填入 上傳 API 回傳的檔案識別碼。 |
query | string | 是 | "" | 描述你想找的時刻的自然語言查詢(例如 "有趣的反應"、"產品展示") |
project_name | string | 否 | "" | 此任務的自訂名稱 |
source_lang | string | 否 | null | 影片的來源語言(參見 支援語言)。為 null 時,系統自動偵測原始語言。 |
target_lang | string | 否 | null | 輸出內容(含片段標題、描述與字幕)的目標語言(參見 支援語言)。為 null 時,輸出語言與 source_lang 相同。 |
limit | number | 否 | null | 回傳片段的最大數量,依傳播潛力從高到低排序。為 null 或省略時,回傳所有片段。 |
enable_export | boolean | 否 | false | 詳見下方說明。為 false 時,只回傳片段的時間範圍、標題與描述(不算圖);為 true 時,立即算圖,每個片段都包含下載連結。也可之後透過匯出現有片段端點進行算圖。 |
resolution | string | 否 | SD_480 | 輸出解析度:SD_480、HD_720、FHD_1080、QHD_2K、UHD_4K。僅在 enable_export 為 true 時生效。 |
enable_caption | boolean | 否 | false | 算圖時是否加入動態字幕。僅在 enable_export 為 true 時生效。為 true 時,caption_display 與 cc_style_tpl 才有效;為 false 時,匯出影片不含動態字幕。 |
caption_display | string | 否 | original | 字幕模式:both(雙語)、original(原文)、translation(譯文)。僅在 enable_export 與 enable_caption 均為 true 時生效。 |
cc_style_tpl | string | 否 | temp-7 | 字幕樣式範本 ID(參見 字幕樣式)。僅在 enable_export 與 enable_caption 均為 true 時生效。 |
enable_ai_hook | boolean | 否 | false | 是否在每個算圖片段的開頭或結尾加入自動生成的吸睛文字。僅在 enable_export 為 true 時生效。為 true 時,ai_hook_script_style 與 ai_hook_position 才有效;為 false 時,不加入 AI 開場文字。 |
ai_hook_script_style | string | 否 | serious | 生成文字的風格。允許值:serious、casual、informative、conversational、humorous、parody、inspirational、dramatic、empathetic、persuasive、neutral、excited、calm。僅在 enable_export 與 enable_ai_hook 均為 true 時生效。 |
ai_hook_position | string | 否 | beginning | 生成文字的位置。允許值:beginning(開頭)、end(結尾)。僅在 enable_export 與 enable_ai_hook 均為 true 時生效。 |
enable_ai_reframe | boolean | 否 | false | 啟用 AI 重新構圖。僅在 enable_export 為 true 時生效。為 true 時,ratio 為必填;為 false 時,影片以原始畫面比例匯出。 |
ratio | string | 當 enable_ai_reframe 為 true 時必填 | — | 畫面比例:RATIO_9_16、RATIO_1_1、RATIO_4_5、RATIO_16_9。僅在 enable_export 為 true 時生效,且當 enable_ai_reframe 為 true 時為必填。 |
reframe_layout | string | 否 | Auto | AI 重新構圖版面配置。僅在 enable_export 與 enable_ai_reframe 均為 true 時生效。預設 Auto:模型自動選擇最適合當前畫面的版面(省略此欄位或傳入空字串效果相同)。若設定為指定 ratio 所允許的其他值,則固定使用該版面配置。詳見版面配置值。 |
版面配置值
reframe_layout 的允許值取決於 ratio。Auto 永遠可用(預設);省略欄位或傳入空字串效果相同。版面名稱需完全符合以下列表(區分大小寫與空格)。
ratio | 允許的 reframe_layout 值 |
|---|---|
RATIO_16_9 | Auto、Full、Fit、Grid 4、Split 2、Trio、PiP、OTS、Screen First |
RATIO_9_16 | Auto、Full、Fit、Grid 4、Split 2、Trio、PiP、Screen First、Gameplay A、Gameplay B |
RATIO_1_1 | Auto、Full、Fit、Grid 4、Trio |
RATIO_4_5 | Auto、Full、Fit、Grid 4、Split 2、Trio、PiP、Screen First、Gameplay A、Gameplay B |
enable_export 行為說明
enable_export為空值或false時,API 只回傳片段的時間範圍、標題、描述與相關詮釋資料,不進行算圖,結果中也不含下載連結。ratio、reframe_layout、resolution、caption_display、enable_caption、cc_style_tpl、enable_ai_hook、ai_hook_script_style、ai_hook_position、enable_ai_reframe等參數在提交任務時不生效。之後可透過匯出現有片段端點對選定片段進行算圖。enable_export為true時,上述參數生效,每個片段立即算圖,結果中包含每個片段的下載連結。由於每個片段都需要算圖,處理時間可能更長。
請求本體將 enable_export 設為 true,片段算圖後,每個片段都包含 export_link。
請求
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "https://www.youtube.com/watch?v=example",
"query": "sample query",
"project_name": "sample project name",
"enable_export": true,
"resolution": "FHD_1080",
"enable_caption": true,
"enable_ai_reframe": true,
"ratio": "RATIO_9_16"
}'
提交回應
{
"data": {
"id": "proj_moment_789",
"name": "sample project name",
"status": "CREATED"
}
}
請求本體省略 enable_export 或設為 false,只回傳片段的時間範圍、標題、描述與標籤,不算圖,無下載連結。
請求
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "https://www.youtube.com/watch?v=example",
"query": "sample query",
"project_name": "sample project name"
}'
提交回應
{
"data": {
"id": "proj_moment_456",
"name": "sample project name",
"status": "CREATED"
}
}
| 欄位 | 類型 | 說明 |
|---|---|---|
id | string | 任務唯一識別碼 |
name | string | 任務名稱 |
status | string | CREATED、QUEUED、ONGOING、SUCCEEDED、FAILED |
使用範例
常見的時刻搜尋情境。請將 YOUR_API_KEY 替換為從 API Dashboard 取得的金鑰。
在 YouTube 影片中找出有趣的時刻
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"query": "funny reactions"
}'
從長篇行銷影片擷取產品展示片段
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"query": "product demos and feature walkthroughs",
"limit": 10
}'
找出體育精彩時刻並匯出為直式短片(含字幕)
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"query": "goal moments and key plays",
"enable_export": true,
"resolution": "FHD_1080",
"enable_caption": true,
"enable_ai_reframe": true,
"ratio": "RATIO_9_16"
}'
取得時刻搜尋結果
持續輪詢,直到 status 為 SUCCEEDED。
增量回傳: 當
status為ONGOING時,每次呼叫都會回傳目前已生成的片段——你可以立即開始處理部分結果。當status變為SUCCEEDED時,回應才包含完整的片段列表。
GET https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments/results/{id}
路徑參數
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
id | string | 是 | 提交端點回傳的任務 ID |
請求範例
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments/results/proj_moment_456 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
任務提交時設定了 enable_export: true,每個片段都包含算圖影片的 export_link:
{
"data": {
"id": "proj_moment_789",
"name": "sample project name",
"status": "SUCCEEDED",
"expire_at": 1775831883112,
"cost_usage": 120.0,
"clips": [
{
"idx": 0,
"title": "sample title",
"begin_ms": 120000,
"end_ms": 185000,
"thumbnail": "https://cdn.example.com/thumb/moment_001.jpg",
"tags": ["product", "announcement"],
"desc": "sample description",
"score": 81,
"export_link": "https://cdn.example.com/export/moment_001.mp4"
}
]
}
}
任務提交時未設定 enable_export(或設為 false),片段不包含 export_link:
{
"data": {
"id": "proj_moment_456",
"name": "sample project name",
"status": "SUCCEEDED",
"expire_at": 1775831883112,
"cost_usage": 120.0,
"clips": [
{
"idx": 0,
"title": "sample title",
"begin_ms": 120000,
"end_ms": 185000,
"thumbnail": "https://cdn.example.com/thumb/moment_001.jpg",
"tags": ["product", "announcement"],
"desc": "sample description",
"score": 81
}
]
}
}
回應欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
id | string | 任務唯一識別碼 |
name | string | 任務名稱 |
status | string | CREATED、QUEUED、ONGOING、SUCCEEDED、FAILED |
error_message | string | 錯誤原因(僅在 status 為 FAILED 時出現) |
expire_at | integer | 到期時間戳記(毫秒,Unix epoch)。超過此時間後,任務到期,結果無法再透過結果端點取得。到期時間取決於你的訂閱方案,詳見 訂閱方案 頁面。 |
cost_usage | number | 此次請求消耗的 API 點數 |
clips | array | 片段物件列表(詳見下方)。當 status 為 ONGOING 時,包含目前已生成的片段(部分結果);當 status 為 SUCCEEDED 時,包含所有片段(最終結果)。 |
片段物件
| 欄位 | 類型 | 說明 |
|---|---|---|
idx | integer | 片段索引(從 0 開始,依傳播潛力排序) |
title | string | AI 生成的片段標題 |
begin_ms | number | 起始時間(毫秒) |
end_ms | number | 結束時間(毫秒) |
thumbnail | string | 縮圖網址 |
tags | string[] | AI 生成的主題標籤 |
desc | string | AI 生成的描述 |
score | number | 傳播潛力分數(0–100,越高越好) |
export_link | string | 算圖影片的下載網址(當 enable_export 為 true 時出現)。每次呼叫結果端點都會生成一組新的連結,每個連結有效期 24 小時,請在到期前下載影片。若連結已過期,請再次呼叫結果端點取得新的連結。 |
重新匯出現有片段
若想稍後才算圖,或以不同的字幕樣式、畫面比例、AI 開場文字或其他設定重新匯出,請使用 Clips Export API。
對於時刻搜尋任務,請將 POST /api/v2/clips/find-moments 回傳的任務 id 作為匯出請求中的 project_id。
常見問題
Find Moments 和 AI Clipping 有什麼差別?
AI Clipping 會自動依傳播潛力排序回傳片段——不需要任何查詢字串。Find Moments 則讓你用自然語言描述需求(例如 "funny reactions"、"product demos"、"goal moments"),只回傳符合的片段。
可以限制回傳的時刻數量嗎?
可以。傳入 limit: N 即可只回傳相關性最高的前 N 個結果。當來源影片很長、只想要最強相關片段時特別實用。
Find Moments 支援部分結果嗎?
支援——輪詢時,status: ONGOING 的段落已包含目前生成的片段,可以立即開始下游處理,不必等整個任務完成。