Felo API PlatformFelo API Platform

المحتوى

حوّل موجز منتج إلى صفحة هبوط

ابحث الجمهور واحفظ الموجز في LiveDoc وأنشئ مهمة Landing Page من هذا السياق واسأل حتى تجهز الصفحة المستضافة.

الوقت30 دقيقةالمستوىمتوسطمحدّث2026-10-30
لمنالمؤسسونتسويق المنتجفرق النمو

انسخ الموجّه

استبدل الحقول بين الأقواس المربعة وألصق في Claude Code أو Codex أو أي ذكاء اصطناعي يملك وصولًا إلى الطرفية. يثبّت مهارة Felo ويسأل قبل إنفاق الرصيد وينفّذ سير العمل.

ابنِ صفحة هبوط لـ [المنتج] تستهدف [الجمهور].

الهدف: [تسجيل / عرض توضيحي / قائمة انتظار]. النبرة: [النبرة]. اللغة: [اللغة].
المادة المصدرية: [رابط موجز المنتج أو الصق الموجز]. يجب أن تتضمن: [نقاط الإثبات، السعر، CTA].

استخدم Chat وWeb Fetch لبحث الجمهور وصفحتين أو ثلاث من صفحات المنافسين. احفظ الموجز والبحث في LiveDoc، ثم أنشئ مهمة Landing Page بهذا الـ LiveDoc كسياق. استعلم حتى يكتمل وأعد رابط الصفحة المستضافة.

أنتج:
1. مخطط الصفحة: الواجهة الرئيسية، الإثبات، الميزات، الاعتراضات، CTA.
2. رابط الصفحة المستضافة.
3. رابط LiveDoc المستخدم كسياق.
4. قائمة تحقق بالادعاءات التي تحتاج إلى تحقق.

القواعد:
- لا تختلق مقاييس أو عملاء أو شهادات أو أسعارًا أو ادعاءات امتثال.
- اجعل كل ادعاء قابلًا للتتبع إلى الموجز أو صفحة تم جلبها.
- اسأل قبل استهلاك الأرصدة في البحث أو توليد الصفحة.
- لا تنشر ولا تربط نطاقًا؛ أعد الرابط المستضاف للمراجعة.
- اكتب المخطط في ./landing-page-outline.md ولخّصه في الدردشة.

تتضمن النسخة خطوات التثبيت وقواعد الأمان أيضًا.

ما تحصل عليه

مخرجات نموذجية لتشغيل واحد. ليست توليدًا مباشرًا.

مثال مخطط صفحة هبوط (مقتطف)

مخطط صفحة الهبوط

الواجهة الرئيسية: «ابحث في سوق دون فتح ثلاثين تبويبًا». Subhead: مصادر ومسودة موجز في تشغيل واحد. الدليل: الوقت الموفّر لكل موجز؛ كل ادعاء يرتبط بمصدر. الميزات: البحث، استخراج الصفحات، إشارة X، أدلة LiveDoc. الاعتراضات: «هل سيختلق أرقامًا؟» لا: البيانات الناقصة «لا تتوفر بيانات». CTA: ابدأ بسؤال واحد.

الصفحة: https://felo.ai/ai-page/... السياق: https://felo.ai/livedoc/...

الاستدعاءات الدقيقة

للمطورين: سير العمل نفسه ككود، بترتيب التنفيذ.

عرض استدعاءات API الفعلية
  1. ابحث الجمهور والبدائل

    اسأل Chat من الجمهور وما يحتاجه ثم اقرأ صفحتين أو ثلاثًا للمنافسين عبر Web Fetch.

    landing.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 }[] };
    };
    type ExtractData = { data: { content: string } };
    
    const research = await felo<ChatData>("/v2/chat", {
      query: "Who is [audience] and what do they need from [product]?",
    });
    
    const pages = await Promise.all(
      research.data.resources.slice(0, 2).map((source) =>
        felo<ExtractData>("/v2/web/extract", {
          url: source.link,
          output_format: "markdown",
          with_readability: true,
        }).then((page) => ({ ...source, content: page.data.content })),
      ),
    );

    مخرجات نموذجية

    { "answer": "…", "resources": [{ "link": "https://example.com", "title": "…" }] }
  2. احفظ الموجز في LiveDoc

    أنشئ LiveDoc وأضف الموجز كمستند وأرفق الصفحات الملتقطة.

    landing.ts
    type LiveDocData = { data: { short_id: string } };
    
    const doc = await felo<LiveDocData>("/v2/livedocs", {
      name: "Landing page: [product]",
      description: "Product brief, audience research and competitor notes",
    });
    
    await felo(`/v2/livedocs/${doc.data.short_id}/resources/doc`, {
      title: "Product brief",
      content: "[paste the brief: audience, problem, proof, pricing, CTA]",
    });
    
    await felo(`/v2/livedocs/${doc.data.short_id}/resources/urls`, {
      urls: pages.map((page) => ({ url: page.link, title: page.title })),
    });
    
    console.log(doc.data.short_id); // page context
  3. أنشئ مهمة صفحة الهبوط

    أرسل إلى /v2/landing_page موجّه الصفحة وLiveDoc short_id وخذ task_id.

    landing.ts
    type LandingTaskData = { data: { task_id: string } };
    
    const task = await felo<LandingTaskData>("/v2/landing_page", {
      query:
        "Create a landing page for [product] for [audience]. Goal: [signup]. " +
        "Use the product brief and research in the LiveDoc. Return a hero, proof, " +
        "features, objections and one CTA. Do not invent claims.",
      livedoc_short_id: doc.data.short_id,
    });
    
    console.log(task.data.task_id);

    مخرجات نموذجية

    { "data": { "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }
  4. اسأل حتى الانتهاء

    تحقق من السجل حتى COMPLETED واقرأ ai_page_html.

    landing.ts
    type TaskState = {
      data: { task_status: string; ai_page_html?: string; ppt_url?: string };
    };
    
    async function waitForPage(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.ai_page_html ?? state.data.ppt_url;
        }
        if (["FAILED", "EXPIRED", "CANCELED"].includes(state.data.task_status)) {
          throw new Error(`Landing page task ${state.data.task_status}`);
        }
        await new Promise((resolve) => setTimeout(resolve, 3000));
      }
      throw new Error("Landing page task timed out");
    }
    
    const pageUrl = await waitForPage(task.data.task_id);
    console.log(pageUrl);

    مخرجات نموذجية

    {
      "task_status": "COMPLETED",
      "ai_page_html": "https://felo.ai/ai-page/9qiLTmT77fA3aVurrMHvRJ",
      "ppt_url": "https://felo.ai/slides/9qiLTmT77fA3aVurrMHvRJ"
    }
  5. راجع قبل المشاركة

    تحقق من الادعاءات والأسعار والنص القانوني وروابط CTA ثم شارك.

ما يتضمنه

  • بحث جمهور ومنافسين من صفحات عامة
  • الموجز والبحث في LiveDoc
  • صفحة مستضافة من هذا السياق
  • قائمة تحقق للادعاءات والروابط وCTA قبل المشاركة

ما لا يفعله

  • ينشئ صفحة مستضافة ولا ينشر موقعًا ولا يربط نطاقًا
  • النص المولّد يحتاج مراجعة بشرية قبل المشاركة
  • لا اختبارات A/B ولا اتصال تحليلات
  • لا يتحقق من ادعاءات خارج الموجز والصفحة
  • لا ينشئ شعارًا أو نظام علامة أو رسومات خاصة

أسئلة

ماذا ينشئ؟

صفحة هبوط مستضافة في Felo من الموجز والبحث. تحصل على رابط لا موقع منشور.

هل يمكن استخدام نطاقي؟

سير العمل هذا لا يربط نطاقات. يعيد صفحة مستضافة للمراجعة؛ النطاق والنشر خطوة أخرى.

هل يختلق شهادات أو مقاييس؟

لا. يمنع الموجّه الاختلاق ويشترط أن يأتي كل ادعاء من الموجز أو صفحة ملتقطة.

هل يمكن التكرار؟

نعم. غيّر الموجز في LiveDoc وأنشئ مهمة Landing Page جديدة.

هل ينشئ صورًا خاصة؟

يتولى البنية والنص؛ الرسومات ومواد العلامة خارج سير العمل.

كم تكلفة صفحة واحدة؟

يُحتسب البحث وتوليد الصفحة حسب الاستخدام؛ الأسعار الحالية في صفحة الأسعار ويطلب الموجّه الموافقة قبل الإنفاق.

سير عمل مرتبط

اجعله مناسبًا لك

الوصفة نفسها، معدّلة بحسب طريقة تسليمك الفعلية.

ابدأ بملف PDF

أرسل PDF عبر multipart؛ يخزنه النظام كمورد LiveDoc ويمرره للمهمة.

نسختا تموضع

أنشئ مهمتين بزاويتين مختلفتين في LiveDoc نفسه وقارن قبل الاختيار.

أعد الاستخدام في عرض

يمكن لـ LiveDoc نفسه تغذية مهمة PPT لتخبر الصفحة والعرض القصة نفسها.

صفحات المراجع خلف هذه الوصفة والخطوات التالية.