Felo API PlatformFelo API Platform

Felo APIs

PPT Task API

PPT بنانے کے کام شروع کریں، تھیمز کی فہرست دیکھیں، اور مشترکہ کام endpoints معلوم کریں۔

POST/v2/ppts

تصدیق

Bearer API key

مواد کی قسم

application/json

ریٹ نوٹس

endpoint کے مخصوص حدود لاگو ہو سکتے ہیں۔

PPT Task API غیر ہم وقت PPT جنریشن کی صلاحیتیں فراہم کرتا ہے۔ آپ ٹاسک بنا سکتے ہیں اور پھر task_id سے ٹاسک کی حالت پول کر سکتے ہیں۔ آپ دستیاب PPT تھیمز بھی براؤز کر سکتے ہیں اور ٹاسک بناتے وقت اُنہیں لاگو کر سکتے ہیں۔

یہ ایک async API ہے۔ مشترکہ جمع کریں، پول کریں اور حاصل کریں طرز کے لیے async ٹاسکس دیکھیں۔

تصدیق

تمام درخواستوں کے لیے Authorization ہیڈر میں API کلید درکار ہے:

Authorization: Bearer YOUR_API_KEY

AI ایجنٹس کے ساتھ استعمال

ایجنٹ سے سلائیڈز بنانے کے لیے Skills کے کسی مقررہ ذیلی سیٹ کے بجائے مکمل felo-ai پیکج انسٹال کریں۔ اِس کا انسٹالر SKILL.md رکھنے والی ہر پیکج ڈائریکٹری کو متحرک طور پر دریافت کرتا ہے، بشمول PPT Skill اور مستقبل کے اضافے۔ دریافت شدہ تمام Skills کو اپنے ایجنٹ کی مقامی ڈائریکٹری میں انسٹال کریں: Codex ~/.codex/skills، Claude Code ~/.claude/skills، OpenClaw ~/.agents/skills یا Hermes Agent ~/.hermes/skills۔ پلیٹ فارم کے مخصوص API کلید کنفیگریشن اور تصدیق کے لیے AI ایجنٹ کی دستی سیٹ اپ گائیڈ کی پیروی کریں۔

1. List PPT Themes (تھیمز کی فہرست)

دستیاب PPT تھیمز کو pagination، کلیدی لفظ کی تلاش، زبان اور قسم کی فلٹرنگ کے ساتھ استفسار کریں۔

endpoint

GET https://openapi.felo.ai/v2/ppt-themes

Query Parameters

پیرامیٹرقسملازمیتفصیل
langstringنہیںمقامی مواد کے لیے زبان کا کوڈ (مثلاً en، zh-Hans)۔ ڈیفالٹ: en
typestringنہیںتھیم کی قسم سے فلٹر کریں (مثلاً default، custom)
keywordstringنہیںتلاش کا کلیدی لفظ، تھیم کے عنوانات سے میل کھاتا ہے
pageintegerنہیںصفحہ نمبر، 1 سے شروع۔ ڈیفالٹ: 1
sizeintegerنہیںصفحے کا سائز، زیادہ سے زیادہ 100۔ ڈیفالٹ: 20

مثال

curl -X GET 'https://openapi.felo.ai/v2/ppt-themes?lang=en&page=1&size=10' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'

کامیاب جواب (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "total": 8,
    "page": 1,
    "size": 10,
    "items": [
      {
        "id": "43122897-0d3c-4c9e-ae19-20527ad36c04",
        "title": "Inspiration Themes",
        "subtitle": "AI-tailored visual solutions",
        "description": "Style and layout, both crafted by AI from your content in real time"
      }
    ]
  }
}

تھیم جواب کے فیلڈز

فیلڈقسمتفصیل
totalintegerفلٹر سے میل کھانے والے تھیمز کی کل تعداد
pageintegerموجودہ صفحہ نمبر
sizeintegerصفحے کا سائز
itemsarrayتھیم آبجیکٹس کی فہرست
items[].idstringتھیم ID، PPT بناتے وقت اِسے ai_theme_id کے طور پر استعمال کریں
items[].titlestringتھیم کا عنوان (مقامی)
items[].subtitlestringتھیم کا ذیلی عنوان (مقامی)
items[].descriptionstringتھیم کی تفصیل (مقامی)

2. PPT ٹاسک بنائیں

endpoint

POST https://openapi.felo.ai/v2/ppts

درخواست ہیڈرز

ہیڈرلازمیتفصیل
Authorizationہاںآپ کی API کلید Bearer YOUR_API_KEY کی شکل میں
Content-Typeہاںapplication/json یا multipart/form-data

درخواست باڈی

پیرامیٹرقسملازمیتفصیل
querystringہاںPPT جنریشن کی درخواست کا پرامپٹ
livedoc_short_idstringنہیںPPT سیشن سے منسلک کرنے کے لیے موجودہ LiveDoc شارٹ ID۔ اگر نہ دیا جائے تو خودکار طور پر نیا LiveDoc بنتا ہے۔
resource_idsstrings کا ایرےنہیںPPT جنریشن کے لیے سیاق و سباق کے طور پر استعمال ہونے والے LiveDoc ریسورس IDs کی فہرست
ppt_configobjectنہیںPPT کنفیگریشن کے آپشنز
ppt_config.ai_theme_idstringنہیںList PPT Themes endpoint سے تھیم ID

مثال

curl -X POST 'https://openapi.felo.ai/v2/ppts' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "query": "Felo, 2 pages",
    "ppt_config": {
      "ai_theme_id": "02968979-a69f-42c4-b136-de02c40ab2d7"
    }
  }'

اپ لوڈ شدہ فائل سے بنائیں

ایک ہی درخواست میں ایک فائل اپ لوڈ کرنے اور PPT ٹاسک بنانے کے لیے multipart/form-data استعمال کریں۔ پلیٹ فارم پہلے فائل کو LiveDoc ریسورس کے طور پر اپ لوڈ کرتا ہے، پھر اُس کا ریسورس ID PPT ٹاسک کو دیتا ہے۔

حصہقسملازمیتفصیل
querystringہاںPPT جنریشن کی درخواست کا پرامپٹ
filefileہاںPPT سیاق و سباق کے طور پر استعمال ہونے والی ماخذ فائل
stream_protocolstringنہیںاسٹریمنگ پروٹوکول؛ ڈیفالٹ message_center_v1
livedoc_short_idstringنہیںفائل وصول کرنے کے لیے موجودہ LiveDoc۔ نہ دینے پر نیا LiveDoc بنتا ہے۔
ppt_configJSONنہیںPPT کنفیگریشن، JSON درخواست باڈی کی اُسی ساخت کے ساتھ۔ یہ حصہ application/json کے طور پر بھیجیں۔
curl -X POST 'https://openapi.felo.ai/v2/ppts' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'query=Create a 10-page presentation based on this report' \
  -F 'ppt_config={"ai_theme_id":"02968979-a69f-42c4-b136-de02c40ab2d7"};type=application/json' \
  -F '[email protected]'

جواب وہی schema استعمال کرتا ہے جو JSON درخواست استعمال کرتی ہے۔ واپس شدہ livedoc_short_id اُس LiveDoc کی نشاندہی کرتا ہے جس میں اپ لوڈ شدہ ریسورس موجود ہے۔

کامیاب جواب (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3",
    "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr",
    "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
  }
}

3. ٹاسک کی حالت معلوم کریں

endpoint

GET https://openapi.felo.ai/v2/tasks/{task_id}/status

مثال

curl -X GET 'https://openapi.felo.ai/v2/tasks/019cad6d-e874-55ef-d577-686344b5a7e9/status' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'

کامیاب جواب (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "status": "RUNNING"
  }
}

4. ٹاسک کی تاریخی معلومات معلوم کریں

endpoint

GET https://openapi.felo.ai/v2/tasks/{task_id}/historical

مثال

curl -X GET 'https://openapi.felo.ai/v2/tasks/019cb17e-9e23-3d40-4447-48a651249460/historical' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'

RUNNING جواب

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019cb17e-9e23-3d40-4447-48a651249460",
    "task_status": "RUNNING",
    "ppt_biz_id": "oM8A9iJHg8dT4ZKgHThQTx",
    "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx"
  }
}

COMPLETED جواب

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019cb17e-9e23-3d40-4447-48a651249460",
    "task_status": "COMPLETED",
    "ppt_biz_id": "oM8A9iJHg8dT4ZKgHThQTx",
    "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx",
    "live_doc_short_id": "oM8A9iJHg8dT4ZKgHThQTx",
    "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx"
  }
}

COMPLETED جواب (AI_PAGE)

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019d7a4d-6ab5-a96d-0f98-43ca434ab621",
    "task_status": "COMPLETED",
    "ppt_biz_id": "9qiLTmT77fA3aVurrMHvRJ",
    "ppt_url": "https://felo.ai/slides/9qiLTmT77fA3aVurrMHvRJ",
    "ai_page_html": "https://felo.ai/ai-page/9qiLTmT77fA3aVurrMHvRJ"
  }
}

FAILED / PENDING / EXPIRED / CANCELED جواب

{
  "status": "ok",
  "message": null,
  "data": {
    "task_id": "019cb17e-9e23-3d40-4447-48a651249460",
    "task_status": "FAILED",
    "ppt_biz_id": "oM8A9iJHg8dT4ZKgHThQTx",
    "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx",
    "error_message": "PPT generation failed",
    "live_doc_short_id": "oM8A9iJHg8dT4ZKgHThQTx",
    "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx"
  }
}

تاریخی جواب کے فیلڈز

فیلڈقسمتفصیل
task_idstringٹاسک ID
task_statusstringموجودہ ٹاسک حالت
ppt_biz_idstringPPT بزنس ID (بیک اینڈ thread_short_id سے میپ شدہ)
ppt_urlstringPPT URL، فارمیٹ: https://felo.ai/slides/{ppt_biz_id}
error_messagestringFAILED / PENDING / EXPIRED / CANCELED کے لیے موجود؛ جب ڈاؤن اسٹریم ایرر تفصیلات فراہم نہ کرے تو خالی سٹرنگ ""
ai_page_htmlstringاُس وقت موجود جب ٹاسک AI_PAGE موڈ میں چلے اور ڈاؤن اسٹریم تاریخی جواب HTML نتیجے کا URL واپس کرے
live_doc_short_idstringLiveDoc شارٹ ID۔ COMPLETED کے لیے یہ ڈاؤن اسٹریم live_doc_short_id سے آتا ہے؛ آخری ناکامی کی حالتوں کے لیے دستیاب ہونے پر واپس آتا ہے
live_doc_urlstringlive_doc_short_id کے مطابق LiveDoc URL

PPTX ایکسپورٹ کریں

PPT جنریشن ٹاسک COMPLETED تک پہنچنے کے بعد بنانے کے جواب سے ppt_business_id (یا تاریخی جواب سے ppt_biz_id) استعمال کرتے ہوئے async ایکسپورٹ جمع کرائیں:

curl -X POST 'https://openapi.felo.ai/v2/ppts/YOUR_PPT_BUSINESS_ID/export' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET https://openapi.felo.ai/v2/ppts/{ppt_business_id}/export کو اُسی Bearer API کلید کے ساتھ ہر 2–5 سیکنڈ میں پول کریں۔ API کلید کا مالک PPT کا مالک ہونا چاہیے۔ دونوں endpoints data.status واپس کرتے ہیں: NOT_STARTED، PROCESSING، COMPLETED یا FAILED۔ صرف COMPLETED میں download_url اور expires_at شامل ہوتے ہیں۔

دستخط شدہ ڈاؤن لوڈ URL جاری ہونے کے 30 منٹ بعد میعاد ختم ہو جاتا ہے۔ تازہ URL کے لیے GET endpoint دوبارہ کال کریں؛ اِس سے PPTX دوبارہ نہیں بنتا۔ POST application/json استعمال کرتا ہے اور {} قبول کرتا ہے۔ ایکسپورٹ پروسیس ہوتے وقت POST دہرانے سے دوسرا جاب شروع نہیں ہوتا؛ مکمل ہونے کے بعد کال کرنے سے PPTX دوبارہ بنتا ہے اور موجودہ PPT ایکسپورٹ کریڈٹ چارج لگتا ہے۔ ناکافی کریڈٹ پر HTTP 402 ملتا ہے۔ endpoint کے مخصوص ریٹ کی حدود لاگو ہو سکتی ہیں؛ HTTP 429 پر بعد میں دوبارہ کوشش کریں۔ ناکام ایکسپورٹ دوبارہ جمع کرائی جا سکتی ہے۔

{
  "status": "ok",
  "message": null,
  "data": {
    "status": "COMPLETED",
    "download_url": "https://example.com/presentation.pptx?signature=...",
    "expires_at": "2026-09-29T10:30:00Z"
  }
}

پولنگ کی تجویز

بنانے کے جواب سے task_id استعمال کریں اور حالت کے آخری مرحلے تک پہنچنے تک ہر 2-5 سیکنڈ میں حالت پول کریں۔

عام حالتوں کی مثالیں:

  • RUNNING: ٹاسک ابھی پروسیس ہو رہا ہے
  • COMPLETED: ٹاسک کامیابی سے مکمل ہو گیا
  • FAILED / PENDING / EXPIRED / CANCELED: ٹاسک error_message کے ساتھ آخری حالت تک پہنچ گیا؛ دستیاب ہونے پر live_doc_url بھی واپس آتا ہے

بیک اینڈ کی ترقی کے ساتھ نامعلوم اسٹیٹس ویلیوز ظاہر ہو سکتی ہیں؛ جب تک دستاویزات کچھ اور نہ کہیں، اُنہیں غیر آخری سمجھیں۔

ایرر کوڈز

کوڈHTTP اسٹیٹستفصیل
UNAUTHORIZED401API کلید غلط یا منسوخ ہے
PPT_TASK_CREATE_FAILED502ٹاسک بنانے کی ڈاؤن اسٹریم کال ناکام
PPT_TASK_QUERY_FAILED502ٹاسک حالت کے استفسار کی ڈاؤن اسٹریم کال ناکام