


AI 簡報 API 比較與程式碼範例:2Slides vs SlideSpeak vs Canva(2026)
寫給已經知道需要 API 的開發者。 本文是帶程式碼的橫向比較。如果你還在判斷 什麼是 AI 簡報 API、自己是否需要,請先看 開發者完整指南 — 涵蓋定義、價格、MCP 與架構模式。本頁接著那裡繼續。
如果你需要以程式方式產生簡報 — 用於 SaaS 整合、自動化報表,或 AI 代理工作流程 — 那你就需要一個簡報 API。市面上提供 API 的 AI 簡報工具出乎意料地少。下面是比較與程式碼。
全景(2026 年 5 月核實)
| 工具 | 提供 API | API 類型 | 文件 | MCP 支援 | 原生 PPTX |
|---|---|---|---|---|---|
| 2Slides | ✅ 完整 REST API | REST + JSON-RPC MCP | ✅ 完善 | ✅ | ✅ |
| SlideSpeak | ✅ 受限 | REST + MCP | 部分 | ✅ | 部分 |
| Canva | ✅(Canva Connect) | REST | ✅ | ❌ | 透過範本 |
| Gamma | ❌ | — | — | ❌ | ❌ |
| Beautiful.ai | ❌ | — | — | ❌ | ❌ |
| SlidesAI | ❌(僅外掛) | — | — | ❌ | 僅 Google Slides |
| Presenton | ✅ 開源自架 | REST | ✅ | ❌ | ✅ |
**關鍵結論:**作為託管服務的 AI 簡報生成,2Slides 是最完整的選項。SlideSpeak 提供部分 API。Canva API 屬於另一類目標(範本填充,不是 AI 生成)。其餘都沒有公開 API。如果一定要自架,Presenton(Apache 2.0)是唯一現實可行的選擇。
2Slides API — 功能完整
端點
| 端點 | 方法 | 說明 |
|---|---|---|
/api/v1/slides/generate | POST | 從文字產生投影片 |
/api/v1/slides/create-like-this | POST | 用參考圖產生 |
/api/v1/slides/create-pdf-slides | POST | 檔案轉投影片 |
/api/v1/slides/generate-narration | POST | 加上 AI 語音旁白 |
/api/v1/slides/download-slides-pages-voices | POST | 帶音訊下載 |
/api/v1/jobs/{id} | GET | 非同步任務狀態 |
/api/v1/themes/search | GET | 在 1500+ 範本庫中搜尋 |
/api/mcp | JSON-RPC 2.0 | 給 AI 代理的 MCP 端點 |
快速開始
curl -X POST https://2slides.com/api/v1/slides/generate \
-H "Authorization: Bearer sk-2slides-xxx" \
-H "Content-Type: application/json" \
-d '{
"userInput": "Top 10 AI Trends 2026",
"mode": "sync",
"resolution": "2K"
}'價格
- 點數制,無單次呼叫費用
- Fast PPT 每頁投影片 10 點(以 5 美元點數包計約 0.025 美元)
- 每張 AI 圖像 100-200 點(按解析度)
- 點數包:5 美元(2,000 點)到 80 美元(40,000 點,約 20% 量級折扣)
- Pro 訂閱:12.50 美元/月,10,000 點
速率限制
- 每個 API key 每分鐘 60 次請求
- 正式環境推薦非同步模式(
mode: "async")
SlideSpeak API — 受限
已提供
- PDF/DOCX → 投影片轉換
- 基本 AI 生成
- 給 AI 代理的 MCP 伺服器(社群版)
不足
- 生成模式比 2Slides 少
- 無設計風格複製(無
create-like-this對應功能) - API 不支援語音旁白與影片
- 文件不夠完整;部分端點僅對合作夥伴開放
價格
- 29 美元/月 Premium(50 點)
- 34 美元/月 Premium Plus(「無限」公平使用)
Canva API — 另一個類別
Canva Connect API 很強,但解的是另一個問題。
- 重點: 程式化的設計操作,不是生成式 AI
- 使用情境: 用程式把資料填到 Canva 範本裡
- 限制: 你在填範本,不是從提示詞生成新的簡報。Canva 的「AI」部分(Magic Design、Magic Write)截至 2026 年 Q2 都未在公開 API 暴露
如果你的情境是「用程式填充 Canva 範本」,Canva 就是為此而生。如果你的情境是「給個提示詞,回傳完成的投影片包」,Canva 就是錯的工具。
怎麼選合適的 API(決策矩陣)
| 需求 | 最佳解 | 為什麼 |
|---|---|---|
| 完整 AI 生成、託管服務 | 2Slides | 端點、格式、語系最齊全 |
| 自架、開源 | Presenton | Apache 2.0,原始碼完整 |
| 僅 PDF 轉投影片 | 2Slides 或 SlideSpeak | 都支援檔案輸入 |
| AI 代理整合(MCP) | 2Slides | 完整 MCP,含 slides_generate / themes_search / jobs_get |
| 範本填充式設計 | Canva Connect | 範本系統 + brand kit 豐富 |
| 月預算 5 美元以下 | 2Slides | 點數包 5 美元起;SlideSpeak 29 美元/月起 |
| 語音旁白 + MP4 匯出 | 2Slides | 市面唯一支援 H.264 + 多語者 AI 語音的 API |
整合範例
Node.js / TypeScript
// 2slides-generate.ts
// 非同步生成 + 輪詢。可上線模式。
// pnpm add ofetch (或 Node 18+ 直接用 fetch)
import { ofetch } from 'ofetch'
const API_KEY = process.env.TWOSLIDES_API_KEY! // sk-2slides-...
const API_BASE = 'https://2slides.com/api/v1'
interface GenerateInput {
topic: string
themeId?: string
language?: string
resolution?: '512px' | '1K' | '2K' | '4K'
}
interface JobResult {
jobId: string
status: 'pending' | 'processing' | 'success' | 'failed'
downloadUrl?: string
error?: string
}
async function generateDeck(input: GenerateInput): Promise<JobResult> {
// 1. 啟動任務(非同步模式)
const job = await ofetch<{ jobId: string }>(`${API_BASE}/slides/generate`, {
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: {
userInput: input.topic,
themeId: input.themeId,
responseLanguage: input.language ?? 'en',
resolution: input.resolution ?? '2K',
mode: 'async',
},
})
// 2. 輪詢直到完成(最多 5 分鐘)
const deadline = Date.now() + 5 * 60 * 1000
while (Date.now() < deadline) {
await new Promise((r) => setTimeout(r, 3000))
const status = await ofetch<JobResult>(`${API_BASE}/jobs/${job.jobId}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
})
if (status.status === 'success') return status
if (status.status === 'failed') throw new Error(status.error ?? 'Generation failed')
}
throw new Error('等待生成逾時')
}
// 用法:
const result = await generateDeck({
topic: '面向高層團隊的 2026 Q1 銷售檢討',
resolution: '2K',
})
console.log('下載:', result.downloadUrl)Python
# 2slides_generate.py
# 非同步生成 + 輪詢。與 Node 範例同款模式。
# pip install requests
import os
import time
import requests
from typing import Optional, Literal
API_KEY = os.environ["TWOSLIDES_API_KEY"] # sk-2slides-...
API_BASE = "https://2slides.com/api/v1"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def generate_deck(
topic: str,
theme_id: Optional[str] = None,
language: str = "zh-TW",
resolution: Literal["512px", "1K", "2K", "4K"] = "2K",
timeout_s: int = 300,
) -> dict:
body = {
"userInput": topic,
"themeId": theme_id,
"responseLanguage": language,
"resolution": resolution,
"mode": "async",
}
r = requests.post(f"{API_BASE}/slides/generate", json=body, headers=HEADERS, timeout=30)
r.raise_for_status()
job_id = r.json()["jobId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
time.sleep(3)
s = requests.get(f"{API_BASE}/jobs/{job_id}", headers=HEADERS, timeout=10)
s.raise_for_status()
data = s.json()
if data["status"] == "success":
return data
if data["status"] == "failed":
raise RuntimeError(data.get("error", "Generation failed"))
raise TimeoutError("等待生成逾時")
if __name__ == "__main__":
result = generate_deck(
topic="面向高層團隊的 2026 Q1 銷售檢討",
resolution="2K",
)
print("下載:", result["downloadUrl"])cURL / Shell
#!/usr/bin/env bash
# 2slides-generate.sh — 同步模式,適合快速原型。
# 正式環境建議非同步模式(參考上方 Node/Python)。
set -euo pipefail
API_KEY="${TWOSLIDES_API_KEY:?請先設定 TWOSLIDES_API_KEY}"
TOPIC="${1:-Top 10 AI Trends 2026}"
curl -sS -X POST https://2slides.com/api/v1/slides/generate \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d @- <<JSON | jq -r '.downloadUrl // .error'
{
"userInput": "${TOPIC}",
"mode": "sync",
"resolution": "2K",
"responseLanguage": "zh-TW"
}
JSON透過 MCP 呼叫(給 AI 代理)
如果你從 Claude Desktop、Cursor 或任何相容 MCP 的代理裡呼叫 2Slides,根本不需要寫 HTTP 程式碼。設定 MCP 伺服器一次,代理就會原生呼叫工具:
{
"mcpServers": {
"2slides": {
"command": "npx",
"args": ["-y", "2slides-mcp@latest"],
"env": { "API_KEY": "sk-2slides-xxx" }
}
}
}然後給代理下指令:「為一家做嵌入式支付的金融科技新創公司產生 12 頁投資人 pitch deck,繁體中文,2K 解析度。」 代理會自動呼叫 slides_generate。完整工具規格見 MCP 伺服器開源儲存庫。
正式環境模式
模式 1 — Webhook 回呼(取代輪詢)
2Slides 在 /slides/generate 上支援 webhookUrl 參數。指定你的端點,整個輪詢迴圈就不用寫了:
curl -X POST https://2slides.com/api/v1/slides/generate \
-H "Authorization: Bearer sk-2slides-xxx" \
-H "Content-Type: application/json" \
-d '{
"userInput": "...",
"mode": "async",
"webhookUrl": "https://your-app.com/api/2slides-callback"
}'模式 2 — 生成前先搜尋主題
要讓輸出符合品牌,先搜尋主題庫並固定一個 themeId:
# 找到符合 "consulting" 的主題
curl -sS "https://2slides.com/api/v1/themes/search?query=consulting&limit=5" \
-H "Authorization: Bearer sk-2slides-xxx" | jq '.themes[].id'
# 把回傳的 id 用到 generate() 裡模式 3 — 用品牌參考圖複製風格
如果你有品牌範本的圖片,使用 create-like-this 而不是 generate:
curl -X POST https://2slides.com/api/v1/slides/create-like-this \
-H "Authorization: Bearer sk-2slides-xxx" \
-H "Content-Type: application/json" \
-d '{
"userInput": "2026 Q1 銷售報告",
"referenceImageUrl": "https://your-cdn.com/brand-slide.png",
"page": 12
}'會同步回傳 PDF + 工作區 URL。截至 2026 年 Q2,沒有別的 AI 簡報 API 提供這種風格複製能力。
常見問題
2Slides API 可以用在商業產品裡嗎?
可以,無任何限制。在 API 之上建構 SaaS 產品、內部工具、白標功能或面向客戶的特性都行。適用標準速率上限(每分鐘 60 次);更高額度請聯絡銷售。
有沙箱或測試環境嗎?
沒有獨立沙箱。用真實 API key + 小額點數包(5 美元/2,000 點)測試即可。所有端點都接受 dryRun: true 參數,僅校驗請求結構而不消耗點數。
同步模式延遲多少?
2K 解析度下 10 頁簡報一般 15-45 秒,取決於 AI 圖像複雜度與範本。正式環境希望延遲可預期,建議用 mode: "async" + 輪詢(每 3-5 秒)或 webhookUrl 回呼。
2Slides 的 MCP 伺服器與 SlideSpeak 的相比如何?
2Slides 暴露三個工具 — slides_generate、themes_search、jobs_get — 涵蓋生成、主題探索、非同步狀態。SlideSpeak 的 MCP 表面較小,主要做檔案轉換。多數代理驅動的生成工作流程(Claude Desktop、Cursor、自定義 LangChain 代理)下,2Slides 更強。
能不能不用託管 API、自己架?
2Slides 本身不行 — 是託管服務。如果一定要自架,Presenton(Apache 2.0)是 2026 年最可信的開源替代。
突發流量下的速率限制怎麼辦?
預設每 API key 每分鐘 60 次。突發型負載(例如工作時間一個 Slack 機器人觸發 200 個並發生成)建議:非同步模式 + 你方加一個佇列(BullMQ、SQS 等)。可預期的高正式負載請聯絡銷售提升上限。
相關閱讀
- 面向開發者的最佳 AI 簡報 API(完整指南) — 定義型 hub:什麼是 AI 簡報 API、為何使用、價格模型、MCP 概覽
- 用 Claude 製作簡報(含 MCP) — 代理驅動的生成走讀
- 企業級 AI 簡報工具橫評 — SSO / SOC 2 / 稽核日誌
開始建構 — 建立 2Slides API key,30 秒內交付第一份投影片包。
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free