Офіс
Перетворіть дослідницьку сторінку на презентацію
Вилучіть сторінку, збережіть як контекст LiveDoc, дозвольте PPT Task API збудувати дек і питайте, доки не буде готового посилання.
Скопіювати промпт
Замініть поля в квадратних дужках і вставте в Claude Code, Codex або AI з доступом до термінала. Він встановить скіл Felo, запитає перед витратою кредитів і запустить процес.
Перетвори це джерело на презентацію: [публічний URL або шлях до PDF]. Аудиторія: [хто дивиться]. Слайдів: [6–10]. Мова: [мова]. Тема: [назва теми або «default»]. Використай Web Fetch на публічній сторінці (або завантаженому файлі), збережи джерело як контекст LiveDoc, створи завдання PPT і опитуй до готовності презентації. Створи: 1. Структуру з одним рядком на слайд. 2. Посилання на згенеровану презентацію. 3. Посилання на LiveDoc, використаний як контекст. Правила: - Не вигадуй факти, яких немає в джерелі. Прогалини позначай як «У джерелі не вказано». - Завдання PPT витрачають кредити; питай перед надсиланням. - Тримай разом URL джерела, структуру й посилання на презентацію. - Не публікуй і не ділись презентацією поза workspace. - Запиши структуру в ./deck-outline.md і підсумуй її в чаті.
Копія також містить кроки встановлення й правила безпеки.
Що ви отримаєте
Приклад результату одного запуску. Не живе генерування.
Джерело -> структура колоди
- Чому цей звіт важливий
- Що змінилося цього кварталу
- Три сегменти клієнтів
- Де доказів мало
- Що тестувати далі
Колода: https://felo.ai/slides/... Контекст: https://felo.ai/livedoc/...
Точні виклики
Для розробників: той самий процес як код, у порядку виконання.
Показати справжні виклики API
Вилучіть сторінку-джерело
Через Web Fetch перетворіть публічну сторінку на Markdown, зберігши заголовок і текст.
deck.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ExtractData = { data: { content: string } }; const page = await felo<ExtractData>("/v2/web/extract", { url: "https://example.com/research", output_format: "markdown", with_readability: true, });Збережіть як контекст LiveDoc
Створіть LiveDoc, додайте джерело як документ і візьміть short_id.
deck.ts type LiveDocData = { data: { short_id: string } }; type ResourceData = { data: { id: string } }; const doc = await felo<LiveDocData>("/v2/livedocs", { name: "Quarterly research deck", description: "Source material for the next deck", }); const resource = await felo<ResourceData>( `/v2/livedocs/${doc.data.short_id}/resources/doc`, { title: "Source page", content: page.data.content, }, );Надішліть завдання слайдів
Викличте PPT Task API з вмістом і LiveDoc short_id, щоб отримати task_id.
deck.ts type PptTaskData = { data: { task_id: string; livedoc_short_id: string }; }; const task = await felo<PptTaskData>("/v2/ppts", { query: "Six slides for a product review: findings, evidence, next steps", livedoc_short_id: doc.data.short_id, }); console.log(task.data.task_id);Приклад результату
{ "data": { "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3", "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr", "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }Питайте до завершення
Перевіряйте статус до завершення й читайте посилання на слайди.
deck.ts type TaskState = { data: { task_status: string; ppt_url?: string; live_doc_url?: string }; }; async function waitForDeck(taskId: string) { for (let attempt = 0; attempt < 40; attempt++) { const state = await felo<TaskState>(`/v2/tasks/${taskId}/historical`); if (state.data.task_status === "COMPLETED") return state.data; if (["FAILED", "EXPIRED", "CANCELED"].includes(state.data.task_status)) { throw new Error(`Deck task ${state.data.task_status}`); } await new Promise((resolve) => setTimeout(resolve, 3000)); } throw new Error("Deck task timed out"); } const result = await waitForDeck(task.data.task_id); console.log(result.ppt_url);Приклад результату
{ "task_status": "COMPLETED", "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx", "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx" }
Що входить
- Чисте вилучення сторінки-джерела як Markdown
- LiveDoc як контекст повторного використання
- Асинхронне завдання PPT і готове посилання
- Структура слайдів для перевірки перед поширенням
Чого не робить
- Лише публічна сторінка або завантажений файл; сторінки за входом можуть не працювати
- Слайди йдуть за джерелом і не покривають усю бренд-систему
- Один дек на запуск; кілька деків потребують циклу
- Не редагує наявний дек і не гарантує візуальну відповідність
- Не публікує й не поширює дек
Запитання
Чи можна використати PDF замість URL?
Так. Надішліть завдання PPT як multipart form data з файлом; платформа збереже його як ресурс LiveDoc і створить дек.
Чи можна вибрати тему?
Так. Перелічіть теми й передайте id теми при створенні завдання.
Скільки триває дек?
Це асинхронне завдання. Опитуйте історію до завершення; довгі деки тривають довше.
Чи редагує мій наявний дек?
Ні. Створює новий дек із джерела; редагування наявного — інший процес.
Скільки коштує один дек?
Генерація слайдів оплачується за використання; актуальні тарифи на сторінці цін, а промпт просить схвалення перед витратою.
Чи можна використати джерело повторно?
Так. LiveDoc зберігає джерело; наступні деки або mindmap можуть використати його short_id.
Пов’язані процеси
Перетворіть одне питання на дослідницький бриф із джерелами
Запитайте веб, збережіть сторінки за відповіддю як Markdown, додайте те, що кажуть практики на X, і тримайте докази в LiveDoc, який можна згодом переглянути.
Відкрити робочий процесКонтентПублікуйте щоденний AI-дайджест, який команда справді читає
Отримайте підсумок із джерелами, додайте розмови практиків на X, візьміть транскрипт відео, складіть випуск у Markdown і заархівуйте в LiveDoc.
Відкрити робочий процесПідтримкаВідповідайте на питання підтримки з власної документації
Створіть LiveDoc, завантажте центр допомоги й внутрішній runbook, отримайте уривки, що відповідають тікету, і дозвольте моделі відповідати лише з цих доказів.
Відкрити робочий процесАдаптуйте
Той самий рецепт, підлаштований під те, як ви насправді працюєте.
Джерело PDF
Завантажте PDF через multipart; платформа спершу збереже його як ресурс LiveDoc.
Задайте тему
Перелічіть доступні теми й передайте id при створенні завдання.
Використайте в наступному деці
Створіть нове завдання PPT із тим самим LiveDoc short_id.
Далі
Довідкові сторінки за цим рецептом і наступні кроки.