2Slides Logo
通过编程从课程大纲生成教学幻灯片(2026)
2Slides Team
7 min read

从课程大纲程序化生成课程幻灯片(2026)

要程序化生成课程幻灯片,请将课程大纲导出为每课一行(单元、标题、目标、词汇、年级、语言),然后用脚本针对每行调用 2Slides Fast PPT 的 POST /api/v1/slides/generate 接口,使用从 GET /api/v1/themes/search 获取的教育主题,并根据班级设置 responseLanguage。每套12页幻灯片是可编辑的 PPTX,费用为120积分,约0.30美元,生成时间约30秒。对于翻转课堂,结合 create-pdf-slidesgenerate-narration 可生成短视频讲座。适合教育技术开发者、教学设计师和学区课程团队。

关键要点

  • 一套 Fast PPT 课程幻灯片每页收费10积分,因此12页幻灯片共120积分,按5美元买2000积分计算约0.30美元。
  • 一个部门40节课,每节12页,共用4800积分,约12美元,按每分钟6次请求限制,提交约7分钟完成。
  • responseLanguage 接受语言名称,如“Spanish”或“Vietnamese”,支持20多种输出语言,方便双语项目用同一课程行生成多语言幻灯片。
  • Fast PPT 输出为原生、可编辑的 PPTX,教师可在课前调整每页幻灯片。Fast PPT 幻灯片不支持配音。
  • 翻转课堂中,8页带配音的视频讲座费用为2490积分(810积分用于2000分辨率幻灯片,1680积分用于配音),约5至6.25美元。

适用对象

教学设计师、教育技术工程师和课程创建者,他们以结构化形式(Google 表格、LMS CSV、课程数据库)管理课程大纲,需要为每节课生成初稿幻灯片,而非少量幻灯片。运行双语项目的学区团队,需为每节课生成英语和西班牙语或越南语版本,最适合使用每行语言字段。

如果你只有五节课且教师有空闲时间,请跳过此方案;可参考面向教师的工具汇总了解网页版路径。

工作流程概览

步骤工具发生内容2Slides 接口 / 积分
1Sheets 或 LMS 导出每节课每语言一行:单元、标题、年级、目标、词汇、幻灯片数
2curl 或浏览器搜索教育和课堂主题,为每个年级段保存一个 themeIdGET /api/v1/themes/search,免费
3Python 或 Node从行字段构建结构化提示,按班级设置 responseLanguage
4Python 或 Make每行调用一次 generate,设置 mode: "async",每分钟最多6次POST /api/v1/slides/generate,每页10积分
5脚本每5至10秒轮询直到 success,下载 PPTX 到 Drive 或 LMSGET /api/v1/jobs/{id},免费
6教师审核、编辑并批准 PPTX 后发给学生
7(可选)脚本加工作区翻转课堂:图像设计幻灯片,单人配音,导出 MP4create-pdf-slides 10 + 100积分/页(2K),generate-narration 210积分/页

步骤1:规范课程导出格式

将 LMS 导出或进度指南展平成每节课每语言一行。如果一节课有两种语言,复制该行,仅修改 language 列。多值字段(目标、词汇)用竖线分隔,方便提示构建器转换为项目符号。

unit,lesson_title,grade,objectives,vocabulary,language,slide_count Ecosystems,Food Webs and Energy Flow,7,"Explain how energy moves between trophic levels|Identify producers, consumers and decomposers in a local ecosystem","producer|consumer|decomposer|trophic level",English,12 Ecosystems,Food Webs and Energy Flow,7,"Explain how energy moves between trophic levels|Identify producers, consumers and decomposers in a local ecosystem","producer|consumer|decomposer|trophic level",Spanish,12 Fractions,Comparing Fractions with Unlike Denominators,4,"Compare two fractions using common denominators|Justify comparisons with a visual model","numerator|denominator|equivalent fraction|benchmark fraction",Vietnamese,10

添加三个由脚本后续填写的记账列:job_iddownload_urlstatusstatus 列用于驱动后续审核流程。

步骤2:选择适合教育的 themeId

themeId 决定 Fast PPT 幻灯片的外观。用课堂相关关键词搜索1500多个模板,然后为每个年级段保留一到两个 ID:小学用手绘或涂鸦风格,中学用更简洁风格。

curl "https://2slides.com/api/v1/themes/search?query=education&limit=10" \ -H "Authorization: Bearer $SLIDES_API_KEY" # 也可尝试:query=classroom、query=doodle、query=science、query=study

每个结果包含 themeId 和元数据。将 ID 作为环境变量保存(如 EDU_THEME_ELEMENTARYEDU_THEME_SECONDARY),而非存入表格。搜索接口免费,但与其他接口共享每分钟6次请求限制,建议只在设置时运行一次,而非每节课调用。

2Slides 模板中心,展示适合课堂的手绘和涂鸦风格主题
图1:2Slides 模板中心,浏览时筛选出适合低年级的手绘和涂鸦风格;同样模板可通过 themes/search 搜索。

步骤3:构建提示并设置多语言幻灯片的语言

提示决定课程质量。向模型提供年级、项目符号形式的学习目标、需定义的词汇及固定幻灯片结构。保持 userInput 不超过几百字,目标和词汇是输入内容,而非整个单元计划。

然后从行中设置 responseLanguage。它接受语言名称,如“Spanish”或“Vietnamese”,不支持代码如“es”或“vi”。用英文写提示,幻灯片可输出为西班牙语;一个模板即可覆盖整个项目。

Create a 12-slide lesson deck for grade 7. Unit: Ecosystems Lesson: Food Webs and Energy Flow Learning objectives: - Explain how energy moves between trophic levels - Identify producers, consumers and decomposers in a local ecosystem Key vocabulary to define with one example each: producer, consumer, decomposer, trophic level Structure: title slide, objectives, warm-up question, 5 content slides with one idea each, vocabulary slide, quick check with 3 questions, summary. Use short sentences suitable for the grade level.

2Slides generate 接口参数及支持的20多种输出语言
图2:2Slides API 文档中 generate 接口参数,包含 responseLanguage 支持的20多种语言名称。

步骤4:用 Fast PPT 程序化生成课程幻灯片

此步骤允许小团队批量创建课堂演示文稿。Fast PPT generate 默认同步返回 downloadUrl,适合单个幻灯片组。批量时设置 mode: "async",收集 jobId 并轮询。每套幻灯片约30秒生成,API 限制每分钟6次请求,提交间隔建议10秒。

curl -X POST https://2slides.com/api/v1/slides/generate \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Create a 12-slide lesson deck for grade 7. Unit: Ecosystems. Lesson: Food Webs and Energy Flow. Learning objectives: explain how energy moves between trophic levels; identify producers, consumers and decomposers in a local ecosystem. Key vocabulary to define with one example each: producer, consumer, decomposer, trophic level. Structure: title, objectives, warm-up question, 5 content slides, vocabulary, 3-question quick check, summary.", "themeId": "'"$EDU_THEME_SECONDARY"'", "responseLanguage": "Spanish", "mode": "async" }' # -> {"jobId":"..."} 然后轮询 GET https://2slides.com/api/v1/jobs/{jobId}

Python 完整循环示例:读取 CSV,间隔10秒提交每行,间隔8秒轮询每个任务,保存 PPTX 文件名包含单元、年级和语言,避免同名覆盖。

import csv, os, time, requests API = "https://2slides.com/api/v1" HEADERS = {"Authorization": f"Bearer {os.environ['SLIDES_API_KEY']}"} THEMES = { "elementary": os.environ["EDU_THEME_ELEMENTARY"], "secondary": os.environ["EDU_THEME_SECONDARY"], } def theme_for(grade: str) -> str: return THEMES["elementary"] if int(grade) <= 5 else THEMES["secondary"] def build_prompt(row: dict) -> str: objectives = "\n".join(f"- {o.strip()}" for o in row["objectives"].split("|")) vocab = ", ".join(v.strip() for v in row["vocabulary"].split("|")) return ( f"Create a {row['slide_count']}-slide lesson deck for grade {row['grade']}.\n" f"Unit: {row['unit']}\nLesson: {row['lesson_title']}\n" f"Learning objectives:\n{objectives}\n" f"Key vocabulary to define with one example each: {vocab}\n" "Structure: title slide, objectives, warm-up question, content slides with one " "idea each, vocabulary slide, quick check with 3 questions, summary. " "Use short sentences suitable for the grade level." ) def submit(row: dict) -> str: r = requests.post(f"{API}/slides/generate", headers=HEADERS, timeout=60, json={ "userInput": build_prompt(row), "themeId": theme_for(row["grade"]), "responseLanguage": row["language"] or "English", "mode": "async", }) r.raise_for_status() return r.json()["jobId"] def wait(job_id: str) -> dict: while True: job = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30).json() if job["status"] in ("success", "failed"): return job time.sleep(8) # 每5-10秒轮询一次;jobs接口允许每分钟10次请求 with open("curriculum.csv", newline="", encoding="utf-8") as f: rows = list(csv.DictReader(f)) queued = [] for row in rows: queued.append((row, submit(row))) time.sleep(10) # 每分钟6次提交,保持间隔 os.makedirs("decks", exist_ok=True) for row, job_id in queued: job = wait(job_id) if job["status"] != "success": print("FAILED", row["lesson_title"], row["language"], job_id) continue pptx = requests.get(job["downloadUrl"], timeout=120).content name = f"{row['unit']}_G{row['grade']}_{row['lesson_title']}_{row['language']}.pptx" with open(os.path.join("decks", name.replace(" ", "_")), "wb") as out: out.write(pptx) print("saved", name)

每套幻灯片生成后,将 job_iddownload_urlstatus = "draft" 写回表格。

2Slides Fast PPT 界面,展示蓝色涂鸦留学和批判性思维主题模板卡片
图3:2Slides 网页应用中的 Fast PPT 界面。generate 接口基于相同模板生成相同可编辑 PPTX,每节课调用一次。

步骤5:翻转课堂变体:短视频讲座配音

翻转课堂中,学生在家观看视频,因此切换流程。Fast PPT 任务不支持配音。先用 create-pdf-slides 生成16:9、2K分辨率的图像设计幻灯片,再用 generate-narration 单人配音,最后导出视频。讲座保持简短:6至8页幻灯片,每页配音约45秒,视频时长5至6分钟。

# 1) 生成图像设计幻灯片(默认异步) curl -X POST https://2slides.com/api/v1/slides/create-pdf-slides \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "8-slide mini-lecture for grade 7 on food webs and energy flow. One idea per slide, written to be read aloud in about 45 seconds per slide. Cover: what a food web is, producers, consumers, decomposers, trophic levels, the 10 percent energy rule, one local example, a 2-question check.", "aspectRatio": "16:9", "resolution": "2K", "page": 8, "contentDetail": "standard", "responseLanguage": "English", "mode": "async" }' # 轮询 GET /api/v1/jobs/{jobId} 直到 status = success(10 + 8 x 100 = 810 积分) # 2) 对该任务生成单人配音(8 x 210 = 1680 积分) curl -X POST https://2slides.com/api/v1/slides/generate-narration \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jobId": "JOB_ID_FROM_STEP_1", "mode": "single", "speakerName": "Teacher", "voice": "Leda", "contentMode": "standard", "includeIntro": true }' # 再次轮询直到成功 # 3) 下载每页 PNG + WAV,免费 curl -X POST https://2slides.com/api/v1/slides/download-slides-pages-voices \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{"jobId": "JOB_ID_FROM_STEP_1"}' -o lecture-assets.zip

MP4 有两种生成方式:一是打开任务在 2Slides 工作区,使用导出功能生成视频,浏览器渲染1920×1080 H.264 MP4,每页收费20积分;二是用 FFmpeg 将 ZIP 中的 PNG 和 WAV 组合,生成可上传 LMS 的视频。可参考无脸教育短视频文章中的9:16版本示例。

步骤6:无代码和智能代理替代方案

在 Make 中实现课程到 PowerPoint 自动化

如果课程团队没人愿意写 Python 脚本,同样流程可用 Make(n8n 和 Zapier 类似)实现:

  • 触发器:监控课程 Google 表格新增或更新行,或 LMS 触发的 Webhook。
  • 转换:文本或变量步骤根据步骤3模板拼接 userInput
  • HTTP 请求:POST https://2slides.com/api/v1/slides/generate,设置 mode: "async"Authorization: Bearer 头存为场景密钥,responseLanguage 映射自行。
  • 等待:延迟30至45秒。
  • HTTP 请求:GET https://2slides.com/api/v1/jobs/{jobId},若 statussuccessfailed,循环等待。
  • 交付:将 PPTX 上传到按年级分的 Drive 文件夹,写回 download_urlstatus = "draft"
  • 限流:每次处理一行,提交间隔至少10秒,保证40行提交不超过每分钟6次请求。

让智能代理帮忙

使用 Claude Code、Codex 或 Cursor 的教师可跳过脚本和自动化工具。安装 2Slides Agent Skill 或添加托管的 MCP 服务器(claude mcp add --transport http 2slides "https://2slides.com/api/mcp?apikey=YOUR_KEY"),粘贴课程表,按行请求生成幻灯片。代理调用相同的 themes_searchslides_generatejobs_get 工具,使用同一 API 密钥和积分;详见Agent Skills 页面

2Slides Agent Skills 页面:可通过 Claude Code、Codex、Cursor 等代理运行相同生成流程
图4:2Slides Agent Skills 页面。技能和 MCP 服务器向代码代理暴露七个 API 工具,教师可用自然语言请求生成幻灯片。

可访问性与审核:AI 草稿,教师审批

将每套生成的幻灯片视为草稿。status 列从 draft 变为 reviewed 再到 approved,并记录审核者姓名缩写,只有标记为 approved 的幻灯片才发给学生。这是政策要求,不是功能设计,体现了可编辑 PPTX 相较于更漂亮但不可编辑的 PDF 在课堂使用中的重要性。

每套幻灯片审核清单:

  • 内容:确保每个目标都出现且符合标准;无虚构事实或日期;快速检测题目可从幻灯片内容回答。
  • 阅读水平:句子长度和词汇符合年级要求。最常见的修正是四年级幻灯片出现九年级句子。
  • 翻译幻灯片:双语教师单独审核西班牙语或越南语版本,因词汇示例需符合文化背景且翻译准确。
  • 可访问性:为图片添加替代文本,检查文本与背景对比度,正文文字在教室后排可读,避免仅用颜色传达信息。大多数学区参考WCAG 指南
  • 视频讲座:download-slides-pages-voices ZIP 包含每页 WAV,配合任何语音转文本工具生成字幕,几分钟即可完成。

教师审核每套幻灯片约需10分钟:40节课约7小时,远低于从空白模板制作幻灯片的时间。

学区费用预算

积分按用量付费:5美元买2000积分(0.0025美元/积分),80美元买40000积分(0.002美元/积分)。新账户赠送500积分,足够测试4套12页幻灯片。

数量流程积分美元
40节课 × 12页(一个部门,一个学期)Fast PPT generate480页 × 10 = 4,800约12美元(5美元套餐价格)
500节课 × 12页(学区或课程市场,每月)Fast PPT generate6,000页 × 10 = 60,000约120美元(80美元套餐价格)
40个翻转讲座 × 8页,2K分辨率加配音create-pdf-slides 40 × 810,generate-narration 40 × 1,68032,400 + 67,200 = 99,600约199至249美元
这40个讲座的可选 MP4 导出320页 × 206,400约13至16美元

时间也是预算因素。按每分钟6次提交,40节课约7分钟提交完毕,500节课约84分钟,每套幻灯片生成约30秒后完成。

Fast PPT 还是图像设计幻灯片?

  • Fast PPT (generate) 适合教师需在 PowerPoint 或 Google Slides 中编辑且批量大时:12页幻灯片120积分,约30秒交付。
  • create-pdf-slides 适合幻灯片为最终学生材料(视频讲座、LMS嵌入)或需特定视觉风格:10页2K分辨率1010积分,配音每页210积分。
  • create-like-this 适合学区有品牌幻灯片模板需统一风格,传入公共 URL 作为 referenceImageUrl,费用与 create-pdf-slides 相同。
  • 切勿混用:配音和 MP4 导出仅支持 create-pdf-slidescreate-like-this,不支持 Fast PPT。

常见问题

  • 批量粘贴时 HTTP 429:API 限制每分钟6次请求,保持单一提交者且间隔10秒,避免多线程或场景分支并发使用同一密钥。
  • API 密钥存表格或共享 Apps Script:请保存在服务器端或自动化工具的密钥库,教师只接收幻灯片,不暴露密钥。
  • Fast PPT 任务配音失败:配音接口拒绝 Fast PPT 任务,需先用 create-pdf-slides 重新生成课程。
  • 传递语言代码错误:responseLanguage: "es" 不等于 "Spanish",请用支持的语言名称验证语言列。
  • create-pdf-slides 默认 page: 1:请显式设置页数(如8页迷你讲座)或用 page: 0 让模型决定。单页讲座是常见的初次运行意外。
  • 直接粘贴整个单元计划为 userInput:长标准文档导致幻灯片内容分散,建议先提炼为目标、词汇和幻灯片结构。

常见问题解答

我可以不写代码程序化生成课程幻灯片吗?

可以。在 Make、n8n 或 Zapier 中,使用 Sheets 触发器驱动 HTTP 请求步骤调用 POST /api/v1/slides/generate,设置 mode: "async",再用等待步骤和第二个 HTTP 请求轮询 GET /api/v1/jobs/{id}。教师也可跳过自动化工具,使用带有 2Slides 技能或 MCP 服务器的 AI 代理,从粘贴的课程表生成幻灯片。所有路径均使用相同 API 密钥和积分。

如何用一个课程大纲生成多语言课程幻灯片?

将每节课行复制多份,每份设置不同语言列,如“Spanish”或“Vietnamese”。脚本将该值传给 responseLanguage,相同目标和词汇用同一模板生成英语和西班牙语幻灯片。2Slides 支持20多种输出语言。请双语教师审核翻译幻灯片,确保词汇示例符合文化背景且翻译准确。

有替代 2Slides 的 AI 课程计划转幻灯片 API 吗?

有,多个演示工具提供 API。Gamma 的 API 也支持自动化,但需 Pro 计划获取 API 密钥;而 2Slides 密钥适用于任何账户,包括免费账户(赠送500积分)。SlideSpeak 和 Canva Connect 也有 API。2Slides 是我们的产品,教育场景关键点是:可编辑 PPTX 输出、按请求语言生成、按幻灯片计费。

生成的课程幻灯片应有多少页?

45至50分钟课时,10至14页幻灯片是合理默认:标题、目标、热身、4至6页内容幻灯片(每页一个观点)、词汇页、快速检测和总结。每页10积分,12页幻灯片120积分。请在 userInput 中声明页数,保证批量生成的幻灯片大小、审核时间和费用可控。

教师能在 PowerPoint 或 Google Slides 中编辑生成的幻灯片吗?

能。Fast PPT generate 接口返回基于设计模板的原生 PPTX,文本框、形状和图片均可在 PowerPoint、Keynote 或 Google Slides 中编辑。这也是为何本方案将 API 输出视为草稿:教师打开文件,调整示例以适应学生,保存批准版本。create-pdf-slides 输出为 PDF 及页面图片,不支持文本编辑。

后续步骤

你现在拥有了表格布局、提示模板、Python 循环和审核政策,能为整个部门程序化生成课程幻灯片,支持项目所有教学语言。

About 2Slides

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

Try For Free