Felo API PlatformFelo API Platform

İçerik

Bir ürün brifini açılış sayfasına dönüştürün

Kitleyi araştırın, brifi LiveDoc’a kaydedin, bu bağlamdan bir Landing Page görevi oluşturun ve barındırılan sayfa hazır olana kadar sorun.

Süre30 dakikaSeviyeOrtaGüncellendi2026-10-30
Kimler içinKurucularProduct marketingBüyüme ekipleri

İstemi kopyalayın

Köşeli parantezli alanları değiştirip Claude Code, Codex veya terminal erişimi olan bir AI’ya yapıştırın. Felo becerisini kurar, kredi harcamadan önce sorar ve iş akışını çalıştırır.

[Ürün] için [hedef kitle] kitlesine yönelik bir açılış sayfası oluştur.

Amaç: [kayıt / demo / bekleme listesi]. Ton: [ton]. Dil: [dil].
Kaynak materyal: [ürün özeti URL’si veya özeti yapıştır]. Şunları içermeli: [kanıt noktaları, fiyat, CTA].

Hedef kitleyi ve iki veya üç rakip sayfasını araştırmak için Chat ve Web Fetch kullan. Özeti ve araştırmayı bir LiveDoc’a kaydet, sonra bu LiveDoc’u bağlam alan bir Landing Page görevi oluştur. Tamamlanana kadar sorgula ve barındırılan sayfanın bağlantısını döndür.

Şunları hazırla:
1. Sayfa ana hattı: giriş alanı, kanıt, özellikler, itirazlar, CTA.
2. Barındırılan sayfanın bağlantısı.
3. Bağlam olarak kullanılan LiveDoc bağlantısı.
4. Doğrulanması gereken iddiaların kontrol listesi.

Kurallar:
- Metrik, müşteri, referans, fiyat veya uyumluluk iddiası uydurma.
- Her iddiayı özete veya alınan sayfaya kadar izlenebilir tut.
- Araştırma veya sayfa üretimi için kredi harcamadan önce sor.
- Yayımlama veya alan adı bağlama; inceleme için barındırılan bağlantıyı döndür.
- Ana hattı ./landing-page-outline.md dosyasına yaz ve sohbette özetle.

Kopya kurulum adımlarını ve güvenlik kurallarını da içerir.

Ne elde edersiniz

Bir çalıştırmanın örnek çıktısı. Canlı üretim değil.

Örnek açılış sayfası taslağı (alıntı)

Açılış sayfası taslağı

Giriş alanı: “Otuz sekme açmadan bir pazarı araştır.” Subhead: Tek çalıştırmada kaynaklar ve taslak brief. Kanıt: Brief başına kazanılan süre; her iddia bir kaynağa bağlanır. Özellikler: Arama, sayfa çıkarma, X sinyali, LiveDoc kanıtı. İtirazlar: “Sayı uydurur mu?” Hayır: eksik veri “Veri yok”. CTA: Tek bir soruyla başla.

Sayfa: https://felo.ai/ai-page/... Bağlam: https://felo.ai/livedoc/...

Tam çağrılar

Geliştiriciler için: aynı iş akışı kod olarak, yürütme sırasıyla.

Gerçek API çağrılarını göster
  1. Kitle ve alternatifleri araştırın

    Chat’e kitlenin kim olduğunu ve neye ihtiyacı olduğunu sorun, sonra Web Fetch ile iki veya üç rakip sayfası okuyun.

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

    Örnek çıktı

    { "answer": "…", "resources": [{ "link": "https://example.com", "title": "…" }] }
  2. Briri LiveDoc’a kaydedin

    LiveDoc oluşturun, brifi belge olarak ekleyin ve yakalanan sayfaları iliştirin.

    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. Açılış sayfası görevi oluşturun

    /v2/landing_pagee sayfa istemini ve LiveDoc short_id’yi gönderin, task_id alın.

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

    Örnek çıktı

    { "data": { "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }
  4. Bitene kadar sorun

    Geçmişi COMPLETED’a kadar kontrol edin ve ai_page_htmli okuyun.

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

    Örnek çıktı

    {
      "task_status": "COMPLETED",
      "ai_page_html": "https://felo.ai/ai-page/9qiLTmT77fA3aVurrMHvRJ",
      "ppt_url": "https://felo.ai/slides/9qiLTmT77fA3aVurrMHvRJ"
    }
  5. Paylaşmadan önce kontrol edin

    İddiaları, fiyatları, yasal metni ve CTA bağlantılarını doğrulayın, sonra paylaşın.

Neler dahil

  • Kamuya açık sayfalardan kitle ve rakip araştırması
  • LiveDoc’ta brif ve araştırma
  • Bu bağlamdan barındırılan sayfa
  • Paylaşmadan önce iddia, bağlantı ve CTA kontrol listesi

Neleri yapmaz

  • Barındırılan sayfa üretir, site yayımlamaz ve alan adı bağlamaz
  • Üretilen metin paylaşmadan önce insan kontrolü ister
  • A/B testi ve analitik bağlantısı yok
  • Brif ve sayfa dışındaki iddiaları doğrulamaz
  • Logo, marka sistemi veya özel görsel üretmez

Sorular

Ne üretir?

Brif ve araştırmadan Felo’da barındırılan bir açılış sayfası. Bağlantı alırsınız, yayımlanmış site değil.

Kendi alan adımı kullanabilir miyim?

Bu iş akışı alan adı bağlamaz. İnceleme için barındırılan sayfa döndürür; alan adı ve yayın ayrı adımdır.

Referans veya metrik uydurur mu?

Hayır. İstem uydurmayı yasaklar ve her iddianın briften veya yakalanan sayfadan gelmesini ister.

İterasyon yapılabilir mi?

Evet. LiveDoc’ta brifi değiştirin ve yeni bir Landing Page görevi oluşturun.

Özel görseller üretir mi?

Yapı ve metinle ilgilenir; görseller ve marka malzemeleri iş akışı dışında.

Bir sayfanın maliyeti nedir?

Araştırma ve sayfa üretimi kullanıma göre faturalanır; güncel tarifeler fiyat sayfasında ve istem harcamadan önce onay ister.

İlgili iş akışları

Kendinize uyarlayın

Aynı tarif, gerçekte nasıl teslim ettiğinize uyarlanmış.

PDF ile başlayın

Multipart ile PDF gönderin; platform onu LiveDoc kaynağı olarak saklar ve göreve verir.

İki konumlandırma sürümü

Aynı LiveDoc’ta farklı açılarla iki görev oluşturun ve seçmeden önce karşılaştırın.

Sunumda yeniden kullanın

Aynı LiveDoc bir PPT görevini besleyebilir, sayfa ve deste aynı hikâyeyi anlatsın.

Bu tarifin arkasındaki referans sayfaları ve sonraki adımlar.