---
document_type: "reference_doc"
service: "N8N"
title: "n8n Video Search 工作流程 - 成功設定指南"
date: "2026-03-22"
version: "V1.0"
status: "active"
owner: "Warren"
created_by: "OpenCode"
tags:
  - "成功設定指南"
  - "video"
  - "工作流程"
  - "search"
ai_query_hints:
  - "查詢 n8n Video Search 工作流程 - 成功設定指南 的內容"
  - "n8n Video Search 工作流程 - 成功設定指南 的主要目的是什麼？"
  - "如何操作或實施 n8n Video Search 工作流程 - 成功設定指南？"
---

# n8n Video Search 工作流程 - 成功設定指南

| 項目 | 內容 |
|------|------|
| 建立者 | Warren |
| 建立時間 | 2026-03-22 |
| 文件版本 | V1.1 |
| 適用版本 | n8n 2.3.5 |

---

## 版本歷史

| 版本 | 日期 | 目的 | 操作人 | 工具/模型 |
|------|------|------|--------|-----------|
| V1.0 | 2026-03-22 | 創建文件 | Warren | OpenCode |
| V1.1 | 2026-03-26 | 更新 API 範例，新增 X-API-Key 驗證標頭 | OpenCode | deepseek-reasoner |

---

## ✅ 成功案例

| 項目 | 內容 |
|------|------|
| **工作流程名稱** | Video Search - Working v3 |
| **ID** | 4vQo8I4SXEaR5E1A |
| **狀態** | ✅ 成功運作 |
| **測試結果** | 成功搜尋 "charade"，返回 3 個結果 |

---

## 正確的 HTTP Request Node 設定

### 成功的設定方式

```json
{
  "url": "https://api.momentry.ddns.net/api/v1/n8n/search",
  "method": "POST",
  "sendBody": true,
  "specifyBody": "json",
  "jsonBody": "{\"query\":\"charade\",\"limit\":3}",
  "options": {
    "headers": {
      "X-API-Key": "muser_68600856036340bcafc01930eb4bd839"
    }
  }
}
```

### 關鍵設定說明

| 設定項目 | 正確值 | 錯誤值 | 說明 |
|---------|--------|--------|------|
| **specifyBody** | `"json"` | `"body"` | 必須選擇 `"json"` |
| **jsonBody** | 字串 `"{...}"` | 物件 `{}` | 必須是 JSON 字串格式 |
| **轉義** | `\"query\"` | `"query"` | 引號需要轉義 |

---

## 工作流程架構

```
┌─────────────────────────┐
│  Manual Trigger         │  ← 點擊 "Execute Workflow"
└───────────┬─────────────┘
            │
            ▼
┌─────────────────────────┐
│  HTTP Request Node      │  ← 呼叫 Momentry API
│  - specifyBody: "json"  │
│  - jsonBody: "{...}"    │
└───────────┬─────────────┘
            │
            ▼
┌─────────────────────────┐
│  Code Node              │  ← 格式化輸出
│  - console.log()        │
│  - return json          │
└─────────────────────────┘
```

---

## 完整的 Workflow JSON

```json
{
  "name": "Video Search - Working v3",
  "nodes": [
    {
      "parameters": {},
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [250, 300]
    },
    {
      "parameters": {
        "url": "https://api.momentry.ddns.net/api/v1/n8n/search",
        "method": "POST",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"query\":\"charade\",\"limit\":3}",
        "options": {
          "headers": {
            "X-API-Key": "muser_68600856036340bcafc01930eb4bd839"
          }
        }
      },
      "name": "Search API",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [450, 300]
    },
    {
      "parameters": {
        "jsCode": "const data = $input.first().json;\nconsole.log('Response:', JSON.stringify(data, null, 2));\nreturn [{ json: data }];"
      },
      "name": "Show Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [650, 300]
    }
  ],
  "connections": {
    "When clicking \"Execute Workflow\"": {
      "main": [[{"node": "Search API", "type": "main", "index": 0}]]
    },
    "Search API": {
      "main": [[{"node": "Show Result", "type": "main", "index": 0}]]
    }
  },
  "settings": {"executionOrder": "v1"},
  "staticData": null
}
```

---

## 使用步驟

### 步驟 1: 導入工作流程
1. 開啟 n8n UI: `https://n8n.momentry.ddns.net`
2. 點擊 **Add Workflow** (+)
3. 點擊 **Import from File**
4. 選擇上面的 JSON 檔案

### 步驟 2: 執行測試
1. 點擊 **"Execute Workflow"** 按鈕 (▶️)
2. 等待執行完成
3. 點擊 **"Show Result"** 節點
4. 查看右側 **JSON** 面板

### 步驟 3: 修改搜尋關鍵字
1. 點擊 **"Search API"** 節點
2. 修改 `jsonBody`:
   ```json
   "{\"query\":\"您的關鍵字\",\"limit\":5}"
   ```
3. 點擊 **Save** (Ctrl+S)
4. 重新執行

---

## 成功的回應範例

```json
{
  "query": "charade",
  "count": 3,
  "hits": [
    {
      "id": "sentence_0006",
      "vid": "a1b10138a6bbb0cd",
      "start": 48.8,
      "end": 55.44,
      "title": "Chunk sentence_0006",
      "text": "fun plot twists, Woody Dialog and charming performances...",
      "score": 0.526,
      "file_path": "/Users/accusys/momentry/var/sftpgo/data/demo/Old_Time_Movie_Show_-_Charade_1963.HD.mov"
    }
  ]
}
```

---

## 常見錯誤與解決

### ❌ 錯誤 1: "Your request is invalid"

**原因**: `specifyBody` 設為 `"body"` 而不是 `"json"`

**解決**:
```json
✅ "specifyBody": "json"
❌ "specifyBody": "body"
```

### ❌ 錯誤 2: "$httpRequest is not defined"

**原因**: Code Node 中使用 `$httpRequest`，但您的 n8n 版本不支援

**解決**: 使用 **HTTP Request Node** 代替 Code Node

### ❌ 錯誤 3: Body 格式錯誤

**原因**: `body` 使用物件格式 `{query: "..."}`

**解決**: 使用 `jsonBody` 字串格式 `{"query":"..."}`

### ❌ 錯誤 4: JSON 引號未轉義

**原因**: `"{query: "charade"}"` - 引號衝突

**解決**: `\"` 轉義 `"{\"query\":\"charade\"}"`

---

## 測試指令

### 直接測試 API
```bash
curl -X POST https://api.momentry.ddns.net/api/v1/n8n/search \
  -H "Content-Type: application/json" \
  -H "X-API-Key: muser_68600856036340bcafc01930eb4bd839" \
  -d '{"query":"charade","limit":3}'
```

### 驗證服務狀態
```bash
# 檢查 Momentry Core
curl -H "X-API-Key: muser_68600856036340bcafc01930eb4bd839" https://api.momentry.ddns.net/api/v1/videos

# 檢查 n8n
curl http://localhost:5678/api/v1/workflows \
  -H "X-N8N-API-KEY: <your_api_key>"
```

---

## 服務資訊

| 服務 | URL | 說明 |
|------|-----|------|
| **n8n UI** | https://n8n.momentry.ddns.net | 工作流程管理 |
| **Momentry API** | https://api.momentry.ddns.net | 影片搜尋 API |
| **工作流程** | https://n8n.momentry.ddns.net/workflow/4vQo8I4SXEaR5E1A | 成功案例 |

---

## 進階使用

### 添加 Webhook 觸發器

如果你想從外部呼叫這個工作流程：

1. 在第一個節點前添加 **Webhook** Node
2. 設定:
   ```
   Method: POST
   Path: video-search
   Response Mode: Last Node
   ```
3. 將 Webhook 連接到 Search API
4. 儲存並執行
5. 使用生成的 Webhook URL 呼叫:
   ```bash
   curl -X POST <webhook_url> \
     -d '{"query":"charade","limit":3}'
   ```

### 使用動態變數

修改 jsonBody 使用表達式:
```json
"{\"query\":\"={{ $json.query }}\",\"limit\":{{ $json.limit }}}"
```

然後在前面添加 Set Node 設定變數。

---

## 相關文件

- `docs_v1.0/IMPLEMENTATION/N8N_SETUP_COMPLETE.md` - 完整設定總結
- `docs_v1.0/IMPLEMENTATION/N8N_HTTP_REQUEST_GUIDE.md` - HTTP Request 詳細指南
- `docs/API_URL_EXAMPLES.md` - API URL 範例

---

## 完成！🎉

您現在擁有一個可以成功搜尋影片的 n8n 工作流程！

**關鍵成功要素**:
1. ✅ 使用 `specifyBody: "json"`
2. ✅ 使用 `jsonBody` 字串格式
3. ✅ 正確轉義 JSON 引號
4. ✅ 使用外部 API URL (`https://api.momentry.ddns.net`)
