2页PPT生成器
2slides 演示文稿生成
概述
使用 2slides AI API 生成专业演示文稿。该技能支持基于内容的生成(主题驱动的 Fast PPT)、参考图风格匹配、自定义 PDF 设计、文档总结、AI 语音旁白以及页面/音频导出。它会返回一个交互式幻灯片 URL 和一个可下载的 PDF 文件。
本技能改编自 2slides 官方技能仓库 (2slides/slides-generation-2slides-skills)。它调用托管的 2slides API,需要用户提供自己的 API 密钥和额度。
何时使用此技能
- 当用户要求根据文本或大纲“创建演示文稿”、“制作幻灯片”或“生成 PPT”时。
- 当用户希望幻灯片风格与参考图一致时(例如“创建像这张图一样的幻灯片”)。
- 当用户希望在没有参考图的情况下创建自定义设计的 PDF 幻灯片时。
- 当用户上传文档并要求“根据此文档创建幻灯片”时。
- 当用户希望为生成的幻灯片添加 AI 语音旁白,或将幻灯片导出为 PNG 图片、旁白导出为 WAV 音频时。
- 当用户询问“有哪些可用主题?”或想要浏览/选择主题时。
安装要求
用户必须拥有 2slides API 密钥和额度:
1. 获取 API 密钥: 访问 https://2slides.com/api 创建账户并获取 API 密钥
- 新用户可获得 500 免费额度(约可生成 50 页 Fast PPT)
2. 购买额度(可选): 访问 https://2slides.com/pricing 购买额外额度
- 按需付费,无需订阅
- 额度永不过期
- 大额套餐最高可享 20% 折扣
3. 设置 API 密钥: 将密钥存储在环境变量中:SLIDES_2SLIDES_API_KEY
read -r -s SLIDES_2SLIDES_API_KEY
export SLIDES_2SLIDES_API_KEY4. 安装脚本依赖: 在使用 Python 脚本前,请在该技能目录下安装指定的本地依赖:
python -m pip install -r requirements.txt额度消耗:
- Fast PPT: 10 额度/页
- Nano Banana 1K/2K: 100 额度/页
- Nano Banana 4K: 200 额度/页
- 语音旁白: 210 额度/页
- 下载导出: 免费
详细定价信息请参阅 references/pricing.md。
工作流决策树
根据用户请求选择合适的方法:
用户请求
│
├─ "根据此内容/文本创建幻灯片"
│ └─> 使用基于内容的生成(第 1 节)
│
├─ "创建像这张图一样的幻灯片"
│ └─> 使用参考图生成(第 2 节)
│
├─ "创建自定义设计幻灯片" 或 "创建 PDF 幻灯片"
│ └─> 使用自定义 PDF 生成---
1. 基于内容的生成
根据用户提供的文本内容生成幻灯片。
使用场景
- 用户在消息中直接提供内容
- 用户要求 "创建一个关于 X 的演示文稿"
- 用户提供了结构化的大纲或要点
工作流
步骤 1:准备内容
为了获得最佳效果,请清晰地组织内容结构:
标题:[主话题]
第 1 节:[子话题]
- 关键点 1
- 关键点 2
- 关键点 3
第 2 节:[子话题]
- 关键点 1
- 关键点 2
步骤 2:选择主题(必填)
搜索合适的主题(必须提供 themeId):
python scripts/search_themes.py --query "business"
python scripts/search_themes.py --query "professional"
python scripts/search_themes.py --query "creative"
从结果中选择一个主题 ID。
步骤 3:生成幻灯片
使用 generate_slides.py 脚本并传入主题 ID:
基础生成(需要主题 ID)
python scripts/generate_slides.py --content "此处输入内容" --theme-id "theme123"
使用不同语言
python scripts/generate_slides.py --content "此处输入内容" --theme-id "theme123" --language "Spanish"针对较长演示文稿使用异步模式
python scripts/generate_slides.py --content "此处输入内容" --theme-id "theme123" --mode async步骤 4:处理结果
同步模式响应:
{
"slideUrl": "https://2slides.com/slides/abc123",
"pdfUrl": "https://2slides.com/slides/abc123/download",
"status": "completed"
}
向用户提供这两个 URL:
slideUrl:在线交互式幻灯片
pdfUrl:可下载的 PDF 版本
异步模式响应:
{
"jobId": "job123",
"status": "pending"
}
轮询结果:python scripts/get_job_status.py --job-id "job123"
---
2. 基于参考图生成
生成与参考图像风格一致的幻灯片。
使用场景
- 用户提供图片 URL 并要求 "创建像这样的幻灯片"
- 用户希望匹配现有的品牌/设计风格
- 用户有想要模仿的模板图片
工作流
步骤 1:验证图片 URL
确保参考图片满足:
- URL 公开可访问
- 格式有效(PNG, JPG 等)
- 代表了所需的幻灯片风格
步骤 2:生成幻灯片
使用 generate_slides.py 脚本并添加 --reference-image 参数:
python scripts/generate_slides.py \
--content "您的演示文稿内容" \
--reference-image "https://example.com/template.jpg" \
--language "Auto"
可选参数(所有值均来自 2slides API):--language LANG # Auto, English, Spanish, Arabic, Portuguese, Indonesian,
# Japanese, Russian, Hindi, French, German, Greek, Vietnamese,
# Turkish, Polish, Italian, Korean, Simplified Chinese,
# Traditional Chinese, Thai (默认: Auto)
--mode sync|async # 默认: 主题使用 sync,参考图使用 async
--aspect-ratio RATIO # 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 (默认: 16:9)
-resolution 1K|2K|4K # 默认值: 2K
--page N # 0=自动, 1-100 (默认值: 1)
--content-detail concise|standard # 默认值: concise注意: 此模式使用 Nano Banana Pro 模式,积分消耗如下:
- 1K/2K:每页 100 积分
- 4K:每页 200 积分
步骤 3:处理结果
此模式始终同步运行并返回:
{
"slideUrl": "https://2slides.com/workspace?jobId=...",
"pdfUrl": "https://...pdf...",
"status": "completed",
"message": "Successfully generated N slides",
"slidePageCount": N
}向用户提供这两个 URL:
slideUrl:在 2slides 工作区查看幻灯片
pdfUrl:PDF 直接下载链接(1 小时后过期)
处理时间: 每页约 30 秒(1-2 页通常需要 30-60 秒)
---
3. 自定义 PDF 生成
无需参考图片,直接根据文本生成自定义设计的幻灯片。
使用场景
- 用户希望自定义设计且未提供参考图
- 用户请求“创建 PDF 幻灯片”
- 用户希望指定设计特征
- 作为基于主题生成的替代方案,提供更高的设计灵活性
工作流
步骤 1:准备内容
清晰地组织内容结构:
标题:[主话题]
章节 1:[子话题]
- 关键点 1
- 关键点 2
章节 2:[子话题]
- 关键点 1
- 关键点 2
步骤 2:生成幻灯片
使用 create_pdf_slides.py 脚本:
# 基础生成
python scripts/create_pdf_slides.py --content "此处输入内容"
指定设计风格 (API: designStyle)
python scripts/create_pdf_slides.py \
--content "2025年第四季度销售报告" \
--design-style "现代极简主义,蓝色调"
高分辨率且自动检测页数
python scripts/create_pdf_slides.py \
--content "营销计划" \
--resolution 4K \
--page 0 \
--content-detail standard可选参数:
--design-style "text" # 设计指令 (API: designStyle)
--language LANG # 与 generate_slides 相同 (默认值: Auto)
--aspect-ratio RATIO # 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 (默认值: 16:9)
--resolution 1K|2K|4K # 默认值: 2K
--page N # 0=自动, 1-100 (默认值: 1)
--content-detail concise|standard # 默认值: standard步骤 3:处理结果
返回结构与 create-like-this 相同:
{
"slideUrl": "https://2slides.com/workspace?jobId=...",
"pdfUrl": "https://...pdf...",
"status": "completed",
"message": "Successfully generated N slides",
"slidePageCount": N
}注意事项:
- 积分消耗与 create-like-this 相同(1K/2K 每页 100 积分,4K 每页 200 积分)
- 处理时间:每页约 30 秒
- 自动生成 PDF
- 使用 AI 根据内容和规格创建自定义设计
---
4. 文档总结
根据文档内容生成幻灯片。
使用场景
- 用户上传文档(PDF, DOCX, TXT 等)
- 用户要求“根据此文档创建幻灯片”
- 用户希望将长内容总结为演示文稿格式
工作流
步骤 1:读取文档
使用相应的工具读取文档内容:
- PDF:使用 PDF 读取工具
- DOCX:使用 DOCX 读取工具
- TXT/MD:使用 Read 工具
步骤 2:提取关键点
分析文档并提取:
- 主题和核心议题
- 每个章节的关键点
- 重要数据、引用或示例
- 逻辑流和结构
步骤 3:组织内容
将提取的信息格式化为演示文稿结构:
标题:
[文档主旨]
引言
- 背景
- 目的
- 概览
[文档第 1 节]
- 关键点 1
- 关键点 2
- 支撑细节
[文档第 2 节]
- 关键点 1
- 关键点 2
- 支撑细节
结论
- 总结
- 核心要点
- 后续步骤
步骤 4:生成幻灯片
使用基于内容的生成工作流(第 1 节)。先搜索主题,然后生成:
# 搜索合适的主题
python scripts/search_themes.py --query "business"
使用主题 ID 生成
python scripts/generate_slides.py --content "[步骤 3 中的结构化内容]" --theme-id "theme123"提示:
- 保持幻灯片简洁(每页 3-5 个要点)
- 聚焦核心洞察,而非全文
- 使用文档标题作为幻灯片标题
- 包含重要的统计数据或引用
- 询问用户是否需要突出显示特定章节
---
5. 语音旁白
为幻灯片添加 AI 生成的语音旁白。
使用场景
- 用户希望为幻灯片添加音频
- 用户请求“添加语音旁白”或“生成音频”
- 用户需要带有口播内容的演示文稿
- 用户需要多角色旁白
前提条件
重要: 在添加旁白之前,幻灯片生成任务必须已完成。
1. 先使用任何方法(第 1、2、3 或 4 节)生成幻灯片
2. 从生成结果中获取 Job ID
3. 在请求旁白前,确保任务状态为 "completed"
工作流
步骤 1:选择声音
共有 30 种可用声音,包括:
- Puck (默认)
- Aoede
- Charon
- Kore
- Fenrir
- Phoebe
- 以及其他 24 种...
列出所有声音:
python scripts/generate_narration.py --list-voices步骤 2:生成旁白
使用 generate_narration.py 脚本并提供 Job ID:
# 使用默认声音进行基础旁白生成
python scripts/generate_narration.py --job-id "abc-123-def-456"
单一演讲者,指定声音
python scripts/generate_narration.py --job-id "abc-123-def-456" --voice Aoede
多角色模式
python scripts/generate_narration.py --job-id "abc-123-def-456" --multi-speaker参数(与 2slides API 一致):
--job-id: 任务 ID(必填,Nano Banana 的 UUID)
--voice: 声音名称(默认:Puck);使用--list-voices查看全部 30 种
--language: 旁白语言(默认:Auto)
--multi-speaker: 启用多角色模式
--list-voices: 打印支持的声音列表,不调用 API
步骤 3:检查状态
旁白生成是异步运行的:
python scripts/get_job_status.py --job-id "abc-123-def-456"步骤 4:处理结果
完成后,任务将包含旁白文件。使用下载端点(第 6 节)获取音频文件。
注意事项:
- 成本: 每页 210 积分(文本 10 积分,音频 200 积分)
- 处理时间取决于幻灯片页数
- 提供 30 种声音选项
- 支持 19 种语言及自动检测
- 多角色模式会使用不同的声音以增加多样性
---
6. 下载导出
将幻灯片下载为 PNG 图片,将语音旁白下载为 WAV 文件。
使用场景
- 用户希望将幻灯片下载为图片
- 用户需要单独的语音文件
- 用户需要文本转录
- 用户需要图片格式的幻灯片以便在其他工具中使用
工作流
步骤 1:验证任务完成
确保幻灯片(以及可选的旁白)已生成且任务已完成。
步骤 2:下载压缩包
使用 download_slides_pages_voices.py 脚本:
# 使用默认文件名下载 (<job_id>.zip)
python scripts/download_slides_pages_voices下载到指定路径
python scripts/download_slides_pages_voices.py \ --job-id "abc-123-def-456" \ --output "my-presentation.zip"步骤 3:解压内容
ZIP 压缩包包含:
- Pages: 每页幻灯片的 PNG 文件
- Voices: WAV 音频文件(如果生成了旁白)
- Transcripts: 旁白的文本转录
注意事项:
- 费用: 完全免费(不消耗积分)
- 下载链接有效期仅为 1 小时
- 包含所有页面和语音文件
- 高质量 PNG 导出
- 音频采用 WAV 格式
---
7. 主题搜索
为演示文稿寻找合适的主题。
使用场景
- 在生成具有特定风格的幻灯片之前
- 用户询问“有哪些可用主题?”
- 用户需要专业或品牌化的外观
工作流
搜索主题:
搜索特定风格(必须提供 query 参数)
python scripts/search_themes.py --query "business"
python scripts/search_themes.py --query "creative"
python scripts/search_themes.py --query "education"
python scripts/search_themes.py --query "professional"
获取更多结果
python scripts/search_themes.py --query "modern" --limit 50主题选择:
1. 向用户展示可用主题的名称和描述
2. 请用户选择或使用默认主题
3. 在生成请求中使用该主题 ID
---
使用 MCP 服务器
如果 Claude Desktop 中配置了 2slides MCP 服务器,请使用集成工具而非脚本。
两种配置模式:
1. 可流式传输的 HTTP 协议(推荐)
- 设置最简单,无需本地安装
- 配置:"url": "https://2slides.com/api/mcp?apikey=YOUR_API_KEY"
2. NPM 包 (stdio)
- 使用本地 npm 包
- 配置:"command": "npx", "args": ["2slides-mcp"]
可用 MCP 工具:
slides_generate - 根据内容生成幻灯片
slides_create_like_this - 根据参考图生成
themes_search - 搜索主题
jobs_get - 检查任务状态
完整设置指南和详细工具文档请参阅 mcp-integration.md。
何时使用 MCP 与脚本:
- 已配置时,在 Claude Desktop 中使用 MCP
- 在 Claude Code CLI 中或 MCP 不可用时使用脚本
---
高级功能
同步 vs 异步模式
同步模式(默认):
- 等待生成完成(30-60 秒)
- 立即返回结果
- 适用于快速生成演示文稿
异步模式:
- 立即返回任务 ID (job ID)
- 使用
get_job_status.py 轮询结果
- 适用于大型演示文稿或批量处理
- 建议轮询频率: 每 20-30 秒检查一次,以避免给服务器带来压力
速率限制 (Rate Limits)
不同端点有不同的速率限制:
- Fast PPT (generate): 每分钟 10 次请求
- Nano Banana (create-like-this, create-pdf-slides): 每分钟 6 次请求
如果触发速率限制,请稍后重试或检查套餐限制。
积分消耗
- Fast PPT (generate 端点): 每页 10 积分
- Nano Banana 1K/2K (create-like-this, create-pdf-slides): 每页 100 积分
- Nano Banana 4K: 每页 200 积分
- 语音旁白: 每页 210 积分(10 积分用于文本,200 积分用于音频)
- 下载导出: 免费(不消耗积分)
购买积分
2slides 采用按需付费的积分系统,无需订阅。
积分套餐:(当前促销:最高 20% 折扣)
- 2,000 积分:$5.00
- 4,000 积分:$9.50 (5% off)
- 10,000 积分:$22.50 (10% off)
- 20,000 积分
: $42.50 (85折)
- 40,000 积分: $80.00 (8折)
新用户可获得 500 免费积分用于上手体验(约可生成 50 页 Fast PPT)。
积分永不过期 —— 可根据您的节奏随时使用。
购买积分请访问: https://2slides.com/pricing
下载链接有效期
所有下载链接(PDF、ZIP 压缩包)的有效期仅为 1 小时。请在生成后及时下载文件。
语言支持
支持多种语言生成幻灯片(请使用语言全称):
--language "Auto" # 自动检测(默认)
--language "English" # 英语
--language "Simplified Chinese" # 简体中文
--language "Traditional Chinese" # 繁體中文
--language "Spanish" # 西班牙语
--language "French" # 法语
--language "German" # 德语
--language "Japanese" # 日语
--language "Korean" # 韩语
以及更多:阿拉伯语、葡萄牙语、印尼语、俄语、印地语、越南语、土耳其语、波兰语、意大利语。
错误处理
常见错误代码:
1. 缺失 API 密钥
Error: API key not found
解决方案:设置 SLIDES_2SLIDES_API_KEY 环境变量
2. RATE_LIMIT_EXCEEDED (超出速率限制)Error: 429 Too Many Requests
解决方案:等待 20-30 秒后重试
速率限制:Fast PPT (10次/分), Nano Banana (6次/分)
3. INSUFFICIENT_CREDITS (积分不足)Error: Not enough credits
解决方案:在 https://2slides.com/api 充值积分
4. INVALID_JOB_ID (无效的任务 ID)Error: Job ID not found or invalid
解决方案:核对任务 ID 格式(Nano Banana 必须为 UUID)
5. Invalid content (内容无效)Error: 400 Bad Request
解决方案:核对内容格式和参数
``
---
脚本参数参考 (2slides API)
所有脚本均接受与 2slides API 一致的参数。允许的值在
scripts/api_constants.py 中定义,并在适用处强制执行。
| 脚本 | 关键参数 | 允许的值(见脚本
--help 或 api_constants.py) |
|--------|----------------|----------------------------------------------------------|
| generate_slides.py | --language | Auto, English, Spanish, Arabic, Portuguese, Indonesian, Japanese, Russian, Hindi, French, German, Greek, Vietnamese, Turkish, Polish, Italian, Korean, Simplified Chinese, Traditional Chinese, Thai |
| | --mode | sync, async |
| | --aspect-ratio | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 |
| | --resolution | 1K, 2K, 4K |
| | --content-detail | concise, standard |
| create_pdf_slides.py | 同上 + --design-style / --design-spec (自由文本) | |
| generate_narration.py | --voice | 30 种声音 (Puck, Aoede, Charon, …); 使用 --list-voices 查看 |
| | --language | Auto, English, Spanish, Arabic, Portuguese, Indonesian, Japanese, Russian, Hindi, French, German, Vietnamese, Turkish, Polish, Italian, Korean, Simplified Chinese, Traditional Chinese |
| | --multi-speaker | 出现该参数即启用 |
| search_themes.py | --query (必填), --limit (1–100) | |
| get_job_status.py | --job-id (必填) | |
| download_slides_pages_voices.py | --job-id (必填), --output (路径) | |
---
补充文档
API 参考
详见 api-reference.md:
- 所有端点和参数
- 请求/响应格式
- 身份验证详情
- 速率限制与最佳实践
- 错误代码与处理
价格信息
详见 pricing.md:
- 积分套餐
套餐与定价
- 成本示例与计算
- 免费试用详情
- 退款政策
- 企业方案
---
最佳实践技巧
内容结构:
- 使用清晰的标题和子标题
- 保持要点简洁
- 每节限制在 3-5 个要点
- 包含相关的示例或数据
主题选择:
- 标准生成需要提供 Theme ID
- 使用与演示目的匹配的关键词进行搜索
- 常用搜索词:"business"(商务)、"professional"(专业)、"creative"(创意)、"education"(教育)、"modern"(现代)
- 每个主题具有独特的样式和布局
参考图片:
- 使用高质量图片以获得最佳效果
- 支持 URL 或 base64 编码图片
- 公开 URL 必须可访问
- 根据质量需求选择分辨率设置 (1K/2K/4K)
- 使用
page=0 可自动检测幻灯片页数
文档处理:
- 仅提取关键信息
- 不要尝试将整个文档放入幻灯片中
- 专注于核心洞察和结论
- 询问用户需要强调哪些章节
---
安全与防护注意事项
- 凭据: 本技能从
SLIDES_2SLIDES_API_KEY 环境变量中读取 API 密钥。切勿在命令中硬编码密钥、将其提交至代码库或将其回显给用户。脚本仅通过 HTTPS 将其作为 bearer/apikey 值发送至 https://2slides.com。
- 网络与付费操作: 每次生成调用都会向 2slides API 发起出站网络请求并消耗用户积分(根据模式不同,每页 10–210 积分)。将生成、参考图片、自定义 PDF 和旁白调用视为计费操作 —— 在生成大型或高分辨率 (4K) 演示文稿前请确认意图,并在页数/成本较高时告知用户。
- 无破坏性本地操作: 脚本仅读取用户指定的内容/文件,并将生成的输出(如下载的 ZIP 包)写入用户指定的路径。不会修改或删除无关文件。
- 输入处理: 参考图片和文档输入将被发送至 2slides 服务进行处理。请勿提交未经用户授权第三方处理的机密资料。
- 下载 URL 在 1 小时后过期 —— 请及时获取产出物,不要将 URL 视为持久存储。
局限性
- 需要有效的 2slides 账户、API 密钥及充足的积分;本技能不负责提供或支付积分。
- 结果为 AI 生成的草稿,旨在作为起点而非最终经过事实核查的交付物 —— 使用前请审核内容。
- 本技能不能替代特定环境的验证或专家评审。如果缺失 API 密钥、必要输入或预期的成本/范围,请停止操作并请求澄清。
- 存在速率限制(Fast PPT 10次/分,Nano Banana 6次/分);请每 20–30 秒轮询一次异步任务,避免紧凑循环。
相关技能
@youtube-full` — 获取可由本技能总结为演示文稿的源材料(转录文本)。