# Make 工作流程

> 串接 WayinVideo API 與 Make，建立 AI 片段擷取、網路研討會摘要、批次處理與多語輸出的進階影片自動化情境。

## Make 影片自動化整合

使用 **Make**，你可以透過分支邏輯、iterator、router、filter、retry 與多步驟資料 mapping，建立進階 WayinVideo 工作流程。

當你的自動化需要處理大量影片、將成功與失敗任務導向不同流程，或依照 campaign、語言、來源、內容類型執行不同 WayinVideo API 時，Make 會很適合。

透過 WayinVideo API 與 Make 的 HTTP 模組，你可以為批次 AI 片段擷取、網路研討會再利用、本地化摘要、內容審核佇列，以及影片到 CMS 的 pipeline 建立自動化情境。

> WayinVideo 不需要專屬的 Make app。你可以使用 WayinVideo API key，透過 Make 的 **HTTP** 模組連線。

---

## Make 可以自動化什麼

- **批次影片片段擷取**：監看 Google Drive 資料夾，將每支影片提交到 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/)，並把完成的片段導向儲存空間或審核流程。
- **網路研討會再利用**：透過 [Video Summarization API](https://wayin.ai/zh-tw/api-docs/video-summarization/) 與 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/)，從 webinar 錄影產生摘要、重點與短片。
- **多語影片工作流程**：使用 `target_lang` 建立本地化摘要、逐字稿與片段 metadata。
- **匯出工作流程**：透過 [Clips Export API](https://wayin.ai/zh-tw/api-docs/clips-export/)，稍後以自訂字幕、reframe 與匯出設定算出選定片段。

---

## 運作方式

多數 Make 情境會遵循以下模式：

1. **觸發**：新的檔案、record、webhook payload 或排程情境會啟動工作流程。
2. **提交**：HTTP 模組將 request 傳送到 WayinVideo API endpoint。
3. **儲存**：保存回傳的任務 `id`，以便後續輪詢。
4. **輪詢**：使用排程檢查、loop 或情境設計呼叫 result endpoint，直到任務達到 `SUCCEEDED` 或 `FAILED`。
5. **路由**：使用 router 與 filter，將完成結果、失敗與 retry 路徑送往不同模組。

檢查任務狀態時，建議每 **30 秒**輪詢一次。

---

## 範例：批次處理 Google Drive 中的影片

這個工作流程使用 [Upload API](https://wayin.ai/zh-tw/api-docs/upload/) 處理本機檔案，並透過 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/) 批次產生短影音片段。

觸發：
Google Drive 資料夾中的新檔案。

步驟：
1. 監看資料夾中的新影片檔案
2. 如有需要，透過 [Upload API](https://wayin.ai/zh-tw/api-docs/upload/) 上傳每個檔案
3. 使用 Iterator 將每支影片提交到 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/)
4. 儲存每個回傳的任務 `id`
5. 輪詢每個任務，並將完成結果導向下一步
6. 將片段、metadata 與 `export_link` 值儲存到 Google Drive、Airtable 或你的 CMS

適合：
需要批次處理大量影片的代理商、內容工作室與團隊。

### 提交請求

```bash
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips \
  -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",
    "enable_export": true,
    "resolution": "HD_720",
    "enable_caption": true,
    "enable_ai_reframe": true,
    "ratio": "RATIO_9_16"
  }'
```

---

## 範例：依結果路由網路研討會內容

這個工作流程使用 [Video Summarization API](https://wayin.ai/zh-tw/api-docs/video-summarization/) 產生 webinar 摘要，也可以選擇將同一段錄影送到 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/) 產生短片。

觸發：
來自表單、CRM 或儲存資料夾的新 webinar 錄影 URL。

步驟：
1. 將錄影提交到 [Video Summarization API](https://wayin.ai/zh-tw/api-docs/video-summarization/)
2. 輪詢結果
3. 將成功任務導向 Slack、HubSpot、Notion 或 Google Sheets
4. 將失敗任務導向錯誤 log，並通知工作流程負責人
5. 可選擇將同一支影片提交到 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/) 產生短片

適合：
將 webinar 轉成銷售筆記、摘要與社群短片的 B2B 行銷團隊。

### 結果檢查

```bash
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/sum_proj_001 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2"
```

當 response 包含 `status: "SUCCEEDED"` 時，繼續執行 downstream 模組。當 response 包含 `status: "FAILED"` 時，若有 `error_message`，請先檢查，再將情境導向 retry、alert 或人工審核步驟。

---

## 範例：產生本地化輸出

這個工作流程透過 `target_lang` 搭配 [Video Summarization API](https://wayin.ai/zh-tw/api-docs/video-summarization/)、[Video Transcription API](https://wayin.ai/zh-tw/api-docs/video-transcription/) 或 [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/)，建立本地化輸出。

觸發：
新影片加入 campaign 佇列。

步驟：
1. 建立 campaign 的目標語言清單
2. 使用 Iterator，針對每個 `target_lang` 將同一支影片提交一次
3. 為每個 locale 產生摘要、逐字稿或片段 metadata
4. 將每個結果導向正確的區域 workspace、sheet 或審核佇列

適合：
需要多語影片摘要、逐字稿或片段描述的全球內容團隊。

### 本地化摘要請求

```bash
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
  -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",
    "source_lang": "en",
    "target_lang": "ja"
  }'
```

---

## 建議使用的 API

| 工作流程目標 | API |
|--------------|-----|
| 將長影片轉成短片段 | [AI Clipping API](https://wayin.ai/zh-tw/api-docs/ai-clipping/) |
| 用自然語言查詢找出特定時刻 | [Find Moments API](https://wayin.ai/zh-tw/api-docs/find-moments/) |
| 產生結構化影片概覽與時間軸重點 | [Video Summarization API](https://wayin.ai/zh-tw/api-docs/video-summarization/) |
| 擷取含時間與說話者標籤的逐字稿 | [Video Transcription API](https://wayin.ai/zh-tw/api-docs/video-transcription/) |
| 處理前上傳本機影片或音訊檔 | [Upload API](https://wayin.ai/zh-tw/api-docs/upload/) |
| 算圖或重新匯出選定片段 | [Clips Export API](https://wayin.ai/zh-tw/api-docs/clips-export/) |

---

## 最佳實務

- 將 API key 儲存在 Make connection 或受保護的變數中。
- 如果情境會跨多次執行，請將任務 ID 儲存在 data store、sheet 或 database。
- 針對 `SUCCEEDED`、`ONGOING`、`FAILED` 狀態使用 router。
- 控制批次大小，避免平台 timeout，也讓 retry 更容易管理。
- 若工作流程需要長期存取匯出的片段，請將 `export_link` 檔案複製到自己的儲存空間。

---

## FAQ

### WayinVideo 有原生 Make app 嗎？

你可以透過 Make 的 **HTTP** 模組連接 WayinVideo API，不需要專屬的 Make app。

### Make 可以用 WayinVideo 批次處理影片嗎？

可以。使用 Make iterator 將多支影片提交到 WayinVideo，儲存每個任務 `id`，並在把成功任務導向下一個模組前輪詢結果。

### Make 可以處理失敗的影片處理任務嗎？

可以。使用 router 與 filter 分離 `SUCCEEDED`、`ONGOING`、`FAILED` response。對於失敗任務，若有 `error_message`，請先檢查，再將情境導向 retry、alert 或人工審核。

### Make 可以建立多語影片摘要嗎？

可以。用不同的 `target_lang` 值提交同一支影片，就能為區域團隊產生本地化摘要、逐字稿或片段 metadata。
