# יצירת מצגת Felo

POST /api/v1/data/ppts

צרו מצגת באופן אסינכרוני, ואז ייצאו קובץ PPTX. הפרידו בין שלב היצירה לשלב הייצוא: משימה שנוצרה עדיין אינה קובץ גמור.

כל הדוגמאות משתמשות ב-`FELO_API_KEY` מתוך [הסקירה הכללית](https://openapi.felo.ai/he/docs/data-api/guides/felo-overview.md). הקריאות משתמשות ב-**יתרת הפלטפורמה**, ולא ב-Felo Pro credits. דוגמאות התגובה הן להמחשה; תוכן חי ושדות אופציונליים משתנים.





## 1. יצירת המצגת

`POST /api/v1/data/ppts`

| שדה | סוג | נדרש | משמעות |
|---|---|---|---|
| `query` | string | כן | הוראות יצירה, 1–25,000 תווים |
| `stream_protocol` | string | לא | ברירת מחדל `message_center_v1`; בדרך כלל השאירו ללא שינוי |
| `ppt_config` | object | לא | תצורה אופציונלית; המימוש הנוכחי קורא `ai_theme_id` |
| `livedoc_short_id` | string | לא | מזהה הקשר קיים, עד 100 תווים; חייב לעבור את בדיקות הבעלות והפג-הזמן של ה-API המקורי |
| `resource_ids` | string array | לא | עד 100 מזהי משאבים מסוג UUID; כפוף לאותן בדיקות גישת הקשר |

לאינטגרציה ראשונה, השמיטו את שדות ההקשר והתצורה. הקשר שנוצר דרך `/v2` אינו זכאי אוטומטית לשימוש חוזר כאן.

```bash
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 מחזיר מזהים בשורש:

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

מזהים נוספים כגון `resource_id`, `stream_key` ו-`thread_short_id` עשויים להופיע. תגובת יצירה מוצלחת פירושה שהמשימה התקבלה, לא שהיצירה הושלמה. מספר השקפים המבוקש הוא הנחיה; החיוב משתמש במספר העמודים שנוצר בפועל.

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

### קריאת אירועי יצירה באמצעות SSE

אם היצירה מחזירה `stream_key`, התחברו מיד עם API Key השייך לאותו חשבון. אם לא מוחזר stream key, השתמשו בשאילתות הסטטוס והתוצאות למטה.

```bash
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'
```

| פרמטר שאילתה | משמעות |
|---|---|
| `format` | `raw` (ברירת מחדל) שומר על מחרוזת `content`; `structured` מפענח JSON תקין לאובייקט או למערך |
| `offset` | מיקום המשך upstream אופציונלי לחיבור מחדש; אל תסיקו אותו ממספר האירועים המקומי שלכם |

קראו כל אירוע SSE מלא, פענחו את ה-JSON החיצוני שלו, ואז עבדו על `content`. אירוע יישום מסוג `answer` נושא טקסט ב-`data.text`; `finished` מסמן השלמת יצירה בזרם. טפלו גם באותות upstream `done`, `[DONE]`, ו-`error`. אם החיבור נסגר ללא אות השלמה, שאבו את סטטוס המשימה.

השתמשו בכללי הפענוח ובדוגמת הלקוח ב-[SuperAgent SSE](https://openapi.felo.ai/he/docs/api-reference/superagent.md#2-consume-sse-stream), עם כתובת ה-URL של סעיף זה `/api/v1/data/conversations/stream/{stream_key}`. קראו את תוצאת המשימה לאחר שהזרם מסתיים; ייצוא PPTX נשאר שלב נפרד. נקודת קצה זו אינה מפעילה `stream: true` ב-`/api/v1/data/chat`.



## משך חיים, בעלות וחיוב

- מצגות פגות **שבעה ימים לאחר היצירה**. שאילתות וייצואים אינם מאריכים תקופה זו. `expires_at` של המצגת ו-`expires_at` של URL ההורדה החתום מתארים משכי חיים שונים.
- רק חשבון ה-API שיצר יכול לגשת למשימות ולמצגות שלו. משאב חסר או לא נגיש יכול להחזיר 404; משאב שפג תוקפו או נמחק יכול להחזיר 410, או 404 לאחר ניקוי.
- היצירה מחויבת לפי עמוד שנוצר (`ppt.generate`). לפי תמחור עמודים, היצירה שומרת את המחיר של עשרה עמודים, ואז מסדירה את הפלט המוצלח בפועל ומשחררת את ההחזקה שלא נוצלה. לחשבון שלכם חייבת להיות יתרה זמינה מספקת עבור ההחזקה גם אם הפרומפט מבקש פחות עמודים.
- לייצוא יש מחיר בקשה נפרד (`ppt.export`). שאילתות סטטוס, שאילתות תוצאות, שאילתות סטטוס-ייצוא ומחיקה אינן יוצרות חיוב חדש.
- לאחר timeout, שאבו את המשימה השמורה במקום ליצור מצגת נוספת. ראו [חיוב ושגיאות](https://openapi.felo.ai/he/docs/data-api/guides/felo-billing.md).
