2Slides Logo
مقارنة واجهات برمجة العروض التقديمية بالذكاء الاصطناعي مع أمثلة برمجية: 2Slides مقابل SlideSpeak مقابل Canva (2026)
2Slides Team
10 min read

غلاف مقارنة API العروض التقديمية بالذكاء الاصطناعي مع أمثلة برمجية

مقارنة واجهات API العروض التقديمية بالذكاء الاصطناعي مع أمثلة برمجية: 2Slides مقابل SlideSpeak مقابل Canva (2026)

للمطورين الذين يعرفون أنهم بحاجة إلى API. هذه المقالة مقارنة مباشرة مع كود. إذا كنت لا تزال تقرر ما هو API العروض التقديمية بالذكاء الاصطناعي أو هل تحتاجه، ابدأ بـ الدليل الكامل للمطورين — يغطي التعريفات والأسعار وMCP وأنماط البنية. هذه الصفحة تكمل من حيث ينتهي ذلك الدليل.

إذا كنت بحاجة إلى إنشاء عروض تقديمية برمجياً — لتكاملات SaaS، أو التقارير الآلية، أو سير عمل وكلاء الذكاء الاصطناعي — فأنت تحتاج إلى API للعروض التقديمية. من المدهش أن قلة من أدوات العروض التقديمية بالذكاء الاصطناعي تقدم واحداً. المقارنة والكود أدناه.

الخريطة (تم التحقق في مايو 2026)

الأداةAPI متوفرنوع APIالتوثيقدعم MCPPPTX أصلي
2Slides✅ REST API كاملREST + JSON-RPC MCP✅ شامل
SlideSpeak✅ محدودREST + MCPجزئيجزئي
Canva✅ (Canva Connect)RESTعبر القوالب
Gamma
Beautiful.ai
SlidesAI❌ (إضافة فقط)Google Slides فقط
Presenton✅ مفتوح المصدر للاستضافة الذاتيةREST

الخلاصة: كخدمة مُدارة لإنشاء العروض التقديمية بالذكاء الاصطناعي، 2Slides هو الخيار الأكثر اكتمالاً. SlideSpeak يقدم وصولاً جزئياً عبر API. Canva API يخدم غرضاً مختلفاً (التلاعب بالتصميم، وليس الإنشاء التوليدي). البقية ليس لديهم API عام. للاستضافة الذاتية، Presenton (Apache 2.0) هو البديل الواقعي الوحيد.


API 2Slides — وظائف كاملة

نقاط النهاية

نقطة النهايةالطريقةالوصف
/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إضافة سرد صوتي بالذكاء الاصطناعي
/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نقطة نهاية 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 رصيد لكل صفحة شريحة
  • 100-200 رصيد لكل صورة AI (حسب الدقة)
  • باقات: من 5$ (2,000 رصيد) إلى 80$ (40,000 رصيد، خصم حجم يصل إلى 20%)
  • اشتراك Pro: 12.50$/شهر مقابل 10,000 رصيد

حدود المعدل

  • 60 طلب في الدقيقة لكل مفتاح API
  • يوصى بالوضع غير المتزامن (
    mode: "async"
    ) للإنتاج

API SlideSpeak — محدود

المتاح

  • تحويل PDF/DOCX → شرائح
  • إنشاء AI أساسي
  • خادم MCP لوكلاء الذكاء الاصطناعي (مجتمعي)

القيود

  • أوضاع إنشاء أقل من 2Slides
  • لا يوجد استنساخ للنمط (لا يوجد ما يعادل
    create-like-this
    )
  • لا سرد صوتي ولا فيديو عبر API
  • توثيق أقل اكتمالاً؛ بعض نقاط النهاية للشركاء فقط

الأسعار

  • 29$/شهر Premium (50 رصيد)
  • 34$/شهر Premium Plus (استخدام عادل "غير محدود")

API Canva — فئة مختلفة

Canva Connect API قوي لكنه يحل مشكلة مختلفة.

  • التركيز: التلاعب البرمجي بالتصميم، وليس الإنشاء التوليدي
  • حالة الاستخدام: ملء قوالب Canva بالبيانات برمجياً
  • القيد: أنت تملأ قوالب، لا تنشئ عروضاً تقديمية جديدة من برومبت. أجزاء "AI" في Canva (Magic Design، Magic Write) ليست مكشوفة في API العام حتى Q2 2026

إذا كانت حالتك "ملء قالب Canva برمجياً"، فقد بُني Canva لذلك. إذا كانت "إعطاء برومبت واسترجاع شرائح كاملة"، فـ Canva هو الأداة الخاطئة.


اختيار API المناسب (مصفوفة قرار)

الحاجةالخيار الأمثلالسبب
إنشاء AI كامل، خدمة مُدارة2Slidesأكثر نقاط نهاية وصيغ ولغات
استضافة ذاتية، مفتوح المصدرPresentonApache 2.0، شفرة مصدر كاملة
PDF إلى شرائح فقط2Slides أو SlideSpeakكلاهما يدعم إدخال الملفات
تكامل مع وكلاء AI (MCP)2SlidesMCP كامل مع
slides_generate
/
themes_search
/
jobs_get
ملء التصميم بالقوالبCanva Connectنظام قوالب غني + brand kits
ميزانية أقل من 5$/شهر2Slidesحزم رصيد من 5$؛ SlideSpeak من 29$/شهر
السرد الصوتي + تصدير MP42SlidesAPI الوحيد في السوق مع H.264 + صوت AI متعدد المتحدثين

أمثلة التكامل

Node.js / TypeScript

// 2slides-generate.ts // إنشاء غير متزامن مع polling. نمط جاهز للإنتاج. // pnpm add ofetch (أو استخدم fetch مباشرة في 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. بدء المهمة (الوضع غير المتزامن) 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 حتى الإكمال (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: 'مراجعة مبيعات Q1 2026 للفريق التنفيذي', resolution: '2K', }) console.log('التنزيل:', result.downloadUrl)

Python

# 2slides_generate.py # إنشاء غير متزامن مع polling. نفس نمط مثال 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 = "ar", 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="مراجعة مبيعات Q1 2026 للفريق التنفيذي", 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": "ar" } JSON

الاستدعاء عبر MCP (لوكلاء AI)

إذا كنت تستدعي 2Slides من Claude Desktop أو Cursor أو أي وكيل متوافق مع MCP، فلا تكتب كود HTTP. تقوم بإعداد خادم MCP مرة واحدة، ويستدعي الوكيل الأداة بشكل أصلي:

{ "mcpServers": { "2slides": { "command": "npx", "args": ["2slides-mcp"], "env": { "API_KEY": "sk-2slides-xxx" } } } }

ثم اطلب من الوكيل: "أنشئ pitch deck من 12 شريحة لشركة فينتك ناشئة عن المدفوعات المضمنة، باللغة العربية، دقة 2K." يستدعي الوكيل

slides_generate
تلقائياً. مواصفات الأدوات الكاملة في مستودع MCP المفتوح المصدر.


أنماط الإنتاج

النمط 1 — Webhook callback (بدلاً من polling)

يدعم 2Slides معامل

webhookUrl
في
/slides/generate
. حدد نقطة النهاية الخاصة بك وتجاوز حلقة polling تماماً:

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?q=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": "تقرير المبيعات Q1 2026", "referenceImageUrl": "https://your-cdn.com/brand-slide.png", "page": 12 }'

يُرجع PDF + URL workspace بشكل متزامن. حتى Q2 2026، لا يوجد API آخر للعروض التقديمية بالذكاء الاصطناعي يقدم نمط استنساخ النمط هذا.


الأسئلة الشائعة

هل يمكنني استخدام API 2Slides في منتجات تجارية؟

نعم، بدون قيود. ابنِ منتجات SaaS، أدوات داخلية، ميزات white-label، أو ميزات تواجه العميل فوق API. ينطبق الحد القياسي للمعدل (60 RPM)؛ تواصل مع المبيعات لحدود أعلى.

هل توجد بيئة sandbox أو اختبار؟

لا توجد sandbox منفصلة. استخدم مفتاح API الفعلي مع حزم رصيد صغيرة (5$/2,000 رصيد) للاختبار. تقبل جميع نقاط النهاية معامل

dryRun: true
يتحقق من بنية الطلب دون استهلاك رصيد.

ما هو زمن الاستجابة في الوضع المتزامن؟

عادة 15-45 ثانية لعرض من 10 شرائح بدقة 2K، حسب تعقيد صور AI والقالب. للحصول على زمن استجابة حتمي في الإنتاج، استخدم

mode: "async"
مع polling (كل 3-5 ثوان) أو callbacks
webhookUrl
.

كيف يقارن خادم MCP الخاص بـ 2Slides مع SlideSpeak؟

يكشف 2Slides ثلاث أدوات —

slides_generate
،
themes_search
،
jobs_get
— تغطي الإنشاء واكتشاف المظاهر والحالة غير المتزامنة. MCP الخاص بـ SlideSpeak يكشف سطحاً أصغر يركز على تحويل الملفات. لمعظم سير عمل وكلاء الإنشاء (Claude Desktop، Cursor، وكلاء LangChain المخصصون)، 2Slides أكثر قدرة.

هل يمكنني الاستضافة الذاتية بدلاً من API مُدار؟

بالنسبة لـ 2Slides تحديداً، لا — إنه خدمة مُدارة. إذا كانت الاستضافة الذاتية متطلباً صارماً، Presenton (Apache 2.0) هو البديل المفتوح المصدر الأكثر مصداقية في 2026.

ماذا عن حدود المعدل لحركة المرور المفاجئة؟

الافتراضي 60 RPM لكل مفتاح API. لأحمال العمل المكثفة (مثل بوت Slack يطلق 200 إنشاء متوازٍ في ساعات العمل)، النمط الموصى به: الوضع غير المتزامن + قائمة انتظار (BullMQ، SQS، إلخ) من جانبك. تواصل مع المبيعات لحدود معدل مرتفعة إذا كان لديك حمل إنتاج مرتفع متوقع.


قراءات ذات صلة


ابدأ البناء — أنشئ مفتاح API الخاص بك من 2Slides وقم بتسليم أول عرض تقديمي في أقل من 30 ثانية.

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free