Felo Створення презентації
Провайдер: Felo · Оплата з балансу платформи
Генеруйте презентацію асинхронно, а потім експортуйте файл PPTX. Тримайте кроки генерації та експорту окремо: створене завдання ще не є готовим файлом.
У всіх прикладах використовується FELO_API_KEY з огляду. Виклики використовують баланс платформи, а не кредити Felo Pro. Приклади відповідей є ілюстративними; живий контент і необов’язкові поля можуть відрізнятися.
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 | Ні | Існуючий ID контексту, до 100 символів; має проходити нативні перевірки власності API та терміну дії |
resource_ids | масив string | Ні | До 100 UUID ID ресурсів; підлягає тим самим перевіркам доступу до контексту |
Для першої інтеграції пропустіть поля контексту та конфігурації. Контекст, створений через /v2, не є автоматично придатним для повторного використання тут.
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 повертає ідентифікатори в корені:
{
"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, також можуть бути присутні. Успішна відповідь створення означає, що завдання прийнято, а не що генерацію завершено. Запитана кількість слайдів є інструкцією; білінг використовує фактичну кількість згенерованих сторінок.
TASK_ID="example-task-id"
PPT_ID="example-ppt-id"Читання подій генерації через SSE
Якщо під час створення повертається stream_key, підключайтеся негайно, використовуючи API Key, що належить тому самому обліковому запису. Якщо stream_key не повернуто, використовуйте запити статусу та результатів нижче.
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, але з 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). Запити статусу, запити результатів, запити статусу експорту та видалення не створюють нового списання. - Після тайм-ауту запитуйте збережене завдання, а не створюйте ще одну презентацію. Дивіться Білінг і помилки.