Felo API PlatformFelo API Platform

محتوا

یک ماه محتوا را با پرسش‌های مخاطبان پر کنید

موضوعات را با Chat نقشه کنید، پرسش‌های مخاطبان را در X پیدا کنید، زاویه واقعی از متن ویدیو بگیرید و تقویم چهار هفته‌ای بسازید که هر ردیف شاهدش را می‌گوید.

زمان۲۵ دقیقهسطحمتوسطبه‌روزرسانی2026-10-30
برای چه کسانیرهبر محتوارسانه اجتماعیسازندگان

کپی پرامپت

فیلدهای داخل قلاب را جایگزین کنید و در Claude Code، Codex یا هوش مصنوعی با دسترسی ترمینال بچسبانید. مهارت Felo را نصب می‌کند، پیش از خرج اعتبار می‌پرسد و گردش‌کار را اجرا می‌کند.

چهار هفته محتوا درباره [موضوع] برای [مخاطب] برنامه‌ریزی کنید.

کانال: [کانال]. قالب‌های مجاز: [فهرست]. روزهای انتشار: [روزها]. زبان: [زبان].
ویدیوی مرجع (اختیاری): [URL یوتیوب یا شناسه ویدیو]. بازه پرسش‌های مخاطب: [۹۰] روز گذشته.

یک جدول تقویم Markdown با یک ردیف برای هر ایده بسازید:
| تاریخ | قالب | عنوان کاری | زاویه | شاهد |
- تاریخ: چهار هفته آینده، در روزهای مجاز.
- قالب: یکی از قالب‌های مجاز.
- عنوان کاری: نام محتوا.
- زاویه: وعده به مخاطب در یک جمله.
- شاهد: پرسش، پست، صفحه یا زمان ویدیویی که ایده را توجیه می‌کند.

پس از جدول اضافه کنید:
1. سه موضوعی که ماه بر آن‌ها بنا شده.
2. کدام ایده‌ها از پرسش مخاطب، کدام از ویدیوی مرجع و کدام فرضیه خود شماست.
3. چه چیزی را باید پیش از نوشتن هر محتوا بررسی کنید.
4. فهرست منابع با پیوند و تاریخ.

قواعد:
- این‌ها ایده‌اند، نه تضمین. هرگز دسترسی، کلیک، رتبه یا رشد را وعده ندهید.
- روند، حجم جست‌وجو، عدد تعامل یا نقل‌قول نسازید.
- هر پرسش مخاطب را به پست یا صفحه دارای تاریخ وصل کنید. اگر شواهد کم است، ایده را فرضیه علامت بزنید.
- ویدیوی مرجع را فقط برای زاویه‌هایی که واقعاً پوشش می‌دهد استفاده کنید؛ کوتاه با زمان نقل کنید.
- پیش از مصرف اعتبار، جست‌وجوها و استخراج‌های برنامه‌ریزی‌شده را نشان دهید و منتظر تأیید من بمانید.
- پست زمان‌بندی نکنید، در CMS پیش‌نویس نسازید و چیزی منتشر نکنید.
- نتیجه را در ./content-calendar.md بنویسید و در چت خلاصه کنید.

نسخه شامل مراحل نصب و قواعد ایمنی نیز هست.

چه دریافت می‌کنید

خروجی نمونه یک اجرا. نه تولید زنده.

نمونه تقویم (بخش)

تقویم محتوا — ماه نمونه

موضوعات

  1. زمان تمیزکاری هزینه پنهان است.
  2. فضای میز خرید را تعیین می‌کند.
  3. خرید برای خود در برابر هدیه.

تقویم

تاریخقالبعنوان کاریزاویهشاهد
2026-11-02کاروسلآزمون تمیزکاری ۵ دقیقه‌ایمرحله تمیزی را نشان بده که کسی فیلم نمی‌گیرد@example_home، 2026-10-24
2026-11-04ویدیوی کوتاهفضای میز، اندازه‌گیری‌شدهردپا را روی یک میز واقعی مقایسه کنویدیوی مرجع — ۴۲ ثانیه
2026-11-09خبرنامهچرا واشر خراب می‌شودالگوی خرابی را که خریداران گزارش می‌کنند توضیح بده@example_buyer، 2026-10-19

ایده‌ها از کجا آمدند

دو ردیف از پرسش‌های تاریخ‌دار مخاطب و یکی از ویدیوی مرجع؛ ردیف فرضیه برچسب می‌خورد.

اول چه چیزی را بررسی کنیم

نرخ مرجوعی و سیاست تعویض واشر — هیچ‌کدام در منابع بالا پوشش داده نشده.

منابع

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

فراخوانی‌های دقیق

برای توسعه‌دهندگان: همان گردش‌کار به‌صورت کد، به ترتیب اجرا.

نمایش فراخوانی‌های واقعی API
  1. موضوعات را با Chat نقشه کنید

    از Chat پرجست‌وجوترین زیرموضوعات مخاطب را بپرسید و منابع را نگه دارید.

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

    خروجی نمونه

    {
      "answer": "Beginners ask about cleanup, counter space, and grind size …",
      "sources": [
        { "link": "https://example.com/guide", "title": "…", "snippet": "…" }
      ]
    }
  2. پرسش‌های مخاطبان را در X پیدا کنید

    پرسش‌های مرتبط با موضوع را در ۹۰ روز آخر در X جست‌وجو کنید و حساب و تاریخ را نگه دارید.

    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;

    خروجی نمونه

    { "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. متن مرجع بگیرید

    از YouTube Subtitling برای متن استفاده کنید و زاویه واقعی قابل استفاده مجدد پیدا کنید.

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

    خروجی نمونه

    {
      "title": "Example Video Title",
      "contents": [
        { "text": "Subtitle text", "start": 42.3, "duration": 8.1 }
      ]
    }
  4. تقویم چهار هفته را بسازید

    جدول Markdown با تاریخ، قالب، عنوان کاری، زاویه و شاهد بسازید.

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

    خروجی نمونه

    | 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. در LiveDoc ذخیره کنید

    تقویم و منابع را در LiveDoc ذخیره کنید تا پایان ماه مرور شوند.

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

    خروجی نمونه

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

چه چیزی دارد

  • نقشه موضوعات از Chat
  • پرسش‌های تاریخ‌دار مخاطبان در X
  • متن و زاویه ویدیوی مرجع
  • تقویم محتوای چهار هفته
  • LiveDoc با برنامه و منابع

چه کاری نمی‌کند

  • عملکرد را پیش‌بینی یا ترافیک را تضمین نمی‌کند
  • تحلیل تاریخی شما را نمی‌خواند
  • پست کامل نمی‌نویسد و منتشر نمی‌کند
  • بدون ویدیوی مرجع گام قابل حذف است
  • تقویم پیشنهاد است نه وعده

پرسش‌ها

ایده‌ها از کجا؟

از نقشه موضوعات Chat، پرسش‌های واقعی مخاطبان در X و زاویه ویدیوی مرجع. هر آیتم پیوند یا تاریخ شاهد را نگه می‌دارد.

آیا می‌داند قبلاً چه کار کرد؟

نه. تحلیل نمی‌خواند؛ نتایج تاریخی را شما اضافه می‌کنید.

آیا پست‌ها را هم می‌نویسد؟

نه. تقویم و زاویه می‌دهد؛ نوشتن کار شما یا عامل نویسندگی شماست.

بدون ویدیوی مرجع؟

آن گام را حذف کنید؛ موضوعات و پرسش‌های X تقویم را نگه می‌دارند.

می‌توان انتشار را زمان‌بندی کرد؟

نه. فایل برنامه می‌سازد؛ زمان‌بندی در ابزار شماست.

هزینه یک برنامه‌ریزی چقدر است؟

Chat، X Search و متن ویدیو بر اساس استفاده محاسبه می‌شوند؛ نرخ‌های فعلی در صفحه قیمت و پرامپت پیش از هزینه تأیید می‌خواهد.

گردش‌کارهای مرتبط

آن را از خود کنید

همان دستور، متناسب با روش واقعی تحویل شما.

فقط دو هفته

چهار هفته را به دو برای تیم‌های تازه‌کار فشرده کنید.

بر اساس کانال جدا کنید

ستون‌های خبرنامه، X و YouTube با همان موضوع در قالب‌های مختلف بسازید.

عرضه محصول اضافه کنید

تاریخ عرضه را ردیف ثابت بگذارید و محتوا را اطرافش پر کنید.

صفحات مرجع پشت این دستور و گام‌های بعدی.