Felo API PlatformFelo API Platform

Ufficio

Trasforma una pagina di ricerca in una presentazione

Estrai la pagina, salvala come contesto LiveDoc, lascia che la PPT Task API costruisca il deck e interroga finché il link è pronto.

Tempo15 minutiLivelloBaseAggiornato2026-10-29
Per chiConsulentiVendite e marketingStrumenti interni

Copia il prompt

Sostituisci i campi tra parentesi quadre e incolla in Claude Code, Codex o qualsiasi IA con accesso al terminale. Installa lo skill Felo, chiede prima di spendere crediti ed esegue il workflow.

Trasforma questa fonte in un deck di slide: [URL pubblico o percorso PDF].

Pubblico: [chi guarda]. Slide: [6–10]. Lingua: [lingua]. Tema: [nome tema o «default»].

Usa Web Fetch sulla pagina pubblica (o sul file caricato), salva la fonte come contesto LiveDoc, crea un’attività PPT e interroga fino alla prontezza del deck.

Produci:
1. Una struttura con una riga per slide.
2. Il link del deck generato.
3. Il link del LiveDoc usato come contesto.

Regole:
- Non inventare fatti assenti dalla fonte. Le lacune si scrivono «Non menzionato nella fonte».
- Le attività PPT consumano crediti; chiedi prima di inviare.
- Tieni insieme URL di origine, struttura e link del deck.
- Non pubblicare né condividere il deck fuori dal workspace.
- Scrivi la struttura in ./deck-outline.md e riassumila in chat.

La copia include anche i passaggi di installazione e le regole di sicurezza.

Cosa ottieni

Output di esempio di un'esecuzione. Non è generazione dal vivo.

Esempio di schema deck (estratto)

Fonte -> schema del deck

  1. Perché questo report conta
  2. Cosa è cambiato questo trimestre
  3. I tre segmenti di clienti
  4. Dove le prove sono deboli
  5. Cosa testare dopo

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

Le chiamate esatte

Per gli sviluppatori: lo stesso workflow come codice, nell'ordine di esecuzione.

Mostra le chiamate API reali
  1. Estrai la pagina fonte

    Con Web Fetch converti la pagina pubblica in Markdown mantenendo titolo e corpo.

    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. Salva come contesto LiveDoc

    Crea il LiveDoc, aggiungi la fonte come documento e ottieni lo 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. Invia l’attività slide

    Chiama la PPT Task API con contenuto e LiveDoc short_id per ottenere il 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);

    Output di esempio

    {
      "data": {
        "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3",
        "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr",
        "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
      }
    }
  4. Interroga fino alla fine

    Controlla lo stato fino al completamento e leggi il link delle slide.

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

    Output di esempio

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

Cosa include

  • Estrazione pulita della pagina in Markdown
  • LiveDoc come contesto riutilizzabile
  • Attività PPT asincrona e link finale
  • Scaletta slide da rivedere prima di condividere

Cosa non fa

  • Solo pagina pubblica o file caricato; le pagine con login possono fallire
  • Le slide seguono la fonte e non coprono tutto il sistema di marca
  • Un deck per esecuzione; più deck richiedono un ciclo
  • Non modifica un deck esistente e non garantisce corrispondenza visiva
  • Non pubblica né condivide il deck

Domande

Posso usare un PDF invece di un URL?

Sì. Invia l’attività PPT come multipart form data con il file; la piattaforma lo salva come risorsa LiveDoc e crea il deck.

Posso scegliere un tema?

Sì. Elenca i temi e passa l’id del tema alla creazione dell’attività.

Quanto tempo serve per un deck?

È un’attività asincrona. Interroga la cronologia fino al completamento; i deck lunghi richiedono più tempo.

Modifica il mio deck esistente?

No. Crea un nuovo deck dalla fonte; modificare un deck esistente è un altro workflow.

Quanto costa un deck?

La generazione slide è a consumo; le tariffe sono nella pagina prezzi e il prompt chiede approvazione prima di spendere.

Posso riusare la fonte?

Sì. Il LiveDoc conserva la fonte; deck o mindmap successivi possono usare il suo short_id.

Workflow correlati

Adattala a te

La stessa ricetta, adattata a come lavori davvero.

Fonte PDF

Carica un PDF via multipart; la piattaforma lo salva prima come risorsa LiveDoc.

Imposta il tema

Elenca i temi disponibili e passa l’id alla creazione.

Riusa nel prossimo deck

Crea una nuova attività PPT con lo stesso LiveDoc short_id.

Le pagine di riferimento dietro questa ricetta e i prossimi passi.