


Comparatif d'APIs de Présentation par IA avec Exemples de Code: 2Slides vs SlideSpeak vs Canva (2026)
Pour les développeurs qui savent déjà qu'ils ont besoin d'une API. Cet article est le comparatif tête-à-tête avec du code. Si vous cherchez encore à savoir ce qu'est une API de présentation IA ou si vous en avez besoin, commencez par notre guide complet pour développeurs — il couvre les définitions, les prix, MCP et les patterns d'architecture. Cette page reprend là où l'autre s'arrête.
Si vous devez générer des présentations de manière programmatique — depuis des intégrations SaaS, des reportings automatisés ou des workflows d'agents IA — vous avez besoin d'une API de présentation. Étonnamment peu d'outils IA en proposent une. Voici le comparatif et le code.
Le panorama (vérifié en mai 2026)
| Outil | API disponible | Type d'API | Documentation | Support MCP | PPTX natif |
|---|---|---|---|---|---|
| 2Slides | ✅ API REST complète | REST + JSON-RPC MCP | ✅ Exhaustive | ✅ | ✅ |
| SlideSpeak | ✅ Limitée | REST + MCP | Partielle | ✅ | Partielle |
| Canva | ✅ (Canva Connect) | REST | ✅ | ❌ | Via templates |
| Gamma | ❌ | — | — | ❌ | ❌ |
| Beautiful.ai | ❌ | — | — | ❌ | ❌ |
| SlidesAI | ❌ (add-on uniquement) | — | — | ❌ | Google Slides uniquement |
| Presenton | ✅ Open-source self-hosted | REST | ✅ | ❌ | ✅ |
Conclusion: pour la génération de présentations IA en service géré, 2Slides est l'option la plus complète. SlideSpeak offre un accès API partiel. L'API de Canva sert un autre objectif (manipulation de design, pas génération IA). Le reste n'a pas d'API publique. Pour une alternative auto-hébergée, Presenton (Apache 2.0) est le seul choix réaliste.
API 2Slides — Fonctionnalité complète
Endpoints
| Endpoint | Méthode | Description |
|---|---|---|
/api/v1/slides/generate | POST | Générer des slides depuis du texte |
/api/v1/slides/create-like-this | POST | Générer avec une référence de design |
/api/v1/slides/create-pdf-slides | POST | Convertir des fichiers en slides |
/api/v1/slides/generate-narration | POST | Ajouter une narration vocale IA |
/api/v1/slides/download-slides-pages-voices | POST | Télécharger avec audio |
/api/v1/jobs/{id} | GET | Statut du job asynchrone |
/api/v1/themes/search | GET | Rechercher dans plus de 1.500 templates |
/api/mcp | JSON-RPC 2.0 | Endpoint MCP pour agents IA |
Démarrage rapide
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" }'
Tarifs
- À crédits, pas de frais par appel
- ~1 crédit par page de slide
- 100-200 crédits par image IA (selon la résolution)
- Packs de 5 $ (2.000 crédits) à 80 $ (40.000 crédits, ~20% de remise volume)
- Abonnement Pro: 12,50 $/mois pour 10.000 crédits
Limites de débit
- 60 requêtes par minute par clé API
- Mode asynchrone () recommandé en production
mode: "async"
API SlideSpeak — Limitée
Disponible
- Conversion PDF/DOCX → slides
- Génération IA basique
- Serveur MCP pour agents IA (communautaire)
Limitations
- Moins de modes de génération que 2Slides
- Pas de clonage de style (pas d'équivalent à )
create-like-this - Pas de narration vocale ni de vidéo via l'API
- Documentation moins complète; certains endpoints réservés aux partenaires
Tarifs
- 29 $/mois Premium (50 crédits)
- 34 $/mois Premium Plus (usage équitable « illimité »)
API Canva — Catégorie différente
L'API Canva Connect est puissante mais résout un problème différent.
- Cible: manipulation programmatique de design, pas génération IA
- Cas d'usage: remplir des templates Canva avec des données de manière programmatique
- Limitation: vous remplissez des templates, vous ne générez pas de nouvelles présentations à partir de prompts. Les composants « IA » de Canva (Magic Design, Magic Write) NE SONT PAS exposés dans l'API publique au Q2 2026
Si votre cas est « remplir un template Canva par programme », Canva est fait pour ça. Si c'est « à partir de ce prompt, renvoyer un slide deck terminé », Canva est le mauvais outil.
Choisir la bonne API (matrice de décision)
| Besoin | Meilleur choix | Pourquoi |
|---|---|---|
| Génération IA complète, service géré | 2Slides | Plus d'endpoints, formats, langues |
| Auto-hébergé, open source | Presenton | Apache 2.0, code source complet |
| PDF vers slides uniquement | 2Slides ou SlideSpeak | Tous deux supportent l'entrée de fichiers |
| Intégration agent IA (MCP) | 2Slides | MCP complet avec slides_generatethemes_searchjobs_get |
| Design basé sur templates | Canva Connect | Système de templates riche + brand kits |
| Budget < 5 $/mois | 2Slides | Packs à partir de 5 $; SlideSpeak à partir de 29 $/mois |
| Narration vocale + export MP4 | 2Slides | Seule API du marché avec H.264 + voix IA multi-locuteur |
Exemples d'intégration
Node.js / TypeScript
// 2slides-generate.ts // Génération asynchrone avec polling. Pattern prêt pour la production. // pnpm add ofetch (ou utilisez fetch directement avec Node 18+) 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. Démarrer le job (mode asynchrone) 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. Polling jusqu'à complétion (max 5 minutes) 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('Délai dépassé en attendant la génération') } // Utilisation: const result = await generateDeck({ topic: 'Revue des ventes Q1 2026 pour le comité exécutif', resolution: '2K', }) console.log('Téléchargement:', result.downloadUrl)
Python
# 2slides_generate.py # Génération asynchrone avec polling. Même pattern que l'exemple 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 = "fr", 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("Délai dépassé en attendant la génération") if __name__ == "__main__": result = generate_deck( topic="Revue des ventes Q1 2026 pour le comité exécutif", resolution="2K", ) print("Téléchargement:", result["downloadUrl"])
cURL / Shell
#!/usr/bin/env bash # 2slides-generate.sh — mode synchrone pour le prototypage rapide. # Le mode asynchrone est préféré en production (voir Node/Python ci-dessus). set -euo pipefail API_KEY="${TWOSLIDES_API_KEY:?Définissez TWOSLIDES_API_KEY d'abord}" 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": "fr" } JSON
Appel via MCP (pour agents IA)
Si vous appelez 2Slides depuis Claude Desktop, Cursor ou tout agent compatible MCP, vous n'écrivez pas de code HTTP. Vous configurez le serveur MCP une fois et l'agent appelle l'outil nativement:
{ "mcpServers": { "2slides": { "command": "npx", "args": ["2slides-mcp"], "env": { "API_KEY": "sk-2slides-xxx" } } } }
Demandez ensuite à l'agent: « Génère un pitch deck de 12 slides pour une startup fintech sur les paiements embarqués, en français, résolution 2K. » L'agent appelle
slides_generatePatterns de production
Pattern 1 — Webhook callback (au lieu du polling)
2Slides supporte un paramètre
webhookUrl/slides/generatecurl -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://votre-app.fr/api/2slides-callback" }'
Pattern 2 — Recherche de thème avant génération
Pour une sortie cohérente avec votre marque, cherchez la bibliothèque de thèmes et fixez un
themeId# Trouver un thème correspondant à "consulting" curl -sS "https://2slides.com/api/v1/themes/search?q=consulting&limit=5" \ -H "Authorization: Bearer sk-2slides-xxx" | jq '.themes[].id' # Utiliser l'id retourné dans generate()
Pattern 3 — Clonage de style depuis une référence de marque
Si vous avez un template de marque sous forme d'image, utilisez
create-like-thisgeneratecurl -X POST https://2slides.com/api/v1/slides/create-like-this \ -H "Authorization: Bearer sk-2slides-xxx" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Rapport des ventes Q1 2026", "referenceImageUrl": "https://votre-cdn.fr/slide-marque.png", "page": 12 }'
Cela renvoie de manière synchrone un PDF + URL du workspace. Aucune autre API de présentation IA ne propose ce pattern de clonage de style au Q2 2026.
Foire aux questions
Puis-je utiliser l'API 2Slides dans des produits commerciaux?
Oui, sans restriction. Construisez des produits SaaS, outils internes, fonctionnalités white-label ou features client sur l'API. Les limites standard (60 RPM) s'appliquent; contactez les ventes pour des limites plus élevées.
Y a-t-il un sandbox ou un environnement de test?
Pas de sandbox séparé. Utilisez votre clé API réelle avec de petits packs de crédits (5 $/2.000 crédits) pour tester. Tous les endpoints acceptent un paramètre
dryRun: trueQuelle est la latence du mode synchrone?
Typiquement 15-45 secondes pour une présentation de 10 slides en 2K, selon la complexité des images IA et le template choisi. Pour une latence déterministe en production, utilisez
mode: "async"webhookUrlComment le serveur MCP de 2Slides se compare-t-il à celui de SlideSpeak?
2Slides expose trois outils —
slides_generatethemes_searchjobs_getPuis-je auto-héberger au lieu d'utiliser une API gérée?
Pour 2Slides spécifiquement, non — c'est un service géré. Si l'auto-hébergement est obligatoire, Presenton (Apache 2.0) est l'alternative open-source la plus crédible en 2026.
Et les limites de débit en cas de trafic en rafale?
Par défaut 60 RPM par clé API. Pour les charges en rafale (par exemple un bot Slack qui déclenche 200 générations parallèles aux heures de bureau), le pattern recommandé est: mode asynchrone + une queue (BullMQ, SQS, etc.) de votre côté. Contactez les ventes si vous avez une charge production prévisible élevée.
Lectures connexes
- Meilleure API de présentation IA pour développeurs (guide complet) — hub de définitions: ce qu'est une API de présentation, pourquoi en utiliser une, modèles tarifaires, MCP
- Comment utiliser Claude pour créer des présentations (avec MCP) — walkthrough de génération piloté par agent
- Outils de présentation IA pour entreprise comparés — SSO / SOC 2 / audit logs
Commencez à construire — créez votre clé API 2Slides et livrez votre premier deck en moins de 30 secondes.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free