Felo API PlatformFelo API Platform

Escritório

Transforme uma página de pesquisa em apresentação

Extraia a página, salve como contexto do LiveDoc, deixe o PPT Task API montar o deck e consulte até a tarefa retornar o link pronto.

Tempo15 minutosNívelInicianteAtualizado2026-10-29
Para quemConsultoresVendas e marketingFerramentas internas

Copiar o prompt

Substitua os campos entre colchetes e cole no Claude Code, Codex ou qualquer IA com acesso ao terminal. Ela instala a skill da Felo, pergunta antes de gastar créditos e executa o fluxo.

Transforme esta fonte em um deck de slides: [URL pública ou caminho PDF].

Público: [quem assiste]. Slides: [6–10]. Idioma: [idioma]. Tema: [nome do tema ou “default”].

Use Web Fetch na página pública (ou no arquivo enviado), salve a fonte como contexto LiveDoc, crie uma tarefa PPT e consulte até o deck ficar pronto.

Produza:
1. Um esqueleto com uma linha por slide.
2. O link do deck gerado.
3. O link do LiveDoc usado como contexto.

Regras:
- Não invente fatos ausentes da fonte. Lacunas são “Não mencionado na fonte”.
- Tarefas PPT consomem créditos; pergunte antes de enviar.
- Mantenha juntos a URL de origem, o esqueleto e o link do deck.
- Não publique nem compartilhe o deck fora do workspace.
- Grave o esqueleto em ./deck-outline.md e resuma no chat.

A cópia também inclui os passos de instalação e as regras de segurança.

O que você recebe

Saída de exemplo de uma execução. Não é geração ao vivo.

Exemplo de esboço de deck (trecho)

Fonte -> esboço do deck

  1. Por que este relatório importa
  2. O que mudou neste trimestre
  3. Os três segmentos de cliente
  4. Onde a evidência é fraca
  5. O que testar depois

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

As chamadas exatas

Para desenvolvedores: o mesmo fluxo em código, na ordem de execução.

Mostrar as chamadas reais da API
  1. Extraia a página de origem

    Use o Web Fetch para transformar a página pública em Markdown, mantendo título 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. Salve como contexto no LiveDoc

    Crie o LiveDoc, adicione a origem como documento e obtenha o 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. Envie a tarefa de slides

    Chame o PPT Task API com o conteúdo e o LiveDoc short_id para receber o 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);

    Saída de exemplo

    {
      "data": {
        "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3",
        "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr",
        "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
      }
    }
  4. Consulte até concluir

    Verifique o status até concluir e leia o link dos 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);

    Saída de exemplo

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

O que está incluído

  • Extração limpa da página de origem em Markdown
  • LiveDoc com contexto reutilizável
  • Tarefa PPT assíncrona e link final
  • Esboço de slides para revisar antes de compartilhar

O que não faz

  • A origem precisa ser página pública ou arquivo enviado; páginas só para login podem falhar
  • Os slides seguem a origem e não cobrem todo o sistema de marca
  • Um deck por execução; vários exigem loop
  • Não edita deck existente nem garante correspondência visual
  • Não publica nem compartilha o deck

Perguntas

Posso usar PDF em vez de URL?

Sim. Envie a tarefa PPT como multipart form data com o arquivo; a plataforma salva como recurso do LiveDoc e cria o deck.

Posso escolher um tema?

Sim. Liste os temas e passe o id do tema ao criar a tarefa.

Quanto tempo leva um deck?

É uma tarefa assíncrona. Consulte o histórico até concluir; decks longos demoram mais.

Ele edita meu deck existente?

Não. Ele cria um novo deck a partir da origem; editar um deck existente é outro fluxo.

Quanto custa um deck?

A geração de slides é cobrada por uso; as tarifas atuais estão na página de preços, e o prompt pede aprovação antes de gastar.

Posso reutilizar a origem?

Sim. O LiveDoc guarda a origem; próximos decks ou mindmaps podem usar o short_id.

Fluxos relacionados

Faça do seu jeito

A mesma receita, adaptada ao seu processo real.

Origem em PDF

Envie um PDF via multipart; a plataforma o salva como recurso do LiveDoc primeiro.

Defina o tema

Liste os temas disponíveis e passe o id ao criar a tarefa.

Reutilize no próximo deck

Crie uma nova tarefa PPT com o mesmo LiveDoc short_id.

As páginas de referência por trás desta receita e para onde ir depois.