2Slides Logo
研究到簡報流程:Tavily、LLM 與 Slides API(2026)
2Slides Team
8 min read

研究到簡報流程:Tavily、LLM、Slides API(2026)

研究到簡報流程會輸入一個主題,並輸出一份帶有來源的簡報。搜尋 API(Tavily 或 Exa)收集 10 到 20 個來源,LLM 撰寫一份帶有編號引用的 12 頁簡報摘要,2Slides API 將摘要轉成簡報:POST /api/v1/slides/generate 產生可編輯的 PPTX,每頁 10 點數(12 頁共 120 點數,約 0.30 美元),或使用 create-pdf-slides 產生圖片設計的簡報,每頁 10 + 100 點數。此流程適合顧問團隊、分析師及研究運營,每週發佈相同簡報。

重點摘要

  • 12 頁 Fast PPT 簡報花費 120 點數,約 0.30 美元(以 5 美元點數包計算);圖片設計版本花費 1,210 點數,約 3.03 美元。
  • 流程包含四次呼叫:一次搜尋 API,一次 LLM,一次 GET /api/v1/themes/search,最後一次 POST /api/v1/slides/generate
  • 每次 2Slides 回應包裝為 { success, data: { jobId, status, downloadUrl } },一個解析器即可處理提交與輪詢。
  • 速率限制為每個金鑰每分鐘 6 次請求,Fast PPT 簡報同步模式約 30 秒回傳。
  • 引用只有在 LLM 提示強制編號來源列表且禁止虛構數字時才會保留;簡報產生器負責格式化內容,不負責事實查核。

適用對象

您經營顧問事務所、研究部門或內容運營,且有人每隔幾天就要求「關於歐洲電池回收市場的快速簡報」。研究花一小時,簡報花兩小時,且每次都是相同的 12 頁:摘要、市場規模、主要玩家、趨勢、風險、建議、來源。如果您已有 n8n 實例或 Python 排程器,這個流程不需新增基礎設施。

請勿用此流程產出需客製分析的客戶最終交付物。它能在數分鐘內產出帶來源的初稿;仍需人工閱讀來源並決定內容。

流程概覽

步驟工具發生什麼事2Slides 端點 / 點數
1. 觸發n8n 排程或表單、cron 或 CLI 參數輸入主題字串
2. 搜尋Tavily /search 或 Exa /search取得 10 到 20 個帶標題與摘要的網址
3. 摘要OpenAI 或 Claude產生 12 頁大綱,每個數據帶 [n] 引用,附來源列表
4. 主題GET /api/v1/themes/search?query=consulting回傳候選 themeId免費,每分鐘 6 次請求
5. 簡報POST /api/v1/slides/generate(或 create-pdf-slides摘要轉成 PPTX(或 PDF + 頁面圖片)每頁 10 點數(或 10 + 100 點數/頁)
6. 輪詢GET /api/v1/jobs/{jobId} 每 5~10 秒等待 status: "success"免費,每分鐘 10 次請求
7. 交付Google Drive 上傳、Slack 訊息團隊取得連結與來源檔案

步驟 1:用研究 API 收集 10 到 20 個來源

簡報品質取決於來源,請在此多花心力。Tavily 回傳帶有擷取頁面內容的結果,這是 LLM 需要引用而非憑記憶回答的內容。Exa 也提供語意搜尋。若主題時間敏感,請限制只取近 12 個月的結果。

將每個結果存成 { id, url, title, published, snippet },id 從 1 開始編號。這些 id 會成為簡報上的引用標記,整個流程保持同一陣列。

curl -s https://api.tavily.com/search \ -H "Content-Type: application/json" \ -d '{ "api_key": "'"$TAVILY_API_KEY"'", "query": "European battery recycling market size 2026", "search_depth": "advanced", "max_results": 15, "include_raw_content": false }'

步驟 2:用引用寫出 12 頁簡報摘要(OpenAI 或 Claude)

提示語做三件事:固定簡報結構、強制每個數字帶引用 id、禁止出現來源中沒有的數字。請求純文字,不要 JSON,因為文字會直接放入 2Slides 的 userInput

大多數顧問摘要適用的結構是 12 頁:1 標題,2 執行摘要,3 市場規模,4-5 主要玩家,6-7 趨勢,8-9 風險,10-11 建議,12 來源。每頁保持 3 到 5 點,Fast PPT 範本設計即以此密度為主。

You are a research analyst. Using ONLY the numbered sources below, write a 12-slide briefing on: {topic}. Slides: 1 Title, 2 Executive summary, 3 Market size, 4-5 Key players, 6-7 Trends, 8-9 Risks, 10-11 Recommendations, 12 Sources. Rules: - Every number, percentage or date must end with its source id in brackets, e.g. "EUR 4.2B by 2030 [3]". - If the sources do not contain a figure, write "no reliable figure found" instead of estimating. - Slide 12 lists every cited id as "[n] Title, Publisher, URL". - 3 to 5 bullets per slide, each under 20 words. Start each slide with "Slide N: <heading>". Sources: {sources}

步驟 3:挑選顧問風格主題

Fast PPT 簡報由設計範本組成,themeId 決定外觀。搜尋一次「consulting」或「corporate」,挑一兩個 id,並硬編碼在流程中。每次搜尋會消耗速率限制配額。

curl -s "https://2slides.com/api/v1/themes/search?query=consulting&limit=5" \ -H "Authorization: Bearer $SLIDES_API_KEY"

回應會列出每個主題的 themeId、名稱與預覽。若想視覺瀏覽,Templates Hub 提供相同的 1,500+ 範本。

2Slides Templates Hub for choosing a consulting-style theme
圖 1:Templates Hub,您可挑選顧問或企業風格主題並複製其 themeId 用於 API 呼叫。

步驟 4:用 2Slides API 產生簡報

兩條路徑。若要可編輯的 PPTX,顧問可用 PowerPoint 重新設計,呼叫 generate。預設同步模式,12 頁簡報約 30 秒回傳含 downloadUrl 的回應。批次多個主題時,傳入 mode: "async" 並輪詢。

curl -s -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: European Battery Recycling Market 2026\n...\nSlide 12: Sources\n[1] ...", "themeId": "THEME_ID_FROM_SEARCH", "responseLanguage": "English", "mode": "async" }'

回應:

{ "success": true, "data": { "jobId": "job_9f3a...", "status": "pending" } }

若要高級圖片設計版本(PDF 及每頁圖片),用同一摘要呼叫 create-pdf-slides。設定 page: 12 配合摘要頁數,或 page: 0 讓排版器決定。

curl -s -X POST https://2slides.com/api/v1/slides/create-pdf-slides \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: European Battery Recycling Market 2026\n...", "designStyle": "consulting deck, navy and white, dense data slides, one chart per slide", "aspectRatio": "16:9", "resolution": "2K", "page": 12, "contentDetail": "standard", "responseLanguage": "English" }'

兩條路徑回傳相同格式。每 5 到 10 秒輪詢 GET https://2slides.com/api/v1/jobs/{jobId},直到 data.statussuccessfailed,再下載 data.downloadUrl

步驟 5:實作 A,n8n 工作流程(Tavily n8n 簡報)

n8n 是最快讓非工程師從表單觸發排程 Tavily n8n 簡報任務的方式。七個標準節點足夠。

  • Schedule Trigger(每週)或帶單一「topic」欄位的 Form Trigger
  • HTTP Request 呼叫 Tavily /search,帶入主題,max_results: 15
  • OpenAI 節點(或 HTTP Request 呼叫 Claude)用步驟 2 的提示語,傳入編號來源。
  • Code 節點 組合 { userInput, themeId, responseLanguage: "English", mode: "async" }
  • HTTP Request 呼叫 POST https://2slides.com/api/v1/slides/generate,標頭帶 Authorization: Bearer {{ $env.SLIDES_API_KEY }}。API 金鑰存在 n8n 憑證,絕不放在節點內容。
  • Wait 節點(10 秒),接著 HTTP Request 呼叫 GET /api/v1/jobs/{{ $json.data.jobId }},再用 IF 節點 判斷:success 繼續,pendingprocessing 回到 Wait,failed 發錯誤到 Slack。
  • HTTP Request(下載 data.downloadUrl 為二進位檔)後,Google Drive 上傳與 Slack 發訊息,附帶 Drive 連結與主題。

另加第二個 Google Drive 上傳步驟,存放步驟 1 的 sources.json;審核者會想看完整摘要,不只簡報上的來源頁。憑證與錯誤分支詳見 n8n + 2Slides:自動化簡報工作流程

步驟 6:實作 B,一個 Python 腳本

若團隊偏好 cron 任務,一個 Python 檔案完成相同工作。此版本用 Tavily 與 OpenAI;改一個函式即可換成 Exa 或 Claude。

import os, time, json, requests TAVILY = os.environ["TAVILY_API_KEY"] OPENAI = os.environ["OPENAI_API_KEY"] SLIDES = os.environ["SLIDES_API_KEY"] BASE = "https://2slides.com/api/v1" H = {"Authorization": f"Bearer {SLIDES}", "Content-Type": "application/json"} def search(topic, n=15): r = requests.post("https://api.tavily.com/search", json={ "api_key": TAVILY, "query": topic, "search_depth": "advanced", "max_results": n}) r.raise_for_status() return [{"id": i + 1, "url": s["url"], "title": s["title"], "snippet": s["content"]} for i, s in enumerate(r.json()["results"])] def write_brief(topic, sources): src = "\n".join(f"[{s['id']}] {s['title']} | {s['url']}\n{s['snippet']}" for s in sources) prompt = open("brief_prompt.txt").read().format(topic=topic, sources=src) r = requests.post("https://api.openai.com/v1/chat/completions", headers={"Authorization": f"Bearer {OPENAI}"}, json={"model": "gpt-4.1", "messages": [{"role": "user", "content": prompt}], "temperature": 0.2}) r.raise_for_status() return r.json()["choices"][0]["message"]["content"] def pick_theme(query="consulting"): r = requests.get(f"{BASE}/themes/search", headers=H, params={"query": query, "limit": 5}) r.raise_for_status() return r.json()["data"]["themes"][0]["themeId"] def generate_deck(brief, theme_id, language="English"): r = requests.post(f"{BASE}/slides/generate", headers=H, json={ "userInput": brief, "themeId": theme_id, "responseLanguage": language, "mode": "async"}) r.raise_for_status() body = r.json() assert body["success"], body return body["data"]["jobId"] def wait_for(job_id, every=8, timeout=600): start = time.time() while time.time() - start < timeout: d = requests.get(f"{BASE}/jobs/{job_id}", headers=H).json()["data"] if d["status"] == "success": return d["downloadUrl"] if d["status"] == "failed": raise RuntimeError(f"job {job_id} failed: {d}") time.sleep(every) raise TimeoutError(job_id) if __name__ == "__main__": topic = "European battery recycling market 2026" sources = search(topic) brief = write_brief(topic, sources) url = wait_for(generate_deck(brief, pick_theme())) slug = topic.lower().replace(" ", "-") open(f"{slug}.pptx", "wb").write(requests.get(url).content) json.dump({"topic": topic, "sources": sources, "brief": brief}, open(f"{slug}.sources.json", "w"), indent=2)

腳本每次執行會寫出兩個檔案:PPTX 與 .sources.json,後者包含來源列表與摘要文字。JSON 是審核軌跡,當合夥人問第三頁數字來源時可查。批次執行時,提交速率保持每分鐘不超過 6 次。

引用規範:每個數字都帶來源

自動化顧問簡報產生常見失敗點是:第三頁出現來源沒有的自信數字。簡報產生器只格式化收到的內容,控管需在 LLM 步驟與後續檢查。

  • 強制標記格式。 每個數字結尾都帶 [n]。若正則表達式發現數字後有 %BM 或年份,卻同一行沒有括號內的 id,則拒絕摘要並重跑 LLM。
  • 驗證 id 是否在來源陣列中。 摘要中出現 [7],但只有 6 個來源,代表模型虛構引用。流程失敗。
  • 保留來源頁。 第 12 頁列出 [n] 標題, 出版者, URL,是審核者第一眼看的頁面。
  • 存放來源檔案。 .sources.json(或 n8n 的 Drive 上傳)保存模型看到的摘要,方便審核者比對簡報文字與原文。
  • 優先用「無可靠數字」替代。 顧問可補足誠實缺口,但難以辨識虛構數字。

代理方案:Claude Code 或 Codex 搭配 2Slides 技能或 MCP

腳本流程適合排程、重複主題。若要一次性深度調查,可用代理互動完成同樣步驟。用一行指令連接 2Slides MCP 伺服器到 Claude Code,然後請代理用網路搜尋工具研究主題、寫帶引用摘要、呼叫 themes_search 找顧問主題,最後呼叫 slides_generate。MCP 提供 7 個工具,包括用於輪詢的 jobs_get,使用同一金鑰與點數,與 REST API 相同。

claude mcp add --transport http 2slides "https://2slides.com/api/mcp?apikey=YOUR_KEY"

2Slides MCP Server tab with the Streamable HTTP endpoint and the claude mcp add command
圖 2:API 頁面的 MCP Server 分頁,顯示可串流的 HTTP 端點與一行 Claude Code 設定指令。

在 Codex、Cursor 或其他偏好技能的代理中,改安裝 Agent Skill;它教導相同端點與提交、輪詢、下載迴圈。詳見 Agent Skills 與 MCP 伺服器簡報比較如何使用 Claude MCP 產生簡報 的詳細設定。

2Slides Agent Skills page listing Claude Code, OpenAI Codex, Cursor, Google Antigravity, Manus and Openclaw
圖 3:Agent Skills 頁面,列出 Claude Code、Codex、Cursor 等代理的安裝說明。

顧問級簡報長什麼樣

2Slides Gallery 提供參考簡報,如 BCG 的「AI at Work 2025」,開頭一句論點,結尾附方法論與來源,與上述 12 頁摘要結構相同。這些 Gallery 簡報是實際案例,不是 API 輸出。可作為設計靈感,或將頁面圖片 URL 當作 referenceImageUrl 傳給 create-like-this,讓圖片設計路徑從參考簡報繼承字型、色彩與版面。

BCG AI at Work 2025 reference deck from the 2Slides Gallery, a consulting-style structure reference
圖 4:2Slides Gallery 中 BCG AI at Work 2025 參考簡報的標題頁。

BCG AI at Work 2025 reference deck from the 2Slides Gallery, a consulting-style structure reference
圖 5:同一簡報的後期頁面,展示顧問觀眾期待的單一訊息每頁版面。

想了解更多適合顧問的工具,請參考 顧問最佳 AI 簡報工具Gamma API 頁面 有類似 n8n + Tavily + OpenAI 配方;其 API 金鑰需 Pro 計畫,2Slides 金鑰則適用所有帳號。2Slides 是我們的產品,請自行衡量比較。

費用說明

點數採用隨用隨付:5 美元購買 2,000 點(每點 0.0025 美元),80 美元購買 40,000 點(每點 0.002 美元)。搜尋 API 與 LLM 費用由其供應商計費,不包含在下表。

用量Fast PPT generate(12 頁 = 120 點數)圖片設計 create-pdf-slides(12 頁 2K = 1,210 點數)
每月 20 份簡報2,400 點數,約 6.00 美元(9.50 美元點數包可涵蓋)24,200 點數,約 48 至 61 美元,視點數包而定
每月 500 份簡報60,000 點數,約 120 美元(兩包 80 美元點數)605,000 點數,約 1,210 美元(每點 0.002 美元計)

新帳號有 500 點免費點數,相當於 4 份完整 Fast PPT 測試簡報。

Fast PPT 或圖片設計簡報適用情境?

  • Fast PPT generate 適合 顧問會用 PowerPoint 編輯簡報、用量大(每月 500 份約 120 美元)、且接受範本風格。約 30 秒回傳。
  • create-pdf-slides 適合 簡報作為只讀 PDF 發給客戶,需要設計感強、每頁一個重點。成本約為 Fast PPT 的 10 倍。
  • create-like-this 適合 公司有自家風格:傳入一張品牌簡報圖片 URL,圖片設計路徑會繼承其字型、色彩與版面。成本同 create-pdf-slides:10 點數規劃 + 每頁 100 點數(2K)。
  • 旁白與 MP4 僅圖片設計工作可用,透過 generate-narration,每頁 210 點數。適合內部研究簡報影片,不適用 Fast PPT。

常見陷阱

  • 速率限制每分鐘 6 次請求。 批次執行時,提交間隔 10 到 12 秒;輪詢使用獨立的每分鐘 10 次 jobs 配額。
  • API 金鑰放在 n8n 節點內容或瀏覽器腳本。 請放在 n8n 憑證或伺服器環境變數,絕不放前端程式碼。
  • 嘗試為 Fast PPT 簡報產生旁白。 generate-narration 只接受 create-pdf-slidescreate-like-this 工作,Fast PPT 會被拒絕。
  • page: 0 表示自動偵測,不是零頁。 create-pdf-slides 若摘要已有 12 頁,請設定 page: 12,或設 0 讓排版器決定。
  • 語言代碼非語言名稱。 responseLanguage 接受 "Spanish""German",不接受 "es""de"
  • 傳送 20 篇完整文章當 userInput 請先摘要,送給 2Slides 的是摘要,不是原始來源。

常見問題解答

研究到簡報流程每份簡報成本多少?

12 頁 Fast PPT 簡報的 2Slides 部分約 0.30 美元(120 點數,每點 0.0025 美元),12 頁 2K 圖片設計簡報約 3.03 美元(1,210 點數)。另加一次搜尋 API 呼叫與一次 LLM 完成,費用由其供應商計費。每月 500 份簡報時,Fast PPT 路徑點數約 120 美元。

流程能輸出其他語言的簡報嗎?

可以。傳入 responseLanguage 為語言名稱,如 "Spanish""Japanese";支援 20 多種語言。最乾淨的做法是先用英文寫摘要,讓 2Slides 在產生時翻譯,這樣引用與來源 URL 在不同語言版本中保持一致。

我需要 n8n 嗎?還是可以不用工作流程工具執行?

不需要。步驟 6 的 Python 腳本可從 cron 執行,2Slides MCP 或技能的代理會話可互動完成。n8n 適合非工程師從表單觸發,且想要 Google Drive 與 Slack 自動交付,不用寫整合程式。

如何阻止 LLM 在簡報中虛構統計數字?

限制提示語並驗證輸出。要求每個數字結尾帶 [n] 來源 id,告訴模型遇不到數字就寫「無可靠數字」,拒絕任何超出來源數量的 id。簡報旁存來源檔案,方便審核者比對每頁與原文。

可以用我公司的簡報風格取代範本嗎?

可以,用 create-like-this。傳入一張公開的品牌簡報圖片 URL 作為 referenceImageUrl,圖片設計流程會從中繼承字型、色彩與版面。成本與 create-pdf-slides 相同:10 點數規劃 + 每頁 100 點數(2K)。若要可編輯 PPTX,請從 themes/search 選擇最接近的主題。

下一步

  • 2slides.com/api 取得 API 金鑰。新帳號有 500 點免費點數,足夠測試 4 份 12 頁簡報。
  • 參考其他團隊如何使用相同端點,詳見中心文章 團隊的 AI 簡報 API 使用案例
  • 若團隊使用 Claude Code 或 Codex,安裝 Agent Skill 並先互動執行研究到簡報流程,再排程;n8n + 2Slides 涵蓋工作流程工具版本。

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free