Felo API PlatformFelo API Platform

Bureau

Transformez une page de recherche en présentation

Extrayez la page, enregistrez-la comme contexte LiveDoc, laissez l’API PPT Task construire le deck et interrogez jusqu’au lien final.

Temps15 minutesNiveauDébutantMis à jour2026-10-29
Pour quiConsultantsVentes et marketingOutils internes

Copier le prompt

Remplacez les champs entre crochets, puis collez dans Claude Code, Codex ou toute IA avec accès au terminal. Elle installe le skill Felo, demande avant de dépenser des crédits et exécute le workflow.

Transforme cette source en deck de slides : [URL publique ou chemin PDF].

Public : [qui regarde]. Nombre de slides : [6–10]. Langue : [langue]. Thème : [nom du thème ou « default »].

Utilise Web Fetch sur la page publique (ou le fichier téléversé), enregistre la source comme contexte LiveDoc, crée une tâche PPT et interroge jusqu’à ce que le deck soit prêt.

Produis :
1. Un plan d’une ligne par slide.
2. Le lien du deck généré.
3. Le lien du LiveDoc utilisé comme contexte.

Règles :
- N’invente aucun fait absent de la source. Les manques s’écrivent « Non mentionné dans la source ».
- Les tâches PPT consomment des crédits ; demande avant de soumettre.
- Conserve ensemble l’URL source, le plan et le lien du deck.
- Ne publie ni ne partage le deck en dehors de l’espace de travail.
- Écris le plan dans ./deck-outline.md et résume-le dans le chat.

La copie inclut aussi les étapes d'installation et les règles de sécurité.

Ce que vous obtenez

Exemple de sortie d'une exécution. Pas de génération en direct.

Exemple de plan de deck (extrait)

Source -> plan de deck

  1. Pourquoi ce rapport compte
  2. Ce qui a changé ce trimestre
  3. Les trois segments clients
  4. Là où les preuves sont minces
  5. Ce qu’il faut tester ensuite

Deck : https://felo.ai/slides/... Contexte : https://felo.ai/livedoc/...

Les appels exacts

Pour les développeurs : le même workflow en code, dans l'ordre d'exécution.

Afficher les appels API
  1. Extrayez la page source

    Utilisez Web Fetch pour convertir la page publique en Markdown en gardant titre et corps.

    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. Enregistrez comme contexte LiveDoc

    Créez le LiveDoc, ajoutez la source comme document et récupérez le 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. Envoyez la tâche de slides

    Appelez l’API PPT Task avec le contenu et le LiveDoc short_id pour obtenir le 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);

    Exemple de sortie

    {
      "data": {
        "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3",
        "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr",
        "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
      }
    }
  4. Interrogez jusqu’à la fin

    Vérifiez le statut jusqu’à la fin et lisez le lien des slides.

    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);

    Exemple de sortie

    {
      "task_status": "COMPLETED",
      "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx",
      "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx"
    }

Ce qui est inclus

  • Extraction propre de la page source en Markdown
  • LiveDoc comme contexte réutilisable
  • Tâche PPT asynchrone et lien final
  • Plan de slides à relire avant partage

Ce qu'elle ne fait pas

  • Source publique ou fichier envoyé uniquement ; les pages derrière login peuvent échouer
  • Les slides suivent la source et ne couvrent pas tout le système de marque
  • Un deck par exécution ; plusieurs nécessitent une boucle
  • N’édite pas un deck existant et ne garantit pas la correspondance visuelle
  • Ne publie ni ne partage le deck

Questions

Puis-je utiliser un PDF au lieu d’une URL ?

Oui. Envoyez la tâche PPT en multipart form data avec le fichier ; la plateforme le stocke comme ressource LiveDoc et crée le deck.

Puis-je choisir un thème ?

Oui. Listez les thèmes puis passez l’id du thème à la création de la tâche.

Combien de temps pour un deck ?

C’est une tâche asynchrone. Interrogez l’historique jusqu’à la fin ; les longs decks prennent plus de temps.

Édite-t-il mon deck existant ?

Non. Il crée un nouveau deck depuis la source ; éditer un deck existant est un autre workflow.

Combien coûte un deck ?

La génération de slides est facturée à l’usage ; les tarifs actuels sont sur la page des prix, et le prompt demande votre accord avant dépense.

Puis-je réutiliser la source ?

Oui. Le LiveDoc garde la source ; les decks ou mindmaps suivants peuvent réutiliser son short_id.

Workflows liés

Adaptez-la

La même recette, adaptée à votre façon de livrer.

Source PDF

Envoyez un PDF en multipart ; la plateforme le stocke d’abord comme ressource LiveDoc.

Définir le thème

Listez les thèmes disponibles et passez l’id à la création de la tâche.

Réutiliser pour le prochain deck

Créez une nouvelle tâche PPT avec le même LiveDoc short_id.

Les pages de référence derrière cette recette et la suite.