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 थीम भी ब्राउज़ कर सकते हैं और कार्य बनाते समय उन्हें लागू कर सकते हैं।

यह असिंक्रोनस API है। साझा सबमिट, पोल और परिणाम प्राप्त करने के पैटर्न के लिए Async Tasks देखें।

प्रमाणीकरण

सभी अनुरोधों के लिए Authorization हेडर में API Key ज़रूरी है:

Authorization: Bearer YOUR_API_KEY

AI Agent के साथ उपयोग करें

Agent से स्लाइड बनाने के लिए Skills के स्थिर उपसमुच्चय के बजाय पूरा felo-ai पैकेज इंस्टॉल करें। इसका इंस्टॉलर SKILL.md वाली हर पैकेज डायरेक्टरी को गतिशील रूप से खोजता है, जिसमें PPT Skill और भविष्य में जुड़ने वाली चीज़ें शामिल हैं। सभी खोजी गई Skills को अपने Agent की मूल डायरेक्टरी में इंस्टॉल करें: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills या Hermes Agent ~/.hermes/skills। प्लेटफ़ॉर्म-विशिष्ट API key कॉन्फ़िगरेशन और सत्यापन के लिए मैन्युअल AI Agent सेटअप गाइड का पालन करें।

1. List PPT Themes (थीम सूचीबद्ध करें)

पेजिनेशन, कीवर्ड खोज, भाषा और प्रकार फ़िल्टर के साथ उपलब्ध PPT थीम क्वेरी करें।

Endpoint

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

Query पैरामीटर

पैरामीटरप्रकारआवश्यकविवरण
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हांBearer YOUR_API_KEY फ़ॉर्मेट में आपकी API Key
Content-Typeहांapplication/json या multipart/form-data

अनुरोध बॉडी

पैरामीटरप्रकारआवश्यकविवरण
querystringहांPPT जनरेशन के लिए प्रॉम्प्ट
livedoc_short_idstringनहींPPT सेशन से जोड़ने के लिए मौजूदा LiveDoc short ID। छोड़ने पर नया LiveDoc स्वचालित रूप से बनता है।
resource_idsarray of stringsनहींPPT जनरेशन के कॉन्टेक्स्ट के रूप में उपयोग करने के लिए LiveDoc resource ID की सूची
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 संसाधन के रूप में अपलोड करता है, फिर उसका resource ID PPT कार्य को पास करता है।

भागप्रकारआवश्यकविवरण
querystringहांPPT जनरेशन के लिए प्रॉम्प्ट
filefileहांPPT कॉन्टेक्स्ट के रूप में उपयोग होने वाली स्रोत फ़ाइल
stream_protocolstringनहींस्ट्रीमिंग प्रोटोकॉल; डिफ़ॉल्ट message_center_v1
livedoc_short_idstringनहींफ़ाइल प्राप्त करने के लिए मौजूदा LiveDoc। छोड़ने पर नया LiveDoc बनता है।
ppt_configJSONनहींJSON अनुरोध बॉडी जैसी ही संरचना वाला PPT कॉन्फ़िगरेशन। इस भाग को 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]'

प्रतिक्रिया JSON अनुरोध जैसा ही schema उपयोग करती है। लौटाया गया 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 business ID (backend thread_short_id से मैप किया गया)
ppt_urlstringPPT URL, फ़ॉर्मेट: https://felo.ai/slides/{ppt_biz_id}
error_messagestringFAILED / PENDING / EXPIRED / CANCELED पर मौजूद; जब downstream त्रुटि विवरण न दे तो खाली स्ट्रिंग ""
ai_page_htmlstringतब मौजूद जब कार्य AI_PAGE मोड में चलता है और downstream ऐतिहासिक परिणाम HTML URL लौटाता है
live_doc_short_idstringLiveDoc short ID। COMPLETED के लिए यह downstream live_doc_short_id से आता है; टर्मिनल विफलता स्थितियों के लिए उपलब्ध होने पर लौटाया जाता है
live_doc_urlstringlive_doc_short_id के अनुरूप LiveDoc URL

PPTX export करें

PPT जनरेशन कार्य COMPLETED पर पहुंचने के बाद, create प्रतिक्रिया के ppt_business_id (या historical प्रतिक्रिया के ppt_biz_id) का उपयोग करके असिंक्रोनस export सबमिट करें:

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 '{}'

हर 2–5 सेकंड में उसी Bearer API Key के साथ GET https://openapi.felo.ai/v2/ppts/{ppt_business_id}/export पोल करें। API Key का स्वामी PPT का स्वामी होना चाहिए। दोनों endpoint data.status लौटाते हैं: NOT_STARTED, PROCESSING, COMPLETED या FAILED। केवल COMPLETED में download_url और expires_at शामिल होते हैं।

साइन किया गया डाउनलोड URL जारी होने के 30 मिनट बाद समाप्त हो जाता है। नए URL के लिए GET endpoint दोबारा कॉल करें; इससे PPTX दोबारा नहीं बनता। POST application/json का उपयोग करता है और {} स्वीकार करता है। export प्रोसेस होते समय POST दोहराने से दूसरा जॉब शुरू नहीं होता; पूरा होने के बाद कॉल करने पर PPTX दोबारा बनता है और मौजूदा PPT export क्रेडिट शुल्क लगता है। अपर्याप्त क्रेडिट पर HTTP 402 मिलता है। endpoint-विशिष्ट दर सीमाएं लागू हो सकती हैं; HTTP 429 पर बाद में दोबारा प्रयास करें। विफल export दोबारा सबमिट किया जा सकता है।

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

पोलिंग की सिफ़ारिश

create प्रतिक्रिया का task_id उपयोग करें और स्थिति टर्मिनल अवस्था में आने तक हर 2-5 सेकंड में पोल करें।

सामान्य स्थिति उदाहरण:

  • RUNNING: कार्य अभी प्रोसेस हो रहा है
  • COMPLETED: कार्य सफलतापूर्वक पूरा हुआ
  • FAILED / PENDING / EXPIRED / CANCELED: कार्य error_message के साथ टर्मिनल स्थिति में पहुंचा; उपलब्ध होने पर live_doc_url भी लौटाया जाता है

backend के विकसित होने के साथ अज्ञात स्थिति मान दिख सकते हैं; जब तक अन्यथा दस्तावेज़ित न हो, उन्हें गैर-टर्मिनल मानें।

त्रुटि कोड

कोडHTTP स्टेटसविवरण
UNAUTHORIZED401API Key अमान्य या रद्द है
PPT_TASK_CREATE_FAILED502कार्य बनाने की downstream कॉल विफल
PPT_TASK_QUERY_FAILED502कार्य स्थिति देखने की downstream कॉल विफल