Felo API PlatformFelo API Platform

Kandungan

Isi sebulan kandungan dengan soalan audiens anda

Petakan tema dengan Chat, cari soalan audiens di X, ambil sudut sebenar dari transkrip video dan susun kalendar empat minggu yang setiap baris menyebut buktinya.

Masa25 minitTahapPertengahanDikemas kini2026-10-30
Untuk siapaKetua kandunganMedia sosialPencipta

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.

Rancang empat minggu kandungan tentang [topik] untuk [audiens].

Saluran: [saluran]. Format dibenarkan: [senarai]. Hari siaran: [hari]. Bahasa: [bahasa].
Video rujukan (pilihan): [URL YouTube atau ID video]. Tempoh soalan audiens: [90] hari lepas.

Hasilkan jadual kalendar Markdown dengan satu baris setiap idea:
| Tarikh | Format | Tajuk kerja | Sudut | Bukti |
- Tarikh: empat minggu akan datang, pada hari dibenarkan.
- Format: salah satu format dibenarkan.
- Tajuk kerja: nama kandungan.
- Sudut: janji kepada audiens dalam satu ayat.
- Bukti: soalan, siaran, halaman atau cap masa video yang membenarkan idea.

Selepas jadual, tambah:
1. Tiga tema asas bulan itu.
2. Idea mana datang daripada soalan audiens, mana daripada video rujukan dan mana hipotesis anda sendiri.
3. Apa yang perlu dikaji sebelum menulis setiap kandungan.
4. Senarai sumber dengan pautan dan tarikh.

Peraturan:
- Ini idea, bukan jaminan. Jangan janji jangkauan, klik, kedudukan atau pertumbuhan.
- Jangan reka trend, volum carian, angka penglibatan atau petikan.
- Kaitkan setiap soalan audiens dengan siaran atau halaman bertarikh. Jika bukti nipis, label idea sebagai hipotesis.
- Gunakan video rujukan hanya untuk sudut yang benar-benar diliputi; petik pendek dengan cap masa.
- Sebelum menggunakan kredit, tunjukkan carian dan pengekstrakan yang dirancang dan tunggu kelulusan saya.
- Jangan jadualkan siaran, buat draf dalam CMS atau terbitkan apa-apa.
- Tulis hasil ke ./content-calendar.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 kalendar (petikan)

Kalendar kandungan — bulan contoh

Tema

  1. Masa pembersihan ialah kos tersembunyi.
  2. Ruang kaunter menentukan pembelian.
  3. Membeli untuk diri sendiri vs hadiah.

Kalendar

TarikhFormatTajuk kerjaSudutBukti
2026-11-02CarouselUjian pembersihan 5 minitTunjukkan langkah pembersihan yang tiada siapa rakam@example_home, 2026-10-24
2026-11-04Video pendekRuang kaunter, diukurBandingkan jejak di kaunter sebenarVideo rujukan — 42 saat
2026-11-09Surat beritaMengapa meterai rosakJelaskan mod kegagalan yang dilaporkan pembeli@example_buyer, 2026-10-19

Dari mana idea datang

Dua baris daripada soalan audiens bertarikh dan satu daripada video rujukan; baris hipotesis akan dilabel.

Apa untuk dikaji dahulu

Kadar pemulangan dan polisi penggantian meterai — kedua-duanya tidak diliputi sumber di atas.

Sumber

  • https://example.com/category-guide — 2026-10-12
  • https://x.com/example_home/status/... — 2026-10-24

Panggilan sebenar

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

Tunjukkan panggilan API sebenar
  1. Petakan tema dengan Chat

    Tanya Chat subtema yang paling dicari audiens dan simpan sumber.

    calendar.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 ChatData = {
      data: {
        answer: string;
        resources: { link: string; title: string; snippet: string }[];
      };
    };
    
    const topic = "portable espresso makers";
    const audience = "home espresso beginners";
    
    const themes = await felo<ChatData>("/v2/chat", {
      query: `Themes, recurring questions, and content gaps around ${topic} for ${audience}`,
    });
    
    const sources = themes.data.resources.slice(0, 5);

    Contoh output

    {
      "answer": "Beginners ask about cleanup, counter space, and grind size …",
      "sources": [
        { "link": "https://example.com/guide", "title": "…", "snippet": "…" }
      ]
    }
  2. Cari soalan audiens di X

    Cari soalan berkaitan tema di X dalam 90 hari, simpan akaun dan tarikh.

    calendar.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
          url: string;
        }[];
      };
    };
    
    const since = Math.floor((Date.now() - 90 * 24 * 60 * 60 * 1000) / 1000);
    
    const questions = await felo<XData>("/v2/x/tweet/search", {
      query: `"${topic}" (recommend OR beginner OR how)`,
      limit: 50,
      since_time: since,
    });
    
    const asked = questions.data.tweets;

    Contoh output

    { "data": { "tweets": [
      {
        "content": "How do you clean one of these without taking it apart?",
        "author": { "username": "example_home" },
        "created_at": "2026-10-24T11:30:00Z",
        "url": "https://x.com/example_home/status/..."
      }
    ] } }
  3. Ambil transkrip rujukan

    Gunakan YouTube Subtitling untuk transkrip dan cari sudut sebenar yang boleh diguna semula.

    calendar.ts
    type SubtitleData = {
      data: {
        title: string;
        contents: { text: string; start: number; duration: number }[];
      };
    };
    
    const videoCode = "dQw4w9WgXcQ"; // replace with your reference video id
    
    const video = await felo<SubtitleData>(
      `/v2/youtube/subtitling?video_code=${videoCode}&language=en&with_time=true`,
    );

    Contoh output

    {
      "title": "Example Video Title",
      "contents": [
        { "text": "Subtitle text", "start": 42.3, "duration": 8.1 }
      ]
    }
  4. Susun kalendar empat minggu

    Buat jadual Markdown dengan tarikh, format, tajuk kerja, sudut dan bukti.

    calendar.ts
    const start = new Date();
    const day = (offset: number) => {
      const date = new Date(start);
      date.setDate(date.getDate() + offset);
      return date.toISOString().slice(0, 10);
    };
    
    type Idea = {
      dayOffset: number;
      format: string;
      title: string;
      angle: string;
      evidence: string;
    };
    
    // Rows come from the themes, the dated questions, and the transcript.
    const anchor = video.data.contents[0];
    
    const ideas: Idea[] = [
      {
        dayOffset: 1,
        format: "carousel",
        title: "The 5-minute cleanup test",
        angle: "Show the cleanup step nobody films",
        evidence: asked[0]?.url ?? "hypothesis",
      },
      {
        dayOffset: 3,
        format: "short video",
        title: "Counter space, measured",
        angle: "Compare footprints on one real counter",
        evidence: anchor
          ? `${video.data.title} — ${Math.round(anchor.start)}s`
          : video.data.title,
      },
    ];
    
    const calendar = [
      "| Date | Format | Working title | Angle | Evidence |",
      "| --- | --- | --- | --- | --- |",
      ...ideas.map(
        (idea) =>
          `| ${day(idea.dayOffset)} | ${idea.format} | ${idea.title} | ${idea.angle} | ${idea.evidence} |`,
      ),
    ].join("\n");
    
    console.log(calendar);

    Contoh output

    | Date | Format | Working title | Angle | Evidence |
    | --- | --- | --- | --- | --- |
    | 2026-11-02 | carousel | The 5-minute cleanup test | Show the cleanup step nobody films | https://x.com/example_home/status/... |
    | 2026-11-04 | short video | Counter space, measured | Compare footprints on one real counter | Example Video Title — 42s |
  5. Simpan dalam LiveDoc

    Simpan kalendar dan sumber dalam LiveDoc untuk semakan akhir bulan.

    calendar.ts
    type LiveDocData = { data: { short_id: string } };
    
    const plan = await felo<LiveDocData>("/v2/livedocs", {
      name: `Content calendar: ${topic}`,
      description: "Monthly plan with themes, calendar rows, and evidence",
    });
    
    await felo(`/v2/livedocs/${plan.data.short_id}/resources/urls`, {
      urls: sources.map((source) => ({ url: source.link, title: source.title })),
    });
    
    await felo(`/v2/livedocs/${plan.data.short_id}/resources/doc`, {
      title: `Content calendar — ${day(0).slice(0, 7)}`,
      content: calendar,
    });
    
    type Retrieved = { data: { title: string; content: string; score: number }[] };
    
    const lastMonth = await felo<Retrieved>(
      `/v2/livedocs/${plan.data.short_id}/resources/retrieve`,
      { query: "what did we plan last month" },
    ).then((res) => res.data.filter((hit) => hit.score >= 0.7));

    Contoh output

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

Termasuk

  • Peta tema dari Chat
  • Soalan audiens bertarikh di X
  • Transkrip dan sudut video rujukan
  • Kalendar kandungan empat minggu
  • LiveDoc dengan pelan dan sumber

Apa yang tidak dilakukan

  • Tidak meramal prestasi dan tidak menjamin trafik
  • Tidak membaca analytics sejarah anda
  • Tidak menulis post penuh dan tidak menerbitkan
  • Tanpa video rujukan, langkah boleh dilangkau
  • Kalendar ialah cadangan, bukan janji

Soalan

Dari mana ideanya?

Dari peta tema Chat, soalan sebenar audiens di X dan sudut video rujukan. Setiap item menyimpan pautan atau tarikh bukti.

Adakah ia tahu apa yang berkesan sebelum ini?

Tidak. Ia tidak membaca analytics; hasil sejarah anda tambah sendiri.

Adakah ia menulis post juga?

Tidak. Ia memberi kalendar dan sudut; penulisan oleh anda atau writing agent.

Tanpa video rujukan?

Langkau langkah itu; tema dan soalan X masih menampung kalendar.

Boleh jadualkan penerbitan?

Tidak. Ia membuat fail pelan; penjadualan di alat anda.

Berapa kos satu perancangan?

Chat, X Search dan transkrip video dibilkan mengikut penggunaan; kadar semasa di halaman harga dan prompt meminta kelulusan sebelum berbelanja.

Aliran kerja berkaitan

Sesuaikan

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

Dua minggu sahaja

Ringkaskan empat minggu kepada dua untuk pasukan baru bermula.

Asingkan mengikut saluran

Buat lajur surat berita, X dan YouTube dengan tema sama dalam format berbeza.

Tambah pelancaran produk

Letakkan tarikh pelancaran sebagai baris tetap dan isi kandungan di sekelilingnya.

Halaman rujukan di sebalik resipi ini dan langkah seterusnya.