


AIプレゼンテーションAPI比較とコード例: 2Slides vs SlideSpeak vs Canva (2026年版)
すでにAPIが必要だと分かっている開発者向け。 この記事はコード付きの直接比較です。「AIプレゼンテーションAPIとは何か」「自分に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 | 1,500以上のテンプレートを検索 |
/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" }'
価格
- クレジット制、コール課金なし
- スライド1ページあたり約1クレジット
- AI画像1枚あたり100-200クレジット (解像度による)
- パック: 5ドル(2,000クレジット)から80ドル(40,000クレジット、最大20%のボリュームディスカウント)
- Proサブスクリプション: 12.50ドル/月で10,000クレジット
レート制限
- APIキーあたり毎分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 | slides_generatethemes_searchjobs_get |
| テンプレートベースのデザイン埋め | Canva Connect | リッチなテンプレート + ブランドキット |
| 月額5ドル未満の予算 | 2Slides | 5ドルからのクレジットパック。SlideSpeakは月額29ドルから |
| 音声ナレーション + MP4エクスポート | 2Slides | 市場で唯一、H.264 + マルチスピーカーAI音声を提供 |
統合の例
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 = "ja", 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": "ja" } JSON
MCP経由でのツールコール (AIエージェント向け)
Claude Desktop、Cursor、その他MCP互換のエージェントから2Slidesを呼び出す場合、HTTPコードを書く必要はありません。MCPサーバーを一度設定すれば、AIがツールをネイティブに呼び出します:
{ "mcpServers": { "2slides": { "command": "npx", "args": ["2slides-mcp"], "env": { "API_KEY": "sk-2slides-xxx" } } } }
その後、エージェントに次のように指示します: 「組み込み決済をテーマにしたフィンテックスタートアップ向けに、日本語で12ページのピッチデックを生成。解像度は2K。」 エージェントは自動的に
slides_generate本番運用パターン
パターン1 — Webhookコールバック (ポーリングの代替)
2Slidesは
/slides/generatewebhookUrlcurl -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?q=consulting&limit=5" \ -H "Authorization: Bearer sk-2slides-xxx" | jq '.themes[].id' # 返されたidをgenerate()で使用
パターン3 — ブランド参照画像からのスタイル複製
ブランドテンプレートの画像があれば、
generatecreate-like-thiscurl -X POST https://2slides.com/api/v1/slides/create-like-this \ -H "Authorization: Bearer sk-2slides-xxx" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Q1 2026 売上レポート", "referenceImageUrl": "https://your-cdn.com/brand-slide.png", "page": 12 }'
これは同期的にPDF + ワークスペースURLを返します。2026年Q2時点で、このスタイル複製パターンを提供するAIプレゼンテーションAPIは他にありません。
よくある質問
2Slides APIは商用製品で使えますか?
はい、制限はありません。SaaS製品、社内ツール、ホワイトラベル機能、顧客向け機能をAPI上に構築できます。標準のレート制限 (60 RPM) が適用されます。より高い上限はセールスにご相談ください。
サンドボックスやテスト環境はありますか?
専用のサンドボックスはありません。本物のAPIキーを使い、小さなクレジットパック (5ドル/2,000クレジット) でテストしてください。すべてのエンドポイントは
dryRun: true同期モードのレイテンシはどれくらい?
2Kで10ページのプレゼンの場合、画像複雑度とテンプレートに応じて通常15-45秒です。本番でレイテンシを安定させたい場合は、
mode: "async"webhookUrl2SlidesのMCPサーバーはSlideSpeakのものとどう違う?
2Slidesは3つのツール —
slides_generatethemes_searchjobs_getマネージドAPIではなくセルフホストできますか?
2Slides自体はマネージドサービスのため不可です。セルフホストが必須要件なら、Presenton (Apache 2.0) が2026年時点で最も信頼できるオープンソース代替です。
バーストトラフィックでのレート制限は?
デフォルトはAPIキーあたり60 RPMです。バースト型のワークロード (例: 営業時間に200並列生成を発火するSlackボット) には、非同期モード + あなた側のキュー (BullMQ、SQS など) のパターンが推奨です。安定的に高い本番負荷がある場合は、引き上げをセールスにご相談ください。
関連記事
- 開発者向けベストAIプレゼンテーションAPI (完全ガイド) — 定義ハブ: AIプレゼンテーションAPIとは、なぜ使うのか、価格モデル、MCP概要
- Claudeでプレゼンテーションを作る方法 (MCPあり) — エージェント主導の生成ウォークスルー
- 企業向けAIプレゼンテーションツール比較 — SSO / SOC 2 / 監査ログ
構築を開始 — 2Slides APIキーを作成し、最初のスライドデッキを30秒以内に生成。
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free