Felo API PlatformFelo API Platform

Офис

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

Извлеките страницу, сохраните её как контекст LiveDoc, затем дайте PPT Task API собрать deck и опрашивайте задачу до готовой ссылки.

Время15 минутУровеньНачальныйОбновлено2026-10-29
Для когоКонсультантыПродажи и маркетингВнутренние инструменты

Скопировать промпт

Замените поля в квадратных скобках и вставьте в Claude Code, Codex или любой AI с доступом к терминалу. Он установит навык Felo, спросит перед списанием кредитов и выполнит процесс.

Преврати этот источник в презентацию: [публичный URL или путь к PDF].

Аудитория: [кто смотрит]. Слайдов: [6–10]. Язык: [язык]. Тема: [название темы или «default»].

Используй Web Fetch на публичной странице (или загруженном файле), сохрани источник как контекст LiveDoc, создай задачу PPT и опрашивай до готовности презентации.

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

Правила:
- Не выдумывай факты, которых нет в источнике. Пробелы помечай как «В источнике не указано».
- Задачи PPT расходуют кредиты; спрашивай перед отправкой.
- Храни вместе URL источника, план и ссылку на презентацию.
- Не публикуй и не делись презентацией за пределами рабочего пространства.
- Запиши план в ./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-задача и готовая ссылка
  • План слайдов для проверки перед отправкой

Чего не делает

  • Источник только публичная страница или загруженный файл; страницы только для входа могут не работать
  • Слайды следуют источнику и не покрывают всю бренд-систему
  • Один deck за запуск; для нескольких нужен цикл
  • Не редактирует существующий deck и не гарантирует визуальное совпадение
  • Не публикует и не отправляет deck

Вопросы

Можно использовать PDF вместо URL?

Да. Отправьте PPT-задачу как multipart form data с файлом; платформа сохранит его как ресурс LiveDoc и создаст deck.

Можно выбрать тему?

Да. Сначала получите список тем, затем передайте id темы при создании задачи.

Сколько занимает deck?

Это асинхронная задача. Опрашивайте историю до завершения; длинные deck дольше коротких.

Он редактирует существующий deck?

Нет. Он создаёт новый deck из источника; редактирование существующего — отдельный процесс.

Сколько стоит deck?

Генерация слайдов оплачивается по факту использования; актуальные тарифы на странице цен, промпт просит одобрение до трат.

Можно переиспользовать источник?

Да. LiveDoc хранит источник; следующие deck или mindmap могут использовать его short_id.

Связанные процессы

Адаптируйте под себя

Тот же рецепт, подстроенный под ваш реальный процесс.

Источник PDF

Загрузите PDF через multipart; платформа сначала сохранит его как ресурс LiveDoc.

Укажите тему

Получите список тем и передайте id темы при создании задачи.

Переиспользуйте в следующем deck

Создайте новую PPT-задачу с тем же LiveDoc short_id.

Справочные страницы этого рецепта и куда двигаться дальше.