Felo API PlatformFelo API Platform

Pejabat

Tukar halaman penyelidikan kepada pembentangan

Ekstrak halaman, simpan sebagai konteks LiveDoc, biar PPT Task API membina deck dan tanya sehingga pautan siap.

Masa15 minitTahapAsasDikemas kini2026-10-29
Untuk siapaPerundingJualan & pemasaranAlat dalaman

Salin prompt

Ganti medan dalam kurungan siku lalu tampal ke Claude Code, Codex atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum kredit digunakan dan menjalankan aliran kerja.

Tukar sumber ini menjadi dek slaid: [URL awam atau laluan PDF].

Audiens: [siapa melihat]. Slaid: [6–10]. Bahasa: [bahasa]. Tema: [nama tema atau “default”].

Gunakan Web Fetch pada halaman awam (atau fail dimuat naik), simpan sumber sebagai konteks LiveDoc, buat tugas PPT dan poll sehingga dek siap.

Hasilkan:
1. Rangka satu baris setiap slaid.
2. Pautan dek yang dijana.
3. Pautan LiveDoc yang digunakan sebagai konteks.

Peraturan:
- Jangan reka fakta yang tiada dalam sumber. Jurang ditulis “Tidak disebut dalam sumber”.
- Tugas PPT menggunakan kredit; tanya sebelum menghantar.
- Simpan URL sumber, rangka dan pautan dek bersama.
- Jangan terbitkan atau kongsi dek di luar workspace.
- Tulis rangka ke ./deck-outline.md dan ringkaskan dalam chat.

Salinan turut menyertakan langkah pemasangan dan peraturan keselamatan.

Apa yang anda dapat

Contoh output daripada satu larian. Bukan penjanaan langsung.

Contoh rangka dek (petikan)

Sumber -> rangka dek

  1. Mengapa laporan ini penting
  2. Apa berubah suku ini
  3. Tiga segmen pelanggan
  4. Di mana bukti nipis
  5. Apa untuk diuji seterusnya

Dek: https://felo.ai/slides/... Konteks: https://felo.ai/livedoc/...

Panggilan sebenar

Untuk pembangun: aliran kerja sama sebagai kod, mengikut urutan pelaksanaan.

Tunjukkan panggilan API sebenar
  1. Ekstrak halaman sumber

    Dengan Web Fetch tukar halaman awam kepada Markdown dengan tajuk dan isi.

    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. Simpan sebagai konteks LiveDoc

    Cipta LiveDoc, tambah sumber sebagai dokumen dan dapatkan 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. Hantar tugas slaid

    Panggil PPT Task API dengan kandungan dan LiveDoc short_id untuk mendapat 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);

    Contoh output

    {
      "data": {
        "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3",
        "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr",
        "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9"
      }
    }
  4. Tanya sehingga siap

    Semak status sehingga siap dan baca pautan slaid.

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

    Contoh output

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

Termasuk

  • Pengekstrakan halaman sumber bersih sebagai Markdown
  • LiveDoc sebagai konteks boleh guna semula
  • Tugas PPT tak segerak dan pautan siap
  • Rangka slaid untuk disemak sebelum dikongsi

Apa yang tidak dilakukan

  • Hanya halaman awam atau fail dimuat naik; halaman login mungkin gagal
  • Slaid mengikut sumber dan tidak meliputi seluruh sistem jenama
  • Satu deck setiap larian; beberapa deck perlukan gelung
  • Tidak mengedit deck sedia ada dan tidak menjamin padanan visual
  • Tidak menerbitkan atau berkongsi deck

Soalan

Boleh guna PDF bukan URL?

Boleh. Hantar tugas PPT sebagai multipart form data dengan fail; platform menyimpannya sebagai sumber LiveDoc dan membuat deck.

Boleh pilih tema?

Boleh. Senaraikan tema lalu berikan id tema semasa mencipta tugas.

Berapa lama satu deck?

Ini tugas tak segerak. Tanya sejarah sehingga siap; deck panjang lebih lama.

Adakah ia mengedit deck saya?

Tidak. Ia membuat deck baharu dari sumber; mengedit deck sedia ada ialah aliran lain.

Berapa kos satu deck?

Penjanaan slaid dibilkan mengikut penggunaan; kadar semasa di halaman harga dan prompt meminta kelulusan sebelum berbelanja.

Boleh guna semula sumber?

Boleh. LiveDoc menyimpan sumber; deck atau mindmap seterusnya boleh guna short_id.

Aliran kerja berkaitan

Sesuaikan

Resipi sama, disesuaikan dengan cara anda benar-benar menyampaikan.

Sumber PDF

Muat naik PDF melalui multipart; platform menyimpannya dahulu sebagai sumber LiveDoc.

Tetapkan tema

Senaraikan tema tersedia dan berikan id semasa mencipta tugas.

Guna semula dalam deck seterusnya

Cipta tugas PPT baharu dengan LiveDoc short_id sama.

Halaman rujukan di sebalik resipi ini dan langkah seterusnya.