Ofis
Bir araştırma sayfasını sunuma dönüştürün
Sayfayı çıkarın, LiveDoc bağlamı olarak kaydedin, PPT Task API’nin desteyi kurmasına izin verin ve bitmiş bağlantı gelene kadar sorun.
İ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.
Bu kaynağı bir slayt destesine dönüştür: [kamusal URL veya PDF yolu]. Hedef kitle: [kim bakacak]. Slaytlar: [6–10]. Dil: [dil]. Tema: [tema adı veya “default”]. Kamusal sayfada (veya yüklenen dosyada) Web Fetch kullan, kaynağı LiveDoc bağlamı olarak kaydet, bir PPT görevi oluştur ve deste hazır olana kadar sorgula. Şunları hazırla: 1. Slayt başına bir satırlık ana hat. 2. Oluşturulan destenin bağlantısı. 3. Bağlam olarak kullanılan LiveDoc bağlantısı. Kurallar: - Kaynakta olmayan olgu uydurma. Boşlukları “Kaynakta belirtilmemiş” olarak yaz. - PPT görevleri kredi harcar; göndermeden önce sor. - Kaynak URL’sini, ana hattı ve deste bağlantısını birlikte tut. - Desteyi workspace dışında yayımlama veya paylaşma. - Ana hattı ./deck-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.
Kaynak -> sunum taslağı
- Bu rapor neden önemli
- Bu çeyrekte ne değişti
- Üç müşteri segmenti
- Kanıtın zayıf olduğu yer
- Sonra ne test edilmeli
Sunum: https://felo.ai/slides/... 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
Kaynak sayfayı çıkarın
Web Fetch ile kamuya açık sayfayı Markdown’a çevirin, başlık ve gövdeyi koruyun.
deck.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 ExtractData = { data: { content: string } }; const page = await felo<ExtractData>("/v2/web/extract", { url: "https://example.com/research", output_format: "markdown", with_readability: true, });LiveDoc bağlamı olarak kaydedin
LiveDoc oluşturun, kaynağı belge olarak ekleyin ve short_id alın.
deck.ts type LiveDocData = { data: { short_id: string } }; type ResourceData = { data: { id: string } }; const doc = await felo<LiveDocData>("/v2/livedocs", { name: "Quarterly research deck", description: "Source material for the next deck", }); const resource = await felo<ResourceData>( `/v2/livedocs/${doc.data.short_id}/resources/doc`, { title: "Source page", content: page.data.content, }, );Slayt görevini gönderin
İçerik ve LiveDoc short_id ile PPT Task API’yi çağırıp task_id alın.
deck.ts type PptTaskData = { data: { task_id: string; livedoc_short_id: string }; }; const task = await felo<PptTaskData>("/v2/ppts", { query: "Six slides for a product review: findings, evidence, next steps", livedoc_short_id: doc.data.short_id, }); console.log(task.data.task_id);Örnek çıktı
{ "data": { "livedoc_short_id": "PvyKouzJirXjFdst4uKRK3", "ppt_business_id": "BfLPuQKmChk9SPmyQawxgr", "task_id": "019cad6d-e874-55ef-d577-686344b5a7e9" } }Bitene kadar sorun
Durumu tamamlanana kadar kontrol edin ve slayt bağlantısını okuyun.
deck.ts type TaskState = { data: { task_status: string; ppt_url?: string; live_doc_url?: string }; }; async function waitForDeck(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; if (["FAILED", "EXPIRED", "CANCELED"].includes(state.data.task_status)) { throw new Error(`Deck task ${state.data.task_status}`); } await new Promise((resolve) => setTimeout(resolve, 3000)); } throw new Error("Deck task timed out"); } const result = await waitForDeck(task.data.task_id); console.log(result.ppt_url);Örnek çıktı
{ "task_status": "COMPLETED", "ppt_url": "https://felo.ai/slides/oM8A9iJHg8dT4ZKgHThQTx", "live_doc_url": "https://felo.ai/livedoc/oM8A9iJHg8dT4ZKgHThQTx" }
Neler dahil
- Kaynak sayfanın temiz Markdown çıkarımı
- Yeniden kullanılabilir bağlam olarak LiveDoc
- Asenkron PPT görevi ve bitmiş bağlantı
- Paylaşmadan önce incelemek için slayt iskeleti
Neleri yapmaz
- Yalnızca kamuya açık sayfa veya yüklenen dosya; oturumlu sayfalar başarısız olabilir
- Slaytlar kaynağı izler ve tüm marka sistemini kapsamaz
- Çalıştırma başına bir deste; birden çok deste döngü gerektirir
- Mevcut desteyi düzenlemez ve görsel eşleşme garantisi vermez
- Desteyi yayımlamaz veya paylaşmaz
Sorular
URL yerine PDF kullanılabilir mi?
Evet. PPT görevini dosyayla multipart form data olarak gönderin; platform onu LiveDoc kaynağı olarak saklar ve desteyi oluşturur.
Tema seçilebilir mi?
Evet. Temaları listeleyin ve görev oluştururken tema id’sini verin.
Bir deste ne kadar sürer?
Asenkron bir görevdir. Bitene kadar geçmişi sorgulayın; uzun desteler daha uzun sürer.
Mevcut destemi düzenler mi?
Hayır. Kaynaktan yeni deste oluşturur; mevcut desteyi düzenlemek başka bir iş akışı.
Bir destenin maliyeti nedir?
Slayt üretimi kullanıma göre faturalanır; güncel tarifeler fiyat sayfasında ve istem harcamadan önce onay ister.
Kaynak yeniden kullanılabilir mi?
Evet. LiveDoc kaynağı tutar; sonraki desteler veya mindmap’ler short_id’sini kullanabilir.
İlgili iş akışları
Tek bir soruyu kaynaklı araştırma brifine dönüştürün
Web’e sorun, yanıtın arkasındaki sayfaları Markdown olarak kaydedin, X’te uygulayıcıların söylediklerini ekleyin ve kanıtları daha sonra tekrar aranabilen bir LiveDoc’ta tutun.
İş akışını açİçerikEkibin gerçekten okuduğu günlük bir AI haber özeti yayımlayın
Kaynaklı bir özet alın, X’te uygulayıcı tartışmalarını ekleyin, bir video transkripti alın, edisyonu Markdown’da kurun ve LiveDoc’ta arşivleyin.
İş akışını açDestekDestek sorularını kendi dokümantasyonunuzdan yanıtlayın
Bir LiveDoc oluşturun, yardım merkezini ve dahili runbook’u yükleyin, bileti yanıtlayan pasajları alın ve modelin yalnızca bu kanıtlardan yanıtlamasına izin verin.
İş akışını açKendinize uyarlayın
Aynı tarif, gerçekte nasıl teslim ettiğinize uyarlanmış.
PDF kaynağı
Multipart ile PDF yükleyin; platform önce onu LiveDoc kaynağı olarak saklar.
Tema ayarlayın
Mevcut temaları listeleyin ve görev oluştururken id verin.
Sonraki destede kullanın
Aynı LiveDoc short_id ile yeni PPT görevi oluşturun.
Devam edin
Bu tarifin arkasındaki referans sayfaları ve sonraki adımlar.