Felo API PlatformFelo API Platform

Офіс

Перетворіть дослідницьку сторінку на презентацію

Вилучіть сторінку, збережіть як контекст LiveDoc, дозвольте PPT Task API збудувати дек і питайте, доки не буде готового посилання.

Час15 хвилинРівеньБазовийОновлено2026-10-29
Для когоКонсультантиПродажі й маркетингВнутрішні інструменти

Скопіювати промпт

Замініть поля в квадратних дужках і вставте в Claude Code, Codex або AI з доступом до термінала. Він встановить скіл Felo, запитає перед витратою кредитів і запустить процес.

Перетвори це джерело на презентацію: [публічний URL або шлях до PDF].

Аудиторія: [хто дивиться]. Слайдів: [6–10]. Мова: [мова]. Тема: [назва теми або «default»].

Використай Web Fetch на публічній сторінці (або завантаженому файлі), збережи джерело як контекст LiveDoc, створи завдання PPT і опитуй до готовності презентації.

Створи:
1. Структуру з одним рядком на слайд.
2. Посилання на згенеровану презентацію.
3. Посилання на LiveDoc, використаний як контекст.

Правила:
- Не вигадуй факти, яких немає в джерелі. Прогалини позначай як «У джерелі не вказано».
- Завдання PPT витрачають кредити; питай перед надсиланням.
- Тримай разом URL джерела, структуру й посилання на презентацію.
- Не публікуй і не ділись презентацією поза workspace.
- Запиши структуру в ./deck-outline.md і підсумуй її в чаті.

Копія також містить кроки встановлення й правила безпеки.

Що ви отримаєте

Приклад результату одного запуску. Не живе генерування.

Приклад структури колоди (фрагмент)

Джерело -> структура колоди

  1. Чому цей звіт важливий
  2. Що змінилося цього кварталу
  3. Три сегменти клієнтів
  4. Де доказів мало
  5. Що тестувати далі

Колода: https://felo.ai/slides/... Контекст: https://felo.ai/livedoc/...

Точні виклики

Для розробників: той самий процес як код, у порядку виконання.

Показати справжні виклики API
  1. Вилучіть сторінку-джерело

    Через 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,
    });
  2. Збережіть як контекст 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,
      },
    );
  3. Надішліть завдання слайдів

    Викличте 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"
      }
    }
  4. Питайте до завершення

    Перевіряйте статус до завершення й читайте посилання на слайди.

    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.

Пов’язані процеси

Адаптуйте

Той самий рецепт, підлаштований під те, як ви насправді працюєте.

Джерело PDF

Завантажте PDF через multipart; платформа спершу збереже його як ресурс LiveDoc.

Задайте тему

Перелічіть доступні теми й передайте id при створенні завдання.

Використайте в наступному деці

Створіть нове завдання PPT із тим самим LiveDoc short_id.

Довідкові сторінки за цим рецептом і наступні кроки.