內容
把產品簡報變成登陸頁
研究受眾,把簡報存進 LiveDoc,然後基於這份上下文建立 Landing Page 任務,輪詢直到託管頁面生成完成。
複製 prompt
把方括號裡的欄位替換掉,然後貼到 Claude Code、Codex 或任何能存取終端機的 AI。它會安裝 Felo skill、在花額度前詢問,並執行這套工作流程。
為[產品]製作一個面向[受眾]的著陸頁。 目標:[註冊 / 示範 / 等候名單]。語氣:[語氣]。語言:[語言]。 素材:[產品簡報 URL,或貼上簡報]。必須包含:[證明點、定價、CTA]。 用 Chat 和 Web Fetch 研究受眾和兩三個競品頁面。把簡報和研究存進 LiveDoc,再用該 LiveDoc 作為脈絡建立 Landing Page 任務。輪詢直到完成,並回傳託管頁面連結。 輸出: 1. 頁面大綱:首屏、證明、功能、異議、CTA。 2. 託管頁面連結。 3. 作為脈絡使用的 LiveDoc 連結。 4. 需要核實的說法清單。 規則: - 不要編造指標、客戶、見證、價格或合規聲明。 - 每個說法都要能追溯到簡報或已抓取的頁面。 - 在消耗額度做研究或生成頁面前先詢問。 - 不要發布或綁定網域;回傳託管連結供審閱。 - 將大綱寫入 ./landing-page-outline.md,並在對話中總結。
複製的內容也包含安裝步驟和安全規則。
你會得到什麼
一次執行的範例輸出,不是即時生成。
著陸頁大綱
首屏:「不用開三十個分頁就能研究市場。」 副標: 一次執行拿到來源與簡報草稿。 證明: 每份簡報節省的時間;每個主張都連結到來源。 功能: 搜尋、頁面擷取、X 訊號、LiveDoc 證據。 異議:「會編數字嗎?」不會:資料缺失就寫「暫無資料」。 CTA: 從一個問題開始。
頁面:https://felo.ai/ai-page/... 脈絡:https://felo.ai/livedoc/...
實際呼叫
給開發者:同一套工作流程的可複製程式碼,依執行順序排列。
展開實際 API 呼叫
研究受眾和替代方案
用 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": "…" }] }把簡報存進 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建立登陸頁任務
用
/v2/landing_page送出頁面 prompt 和 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" } }輪詢直到完成
查詢任務歷史,直到狀態為 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" }分享前 review
逐條核對 claim、價格、法務措辭和 CTA 連結,再分享連結。
包含什麼
- 基於公開頁面的受眾和競品研究
- 產品簡報和研究存進 LiveDoc
- 從這份上下文生成的託管登陸頁
- 分享前的 claim、連結和 CTA review 清單
不做什麼
- 只生成託管頁面,不發佈網站,也不接自有網域
- 生成的文案需要人工 review 後才能分享
- 不做 A/B 測試,也不接 analytics
- 無法驗證簡報和頁面裡沒有的 claim
- 不生成 logo、品牌系統或客製插畫
常見問題
它會生成什麼?
一份基於產品簡報和研究、託管在 Felo 的登陸頁。你拿到的是連結,不是已部署的網站。
可以用我自己的網域嗎?
這套工作流程不接自有網域。它回傳託管頁面供 review,綁定網域和發佈是另一個步驟。
會編造客戶評價或指標嗎?
不會。prompt 禁止編造 claim,並要求每條主張都能追溯到簡報或抓取頁面。沒有依據的內容會被標出。
可以反覆迭代嗎?
可以。修改 LiveDoc 裡的簡報,再用新上下文建立一個新的 Landing Page 任務。
會設計客製圖片嗎?
它負責頁面結構和文案;客製插畫和品牌素材不在这套工作流程裡。
一個頁面要花多少?
研究和頁面生成按用量計費;目前費率在價格頁面,prompt 會先請求確認。
相關工作流程
改成你的版本
同一套配方,依你實際的交付方式調整。
從 PDF 簡報開始
用 multipart 上傳 PDF,平台會把它存成 LiveDoc 資源再傳給頁面任務。
生成兩個定位版本
用同一個 LiveDoc 建立兩個不同角度的任務,對比後再選一個打磨。
重複使用到簡報檔
同一份 LiveDoc 還可以餵給 PPT 任務,讓頁面和 deck 講同一個故事。
繼續深入
這套配方背後的參考頁面,以及下一步可以看什麼。