Felo API PlatformFelo API Platform

PPT جنریشن اور ایکسپورٹ

Provider: Felo · platform balance سے ادا شدہ

ایک presentation کو asynchronous طور پر generate کریں، پھر ایک PPTX file ایکسپورٹ کریں۔ generation اور export steps کو الگ رکھیں: create کیا گیا task ابھی مکمل file نہیں ہوتا۔

تمام examples، overview سے FELO_API_KEY استعمال کرتے ہیں۔ Calls platform balance استعمال کرتی ہیں، Felo Pro credits نہیں۔ Response examples صرف وضاحتی ہیں؛ live content اور optional fields مختلف ہو سکتے ہیں۔

ورک فلو اور شناخت کنندگان

  1. ایک generation task بنائیں؛ task_id، ppt_business_id اور expires_at محفوظ کریں۔
  2. task_id استعمال کرتے ہوئے generation status پول کریں۔
  3. task_id استعمال کرتے ہوئے generation results پڑھیں۔
  4. ppt_business_id استعمال کرتے ہوئے PPTX export شروع کریں۔
  5. export status پول کریں اور مکمل file download کریں۔
  6. اختیاری طور پر presentation کو جلدی delete کریں۔

Route placeholders میں، {business_id} سے مراد واپس آنے والا `ppt_business_id` ہے، task_id، resource_id یا livedoc_short_id نہیں۔ پورے workflow کے لیے ایک ہی API account استعمال کریں۔ examples میں IDs placeholders ہیں۔

1. پیشکش بنائیں

POST /api/v1/data/ppts

فیلڈقسملازمیمعنی
querystringہاںبنانے کی ہدایات، 1–25,000 حروف
stream_protocolstringنہیںطے شدہ message_center_v1; عموماً بدلا نہ جائے
ppt_configobjectنہیںاختیاری ترتیب؛ موجودہ نفاذ ai_theme_id پڑھتا ہے
livedoc_short_idstringنہیںموجودہ سیاق ID، 100 حروف تک؛ native API ملکیت اور معیاد ختم ہونے کی جانچ پاس ہونی چاہیے
resource_idsسٹرنگ ارےنہیں100 UUID وسائل IDs تک؛ اسی سیاق رسائی جانچ کے تابع

پہلی integration کے لیے، context اور configuration fields کو چھوڑ دیں۔ /v2 کے ذریعے بنایا گیا context یہاں خودکار طور پر دوبارہ استعمال کے لیے اہل نہیں ہوتا۔

curl -sS --request POST "https://openapi.felo.ai/api/v1/data/ppts" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Create a 5-slide introduction to retrieval augmented generation for software developers."}'

HTTP 200 root پر identifiers واپس کرتا ہے:

{
  "task_id":"example-task-id",
  "ppt_business_id":"example-ppt-id",
  "livedoc_short_id":"example-livedoc-id",
  "expires_at":"2026-11-13T00:00:00Z"
}

مزید identifiers جیسے resource_id، stream_key اور thread_short_id بھی موجود ہو سکتے ہیں۔ successful create response کا مطلب یہ ہے کہ task قبول کر لیا گیا، یہ نہیں کہ generation مکمل ہو گئی ہے۔ requested slide count صرف ایک instruction ہے؛ billing اصل generated page count استعمال کرتی ہے۔

TASK_ID="example-task-id"
PPT_ID="example-ppt-id"

SSE کے ساتھ بنانے کے واقعات پڑھیں

اگر creation ایک stream_key واپس کرے، تو اسی account سے تعلق رکھنے والی API Key کے ساتھ فوراً connect کریں۔ اگر کوئی stream key واپس نہ آئے، تو نیچے دی گئی status اور result queries استعمال کریں۔

curl -N 'https://openapi.felo.ai/api/v1/data/conversations/stream/YOUR_STREAM_KEY?format=structured' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: text/event-stream'
سوالی پیرامیٹرمعنی
formatraw (طے شدہ) content سٹرنگ کو جوں کا توں رکھتا ہے؛ structured درست JSON کو آبجیکٹ یا ارے میں ڈی کوڈ کرتا ہے
offsetدوبارہ جڑنے کے لیے اختیاری upstream دوبارہ شروع کرنے کی پوزیشن؛ اسے اپنی مقامی ایونٹ تعداد سے اخذ نہ کریں

ہر مکمل SSE event پڑھیں، اس کے outer JSON کو decode کریں، پھر content پر عمل کریں۔ ایک answer application event، data.text میں متن رکھتا ہے؛ finished stream میں generation کی تکمیل کا اشارہ دیتا ہے۔ upstream done، [DONE]، اور error signals کو بھی handle کریں۔ اگر completion signal کے بغیر connection بند ہو جائے، تو task status query کریں۔

SuperAgent SSE میں parsing rules اور client example استعمال کریں، اس section کے /api/v1/data/conversations/stream/{stream_key} URL کے ساتھ۔ stream ختم ہونے کے بعد task result پڑھیں؛ PPTX export بدستور الگ step ہے۔ یہ endpoint /api/v1/data/chat پر stream: true فعال نہیں کرتا۔

2. بنانے کی حالت چیک کریں

GET /api/v1/data/tasks/{task_id}/status

curl -sS --request GET "https://openapi.felo.ai/api/v1/data/tasks/$TASK_ID/status" \
  -H "Authorization: Bearer $FELO_API_KEY"

Response میں root status string ہوتی ہے، مثال کے طور پر RUNNING یا COMPLETED۔ bounded interval (مثلاً، 2–5 seconds) اور deadline کے ساتھ poll کریں۔ completion کے بعد results کی طرف جائیں؛ failure اور unexpected statuses کو success فرض کیے بغیر handle کریں۔ polling deadline task کو cancel نہیں کرتی۔

{"status":"COMPLETED"}

3. بنانے کے نتائج پڑھیں

POST /api/v1/data/tasks/{task_id}/historical

یہ POST ہے، اور کسی JSON body کی ضرورت نہیں۔

curl -sS --request POST "https://openapi.felo.ai/api/v1/data/tasks/$TASK_ID/historical" \
  -H "Authorization: Bearer $FELO_API_KEY"
{
  "task_id":"example-task-id",
  "task_status":"COMPLETED",
  "history_data":{},
  "error_message":null
}

history_data استعمال کرنے سے پہلے task_status پڑھیں۔ history payload task کے مطابق مختلف ہو سکتی ہے اور null بھی ہو سکتی ہے۔ ai_page_html اور thread_short_id optional ہیں۔ یہ response guaranteed PPTX download URL نہیں ہے؛ اگلا مرحلہ export ہے۔

4. PPTX برآمد شروع کریں

POST /api/v1/data/ppts/{business_id}/export

curl -sS --request POST "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID/export" \
  -H "Authorization: Bearer $FELO_API_KEY"
{"status":"PROCESSING","download_url":null,"expires_at":null}

export کرنے سے پہلے generation مکمل ہونا ضروری ہے۔ جب ایک ہی export چل رہا ہو تو POST کو دہرانے سے وہی export reuse ہوتا ہے۔ completion کے بعد ایک اور export شروع کرنا نئی export بناتا ہے اور ایک اور charge پیدا کر سکتا ہے۔ polling اور download link refresh کرنے کے لیے GET استعمال کریں۔

5. برآمد چیک کریں اور ڈاؤن لوڈ کریں

GET /api/v1/data/ppts/{business_id}/export

curl -sS --request GET "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID/export" \
  -H "Authorization: Bearer $FELO_API_KEY"
حالتاگلا قدم
NOT_STARTEDبرآمد ایک بار جمع کریں
PROCESSINGانتظار کریں، پھر GET دوبارہ چیک کریں
COMPLETEDdownload_url پڑھیں اور فائل ڈاؤن لوڈ کریں
FAILEDنئی برآمد جمع کرنے سے پہلے غلطی اور کام کی حالت دیکھیں
{
  "status":"COMPLETED",
  "download_url":"https://example.com/presentation.pptx?signature=example",
  "expires_at":"2026-11-06T00:30:00Z"
}

مثالی URL صرف وضاحت کے لیے ہے۔ response میں موجود اصل signed URL استعمال کریں۔ یہ 30 minutes کے لیے valid ہوتا ہے؛ جب تک presentation دستیاب رہے، GET export status ایک تازہ link واپس کر سکتا ہے۔ file کو اس کی lifetime کے اندر save کریں۔ اپنی Felo API key file download host کو نہ بھیجیں۔

6. پیشکش حذف کریں

DELETE /api/v1/data/ppts/{business_id}

curl -sS --request DELETE "https://openapi.felo.ai/api/v1/data/ppts/$PPT_ID" \
  -H "Authorization: Bearer $FELO_API_KEY"

کامیابی کی صورت میں HTTP 204 without body واپس آتا ہے۔ اسے JSON کے طور پر parse نہ کریں۔ generation کے دوران deletion، 409 واپس کرتی ہے۔

مدت، ملکیت اور بلنگ

  • Presentations creation کے سات دن بعد expire ہو جاتی ہیں۔ queries اور exports اس مدت میں توسیع نہیں کرتے۔ presentation expires_at اور signed download URL expires_at مختلف lifetimes کو بیان کرتے ہیں۔
  • صرف creating API account اپنی tasks اور presentations تک رسائی حاصل کر سکتا ہے۔ missing یا inaccessible resource، 404 واپس کر سکتی ہے؛ expired یا deleted resource، 410، یا cleanup کے بعد 404 واپس کر سکتی ہے۔
  • Generation کی بلنگ فی generated page (ppt.generate) ہوتی ہے۔ page pricing کے تحت، creation دس pages کی قیمت reserve کرتی ہے، پھر اصل successful output کے مطابق settlement ہوتی ہے اور غیر استعمال شدہ reservation release کر دی جاتی ہے۔ آپ کے account میں reservation کے لیے کافی available balance ہونا چاہیے چاہے prompt میں کم pages مانگے گئے ہوں۔
  • Export کی الگ request price (ppt.export) ہے۔ Status queries، result queries، export-status queries اور deletion کوئی نئی charge پیدا نہیں کرتے۔
  • timeout کے بعد، دوسری presentation بنانے کے بجائے محفوظ شدہ task query کریں۔ Billing and Errors دیکھیں۔

مدد چاہیے؟