Felo API PlatformFelo API Platform

Kantor

Ubah halaman riset menjadi presentasi

Ekstrak halaman, simpan sebagai konteks LiveDoc, biarkan PPT Task API membangun deck, dan tanyakan sampai tautan selesai.

Waktu15 menitTingkatDasarDiperbarui2026-10-29
Untuk siapaKonsultanPenjualan & marketingAlat internal

Salin prompt

Ganti kolom dalam kurung siku lalu tempel ke Claude Code, Codex, atau AI dengan akses terminal. Ia memasang skill Felo, bertanya sebelum memakai kredit, dan menjalankan alur kerja.

Ubah sumber ini menjadi dek slide: [URL publik atau path PDF].

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

Gunakan Web Fetch pada halaman publik (atau berkas yang diunggah), simpan sumber sebagai konteks LiveDoc, buat tugas PPT, dan polling sampai dek siap.

Hasilkan:
1. Outline satu baris per slide.
2. Tautan dek yang dihasilkan.
3. Tautan LiveDoc yang dipakai sebagai konteks.

Aturan:
- Jangan mengarang fakta yang tidak ada di sumber. Celah ditulis “Tidak disebutkan di sumber”.
- Tugas PPT memakai kredit; tanya sebelum mengirim.
- Simpan URL sumber, outline, dan tautan dek bersama-sama.
- Jangan menerbitkan atau membagikan dek di luar workspace.
- Tulis outline ke ./deck-outline.md dan ringkas di chat.

Salinan juga menyertakan langkah pemasangan dan aturan keamanan.

Yang Anda dapatkan

Contoh keluaran dari satu eksekusi. Bukan pembuatan langsung.

Contoh kerangka deck (kutipan)

Sumber -> kerangka deck

  1. Mengapa laporan ini penting
  2. Apa yang berubah kuartal ini
  3. Tiga segmen pelanggan
  4. Di mana bukti tipis
  5. Apa yang diuji berikutnya

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

Panggilan persisnya

Untuk developer: alur kerja yang sama sebagai kode, sesuai urutan eksekusi.

Tampilkan panggilan API asli
  1. Ekstrak halaman sumber

    Dengan Web Fetch ubah halaman publik menjadi Markdown dengan judul 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

    Buat LiveDoc, tambahkan 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. Kirim tugas slide

    Panggil PPT Task API dengan konten 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 keluaran

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

    Periksa status sampai selesai dan baca tautan 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);

    Contoh keluaran

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

Termasuk

  • Ekstraksi halaman sumber yang bersih dalam Markdown
  • LiveDoc sebagai konteks yang bisa dipakai ulang
  • Tugas PPT asinkron dan tautan selesai
  • Kerangka slide untuk ditinjau sebelum dibagikan

Yang tidak dilakukan

  • Hanya halaman publik atau file yang diunggah; halaman login bisa gagal
  • Slide mengikuti sumber dan tidak mencakup seluruh sistem merek
  • Satu deck per eksekusi; beberapa deck butuh loop
  • Tidak mengedit deck yang ada dan tidak menjamin kecocokan visual
  • Tidak menerbitkan atau membagikan deck

Pertanyaan

Bisa pakai PDF alih-alih URL?

Bisa. Kirim tugas PPT sebagai multipart form data dengan file; platform menyimpannya sebagai resource LiveDoc dan membuat deck.

Bisa memilih tema?

Bisa. Daftar tema lalu berikan id tema saat membuat tugas.

Berapa lama satu deck?

Ini tugas asinkron. Tanyakan riwayat sampai selesai; deck panjang lebih lama.

Apakah mengedit deck saya?

Tidak. Ia membuat deck baru dari sumber; mengedit deck yang ada adalah alur lain.

Berapa biaya satu deck?

Pembuatan slide ditagih sesuai pemakaian; tarif saat ini di halaman harga dan prompt meminta persetujuan sebelum mengeluarkan biaya.

Bisa memakai ulang sumber?

Bisa. LiveDoc menyimpan sumber; deck atau mindmap berikutnya bisa memakai short_id.

Alur kerja terkait

Sesuaikan

Resep yang sama, disesuaikan dengan cara Anda benar-benar mengirim.

Sumber PDF

Unggah PDF lewat multipart; platform menyimpannya dulu sebagai resource LiveDoc.

Atur tema

Daftar tema yang tersedia dan berikan id saat membuat tugas.

Pakai ulang di deck berikutnya

Buat tugas PPT baru dengan LiveDoc short_id yang sama.

Halaman referensi di balik resep ini dan langkah berikutnya.