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,或命令行参数主题字符串进入流程
2. 搜索Tavily /search 或 Exa /search返回 10 到 20 个带标题和文本摘要的 URL
3. 简报OpenAI 或 Claude12 张幻灯片大纲,每个数据带编号 [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 通过语义搜索实现同样功能。请求 10 到 20 条结果,若主题时效性强,限制为最近 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 步:用带引用的 LLM 写 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、名称和预览。要视觉浏览,可访问模板中心,展示同样的 1,500+ 模板。

2Slides Templates Hub for choosing a consulting-style theme
图 1:模板中心,选择咨询或企业主题并复制其 themeId 用于 API 调用。

第 4 步:用 2Slides API 生成幻灯片

两条路径。若需可编辑 PPTX,调用 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 演示任务,非工程师可通过表单触发。七个标准节点足够。

  • 定时触发(每周)或带单个“topic”字段的表单触发
  • HTTP 请求调用 Tavily /search,传入主题,max_results: 15
  • OpenAI 节点(或 HTTP 请求调用 Claude)使用第 2 步提示,传入编号来源。
  • 代码节点组装 { userInput, themeId, responseLanguage: "English", mode: "async" }
  • HTTP 请求调用 POST https://2slides.com/api/v1/slides/generate,头部 Authorization: Bearer {{ $env.SLIDES_API_KEY }}。密钥保存在 n8n 凭据中,绝不放节点体。
  • 等待节点(10 秒),然后 HTTP 请求调用 GET /api/v1/jobs/{{ $json.data.jobId }}IF 节点判断:success 继续,pendingprocessing 回到等待,failed 发送错误到 Slack。
  • HTTP 请求(下载 data.downloadUrl 为二进制),然后上传到 Google Drive,发送带链接和主题的 Slack 消息。

额外上传第 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 是审计轨迹,方便合伙人追溯第 3 张幻灯片数据来源。批量时保持提交频率低于每分钟 6 次。

引用规范:每个数字都带来源

自动生成咨询幻灯片的常见失败是:第 3 张幻灯片出现无来源的自信数字。幻灯片生成器只格式化收到的内容,控制点在 LLM 步骤及其后校验。

  • 强制标记格式。 每个数字后必须带 [n]。若正则检测到数字后跟“%”、“B”、“M”或年份但无括号内 id,拒绝简报并重跑 LLM。
  • 验证 id 是否在来源数组内。 简报中出现 [7],但只有 6 个来源,说明模型虚构了引用。失败该次运行。
  • 保留来源幻灯片。 第 12 张幻灯片列出所有引用的 [n] 标题,出版商,URL。审阅者首看此页。
  • 存储伴随文件。 .sources.json(或 n8n 中上传的 Drive 文件)保存模型看到的摘要,方便审阅者对照幻灯片文本和原文。
  • 优先写“no reliable figure found”。 咨询师可填补真实空白,难以识别虚构数字。

代理方案: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 或其他偏好技能的代理中,改为安装 技能页面上的代理技能;它教同样的端点和提交、轮询、下载循环。详见 代理技能 vs MCP 服务器的演示对比如何使用 Claude MCP 生成演示 的分步教程。

2Slides Agent Skills page listing Claude Code, OpenAI Codex, Cursor, Google Antigravity, Manus and Openclaw
图 3:代理技能页面,含 Claude Code、Codex、Cursor 等代理的安装说明。

咨询级幻灯片长什么样

2Slides 画廊托管参考幻灯片,如 BCG 的“AI at Work 2025”,开头一句话阐述主题,结尾附方法论和来源,结构与上文 12 张幻灯片简报相同。画廊幻灯片为真实案例,非 API 输出。可用作设计灵感,或将页面图片 URL 传给 create-like-this,图片设计路径据此派生类型、颜色和布局。

BCG AI at Work 2025 reference deck from the 2Slides Gallery, a consulting-style structure reference
图 4: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 美元(5 美元套餐可覆盖)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,或设 page: 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,告诉模型“无可靠数据时写‘no reliable figure found’”,拒绝任何引用 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,安装 代理技能,先交互式运行研究到演示流程,再安排定时任务;n8n + 2Slides 涵盖工作流工具版本。

About 2Slides

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

Try For Free