Felo API PlatformFelo API Platform

Contenuti

Riempi un mese di contenuti con le domande del tuo pubblico

Mappa i temi con Chat, trova le domande del pubblico su X, prendi un angolo reale da una trascrizione video e componi un calendario di quattro settimane in cui ogni riga nomina la sua prova.

Tempo25 minutiLivelloIntermedioAggiornato2026-10-30
Per chiContent leadSocial mediaCreator

Copia il prompt

Sostituisci i campi tra parentesi quadre e incolla in Claude Code, Codex o qualsiasi IA con accesso al terminale. Installa lo skill Felo, chiede prima di spendere crediti ed esegue il workflow.

Pianifica quattro settimane di contenuti su [tema] per [pubblico].

Canale: [canale]. Formati consentiti: [elenco]. Giorni di pubblicazione: [giorni]. Lingua: [lingua].
Video di riferimento (opzionale): [URL YouTube o ID video]. Finestra delle domande del pubblico: ultimi [90] giorni.

Produci una tabella calendario Markdown con una riga per idea:
| Data | Formato | Titolo di lavoro | Angolo | Prova |
- Data: le prossime quattro settimane, nei giorni consentiti.
- Formato: uno di quelli consentiti.
- Titolo di lavoro: come si chiama il contenuto.
- Angolo: la promessa al pubblico in una frase.
- Prova: la domanda, il post, la pagina o il timestamp del video che giustifica l’idea.

Dopo la tabella aggiungi:
1. I tre temi su cui si costruisce il mese.
2. Quali idee vengono dalle domande del pubblico, quali dal video di riferimento e quali sono tue ipotesi.
3. Cosa dovresti ricercare prima di scrivere ogni contenuto.
4. Un elenco di fonti con link e date.

Regole:
- Sono idee, non garanzie. Non promettere mai copertura, clic, posizionamenti o crescita.
- Non inventare tendenze, volume di ricerca, numeri di engagement o citazioni.
- Collega ogni domanda del pubblico a un post o una pagina con data. Se le prove sono scarse, etichetta l’idea come ipotesi.
- Usa il video di riferimento solo per gli angoli che copre davvero; cita brevemente con timestamp.
- Prima di consumare crediti, mostra le ricerche ed estrazioni previste e attendi la mia approvazione.
- Non programmare post, non creare bozze nel CMS e non pubblicare nulla.
- Scrivi il risultato in ./content-calendar.md e riassumilo in chat.

La copia include anche i passaggi di installazione e le regole di sicurezza.

Cosa ottieni

Output di esempio di un'esecuzione. Non è generazione dal vivo.

Esempio di calendario (estratto)

Calendario contenuti — mese di esempio

Temi

  1. Il tempo di pulizia è il costo nascosto.
  2. Lo spazio sul piano decide l’acquisto.
  3. Comprare per sé vs. come regalo.

Calendario

DataFormatoTitolo di lavoroAngoloProva
2026-11-02CaroselloIl test di pulizia da 5 minutiMostrare il passaggio di pulizia che nessuno filma@example_home, 2026-10-24
2026-11-04Video breveSpazio sul piano, misuratoConfrontare gli ingombri su un piano realeVideo di riferimento — 42 s
2026-11-09NewsletterPerché la guarnizione si rompeSpiegare il modo di guasto che gli acquirenti segnalano@example_buyer, 2026-10-19

Da dove vengono le idee

Due righe vengono da domande datate del pubblico e una dal video di riferimento; una riga ipotesi sarebbe etichettata come tale.

Cosa ricercare prima

Tassi di reso e politica di sostituzione della guarnizione — nessuna è coperta dalle fonti sopra.

Fonti

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

Le chiamate esatte

Per gli sviluppatori: lo stesso workflow come codice, nell'ordine di esecuzione.

Mostra le chiamate API reali
  1. Mappa i temi con Chat

    Chiedi a Chat i sotto-temi più cercati dal pubblico e conserva le fonti.

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

    Output di esempio

    {
      "answer": "Beginners ask about cleanup, counter space, and grind size …",
      "sources": [
        { "link": "https://example.com/guide", "title": "…", "snippet": "…" }
      ]
    }
  2. Trova le domande del pubblico su X

    Cerca domande sul tema su X negli ultimi 90 giorni, conservando account e date.

    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;

    Output di esempio

    { "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. Prendi una trascrizione di riferimento

    Usa YouTube Subtitling per una trascrizione e trova un angolo reale riutilizzabile.

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

    Output di esempio

    {
      "title": "Example Video Title",
      "contents": [
        { "text": "Subtitle text", "start": 42.3, "duration": 8.1 }
      ]
    }
  4. Componi il calendario di quattro settimane

    Crea una tabella Markdown con data, formato, titolo di lavoro, angolo e prova.

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

    Output di esempio

    | 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. Salva nel LiveDoc

    Salva calendario e fonti nel LiveDoc per la revisione di fine mese.

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

    Output di esempio

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

Cosa include

  • Mappa dei temi da Chat
  • Domande datate del pubblico su X
  • Trascrizione e angolo di un video di riferimento
  • Calendario di quattro settimane
  • LiveDoc con piano e fonti

Cosa non fa

  • Non prevede performance e non garantisce traffico
  • Non legge la tua analytics storica
  • Non scrive post completi e non pubblica
  • Senza video di riferimento il passo può essere saltato
  • Il calendario è un suggerimento, non una promessa

Domande

Da dove vengono le idee?

Dalla mappa dei temi di Chat, dalle domande reali del pubblico su X e dall’angolo di un video di riferimento. Ogni voce conserva link o data della prova.

Sa cosa ha funzionato prima?

No. Non legge la analytics; i risultati storici li aggiungi tu.

Scrive anche i post?

No. Consegna calendario e angoli; la scrittura è tua o del tuo agent.

E senza video di riferimento?

Salta quel passo; temi e domande X sostengono comunque il calendario.

Posso pianificare le pubblicazioni?

No. Crea un file di piano; la pianificazione è nel tuo strumento.

Quanto costa una pianificazione?

Chat, X Search e trascrizione sono a consumo; le tariffe sono nella pagina prezzi e il prompt chiede approvazione prima di spendere.

Workflow correlati

Adattala a te

La stessa ricetta, adattata a come lavori davvero.

Solo due settimane

Comprimi quattro settimane in due per team che iniziano.

Dividi per canale

Crea colonne newsletter, X e YouTube con lo stesso tema in formati diversi.

Aggiungi il lancio prodotto

Metti date di lancio come righe fisse e riempi intorno.

Le pagine di riferimento dietro questa ricetta e i prossimi passi.