


AI Sunum API Karşılaştırması ve Kod Örnekleri: 2Slides vs SlideSpeak vs Canva (2026)
API'ye ihtiyacı olduğunu zaten bilen geliştiriciler için. Bu makale kodla birlikte baş başa karşılaştırmadır. Hâlâ AI sunum API'sinin ne olduğunu veya ihtiyacınız olup olmadığını araştırıyorsanız, tam geliştirici kılavuzumuzla başlayın — tanımları, fiyatlandırmayı, MCP'yi ve mimari desenleri kapsar. Bu sayfa o kılavuzun bittiği yerden devam eder.
Sunumları programatik olarak üretmeniz gerekiyorsa — SaaS entegrasyonları, otomatik raporlama veya AI ajan iş akışları için — bir sunum API'sine ihtiyacınız var. Şaşırtıcı şekilde çok az AI sunum aracı bunu sunuyor. Karşılaştırma ve kod aşağıda.
Genel görünüm (Mayıs 2026'da doğrulandı)
| Araç | API mevcut | API tipi | Dokümantasyon | MCP desteği | Native PPTX |
|---|---|---|---|---|---|
| 2Slides | ✅ Tam REST API | REST + JSON-RPC MCP | ✅ Kapsamlı | ✅ | ✅ |
| SlideSpeak | ✅ Sınırlı | REST + MCP | Kısmi | ✅ | Kısmi |
| Canva | ✅ (Canva Connect) | REST | ✅ | ❌ | Şablonlar üzerinden |
| Gamma | ❌ | — | — | ❌ | ❌ |
| Beautiful.ai | ❌ | — | — | ❌ | ❌ |
| SlidesAI | ❌ (yalnızca eklenti) | — | — | ❌ | Yalnızca Google Slides |
| Presenton | ✅ Open-source self-host | REST | ✅ | ❌ | ✅ |
Ana sonuç: yönetilen hizmet olarak AI sunum üretimi için 2Slides en eksiksiz seçenek. SlideSpeak kısmi API erişimi sunuyor. Canva API farklı bir amaca hizmet ediyor (tasarım manipülasyonu, AI üretimi değil). Geriye kalanlar ise herkese açık API'ye sahip değil. Self-hosted bir alternatif arıyorsanız Presenton (Apache 2.0) tek gerçekçi seçenek.
2Slides API — tam özellikli
Endpointler
| Endpoint | Yöntem | Açıklama |
|---|---|---|
/api/v1/slides/generate | POST | Metinden slayt üret |
/api/v1/slides/create-like-this | POST | Referans görüntüyle üret |
/api/v1/slides/create-pdf-slides | POST | Dosyaları slayda dönüştür |
/api/v1/slides/generate-narration | POST | AI ses anlatımı ekle |
/api/v1/slides/download-slides-pages-voices | POST | Sesli indir |
/api/v1/jobs/{id} | GET | Asenkron görev durumu |
/api/v1/themes/search | GET | 1.500+ şablon kütüphanesinde ara |
/api/mcp | JSON-RPC 2.0 | AI ajanları için MCP endpoint'i |
Hızlı başlangıç
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" }'
Fiyatlandırma
- Kredi tabanlı, çağrı başına ücret yok
- Slayt sayfası başına ~1 kredi
- AI görüntü başına 100-200 kredi (çözünürlüğe göre)
- Paketler: 5 $ (2.000 kredi) ile 80 $ (40.000 kredi, %20'ye varan hacim indirimi) arası
- Pro abonelik: ayda 12,50 $ karşılığında 10.000 kredi
Hız limitleri
- API anahtarı başına dakikada 60 istek
- Üretimde asenkron mod () önerilir
mode: "async"
SlideSpeak API — sınırlı
Mevcut olan
- PDF/DOCX → slayt dönüştürme
- Temel AI üretimi
- AI ajanları için MCP sunucusu (topluluk)
Sınırlamalar
- 2Slides'a göre daha az üretim modu
- Tasarım stili klonlama yok (muadili yok)
create-like-this - API üzerinden ses anlatımı ve video yok
- Daha az kapsamlı dokümantasyon; bazı endpointler yalnızca partner erişimine açık
Fiyatlandırma
- Ayda 29 $ Premium (50 kredi)
- Ayda 34 $ Premium Plus (fair-use "sınırsız")
Canva API — farklı kategori
Canva Connect API güçlü ama farklı bir sorunu çözüyor.
- Odak: programatik tasarım manipülasyonu, üretici AI değil
- Kullanım: Canva şablonlarını verilerle programatik doldurmak
- Sınırlama: şablon dolduruyorsunuz, prompttan yeni sunumlar üretmiyorsunuz. Canva'nın "AI" bölümleri (Magic Design, Magic Write) Q2 2026 itibariyle herkese açık API'de açıkta DEĞİL
Kullanım senaryonuz "Canva şablonunu kodla doldurmak" ise Canva tam bunun için. "Bu prompt'tan tamamlanmış slide deck dön" ise Canva yanlış araç.
Doğru API'yi seçmek (karar matrisi)
| İhtiyaç | En iyi seçim | Neden |
|---|---|---|
| Tam AI üretimi, yönetilen servis | 2Slides | En çok endpoint, format, dil |
| Self-hosted, açık kaynak | Presenton | Apache 2.0, kaynak kodu tam |
| Yalnızca PDF'ten slayt | 2Slides veya SlideSpeak | Her ikisi de dosya girdisini destekler |
| AI ajan entegrasyonu (MCP) | 2Slides | slides_generatethemes_searchjobs_get |
| Şablon tabanlı tasarım doldurma | Canva Connect | Zengin şablon sistemi + brand kits |
| Aylık 5 $ altı bütçe | 2Slides | Kredi paketleri 5 $'dan; SlideSpeak ayda 29 $'dan |
| Ses anlatımı + MP4 dışa aktarma | 2Slides | Pazarda H.264 + çoklu konuşmacı AI sesi sunan tek API |
Entegrasyon örnekleri
Node.js / TypeScript
// 2slides-generate.ts // Asenkron üretim + polling. Üretime hazır desen. // pnpm add ofetch (veya Node 18+'da doğrudan 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. Görevi başlat (asenkron mod) 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. Tamamlanana kadar polling (maks. 5 dakika) 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('Üretim için bekleme zaman aşımı') } // Kullanım: const result = await generateDeck({ topic: 'Yönetim ekibi için Q1 2026 satış incelemesi', resolution: '2K', }) console.log('İndirme:', result.downloadUrl)
Python
# 2slides_generate.py # Asenkron üretim + polling. Node örneğiyle aynı desen. # 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 = "tr", 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("Üretim için bekleme zaman aşımı") if __name__ == "__main__": result = generate_deck( topic="Yönetim ekibi için Q1 2026 satış incelemesi", resolution="2K", ) print("İndirme:", result["downloadUrl"])
cURL / Shell
#!/usr/bin/env bash # 2slides-generate.sh — hızlı prototip için senkron mod. # Üretimde asenkron mod tercih edilir (yukarıdaki Node/Python'a bakın). set -euo pipefail API_KEY="${TWOSLIDES_API_KEY:?Önce TWOSLIDES_API_KEY ayarlayın}" 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": "tr" } JSON
MCP üzerinden çağrı (AI ajanları için)
2Slides'ı Claude Desktop, Cursor veya MCP uyumlu herhangi bir ajandan çağırıyorsanız hiç HTTP kodu yazmazsınız. MCP sunucusunu bir kez yapılandırırsınız ve ajan aracı doğrudan native olarak çağırır:
{ "mcpServers": { "2slides": { "command": "npx", "args": ["2slides-mcp"], "env": { "API_KEY": "sk-2slides-xxx" } } } }
Sonra ajana şunu söyleyin: "Gömülü ödemeler hakkında bir fintech startupı için 12 slaytlık pitch deck oluştur, Türkçe, 2K çözünürlük." Ajan
slides_generateÜretim desenleri
Desen 1 — Webhook callback (polling yerine)
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" }'
Desen 2 — Üretmeden önce tema arama
Marka tutarlı çıktı için tema kütüphanesinde arama yapın ve bir
themeId# "consulting" eşleşen tema bulma curl -sS "https://2slides.com/api/v1/themes/search?q=consulting&limit=5" \ -H "Authorization: Bearer sk-2slides-xxx" | jq '.themes[].id' # Dönen id'yi generate() içinde kullanın
Desen 3 — Marka referansından stil klonlama
Marka şablonu görüntü olarak elinizdeyse
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 satış raporu", "referenceImageUrl": "https://your-cdn.com/brand-slide.png", "page": 12 }'
Senkron olarak bir PDF + workspace URL döner. Q2 2026 itibariyle başka hiçbir AI sunum API'si bu stil klonlama desenini sunmaz.
Sıkça sorulan sorular
2Slides API'sini ticari ürünlerde kullanabilir miyim?
Evet, kısıtlama yok. SaaS ürünleri, dahili araçlar, white-label özellikler veya müşteri yüzü olan özellikleri API üzerine kurabilirsiniz. Standart hız limiti (60 RPM) geçerlidir; daha yüksek limitler için satış ekibiyle iletişime geçin.
Sandbox veya test ortamı var mı?
Ayrı sandbox yok. Test için gerçek API anahtarınızı küçük kredi paketleriyle (5 $ / 2.000 kredi) kullanın. Tüm endpointler
dryRun: trueSenkron mod gecikmesi nedir?
2K'de 10 slaytlık bir sunum için tipik olarak 15-45 saniye, AI görüntü karmaşıklığına ve şablona göre değişir. Üretimde deterministik gecikme için
mode: "async"webhookUrl2Slides MCP sunucusu SlideSpeak ile nasıl karşılaştırılır?
2Slides üç araç sunar —
slides_generatethemes_searchjobs_getYönetilen API yerine self-host yapabilir miyim?
2Slides özelinde hayır — bu yönetilen bir hizmet. Self-hosting şartsa, Presenton (Apache 2.0) 2026'da en güvenilir açık kaynak alternatif.
Burst trafikte hız limitleri nasıl?
Varsayılan API anahtarı başına 60 RPM. Burst yoğun iş yükleri için (ör. iş saatlerinde 200 paralel üretim tetikleyen bir Slack botu) önerilen desen: asenkron mod + sizin tarafınızda bir kuyruk (BullMQ, SQS vb.). Öngörülebilir yüksek üretim yükü varsa hız limitini artırmak için satışa başvurun.
İlgili okumalar
- Geliştiriciler için en iyi AI sunum API'si (tam kılavuz) — tanım hub'ı: AI sunum API'si nedir, neden kullanılır, fiyatlandırma modelleri, MCP genel bakış
- Claude ile sunum oluşturma (MCP'li) — ajan tabanlı üretim adım adım
- Kurumsal AI sunum araçları karşılaştırması — SSO / SOC 2 / denetim günlükleri
Geliştirmeye başlayın — 2Slides API anahtarınızı oluşturun ve ilk deck'inizi 30 saniyeden kısa sürede gönderin.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free