Felo API PlatformFelo API Platform

Content

Einen Monat Content mit den Fragen deiner Zielgruppe füllen

Ordne Themen mit Chat, finde die Fragen deiner Zielgruppe auf X, hole einen echten Winkel aus einem Referenzvideo und erstelle einen Vier-Wochen-Kalender, in dem jede Zeile ihren Beleg nennt.

Dauer25 MinutenLevelFortgeschrittenAktualisiert2026-10-30
Für wenContent-LeadsSocial MediaCreator

Prompt kopieren

Ersetze die Felder in eckigen Klammern und füge den Prompt in Claude Code, Codex oder eine KI mit Terminalzugriff ein. Sie installiert den Felo-Skill, fragt vor Credits und führt den Workflow aus.

Plane vier Wochen Content zu [Thema] für [Zielgruppe].

Kanal: [Kanal]. Erlaubte Formate: [Formatliste]. Veröffentlichungstage: [Tage]. Sprache: [Sprache].
Referenzvideo (optional): [YouTube-URL oder Video-ID]. Zeitraum für Zielgruppenfragen: letzte [90] Tage.

Erstelle eine Markdown-Kalendertabelle mit einer Zeile pro Idee:
| Datum | Format | Arbeitstitel | Blickwinkel | Beleg |
- Datum: die nächsten vier Wochen an den erlaubten Tagen.
- Format: eines der erlaubten Formate.
- Arbeitstitel: wie das Stück heißt.
- Blickwinkel: das Versprechen an die Zielgruppe in einem Satz.
- Beleg: die Frage, der Beitrag, die Seite oder der Video-Zeitstempel, der die Idee rechtfertigt.

Ergänze nach der Tabelle:
1. Die drei Themen, auf denen der Monat aufbaut.
2. Welche Ideen aus Zielgruppenfragen, welche aus dem Referenzvideo und welche aus deiner eigenen Hypothese stammen.
3. Was du vor dem Schreiben recherchieren müsstest.
4. Eine Quellenliste mit Links und Daten.

Regeln:
- Das sind Ideen, keine Garantien. Versprich niemals Reichweite, Klicks, Rankings oder Wachstum.
- Erfinde keine Trends, Suchvolumen, Engagement-Zahlen oder Zitate.
- Ordne jede Zielgruppenfrage einem datierten Beitrag oder einer Seite zu. Wenn der Beleg dünn ist, kennzeichne die Idee als Hypothese.
- Nutze das Referenzvideo nur für Blickwinkel, die es tatsächlich abdeckt; zitiere kurz mit Zeitstempeln.
- Bevor Credits verbraucht werden, zeige die geplanten Such- und Extraktionsaufrufe und warte auf meine Freigabe.
- Plane keine Beiträge, erstelle keine Entwürfe im CMS und veröffentliche nichts.
- Schreibe das Ergebnis nach ./content-calendar.md und fasse es im Chat zusammen.

Die Kopie enthält auch die Installationsschritte und Sicherheitsregeln.

Das bekommst du

Beispielausgabe eines Laufs. Keine Live-Generierung.

Beispielkalender (Auszug)

Content-Kalender — Beispielmonat

Themen

  1. Reinigungszeit ist der versteckte Kostenfaktor.
  2. Stellfläche entscheidet den Kauf.
  3. Kauf für sich selbst vs. als Geschenk.

Kalender

DatumFormatArbeitstitelBlickwinkelBeleg
2026-11-02KarussellDer 5-Minuten-ReinigungstestDen Reinigungsschritt zeigen, den niemand filmt@example_home, 2026-10-24
2026-11-04KurzvideoStellfläche, gemessenFootprints auf einer echten Arbeitsplatte vergleichenReferenzvideo — 42 s
2026-11-09NewsletterWarum die Dichtung versagtDas Fehlermuster erklären, das Käufer wiederholt melden@example_buyer, 2026-10-19

Woher die Ideen kommen

Zwei Zeilen stammen aus datierten Publikumsfragen, eine aus dem Referenzvideo; eine Hypothesenzeile wäre als solche markiert.

Was zuerst zu recherchieren ist

Rücksendequoten und die Dichtungswechsel-Richtlinie — beides decken die Quellen oben nicht ab.

Quellen

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

Die konkreten Aufrufe

Für Entwickler: derselbe Workflow als kopierbarer Code in Ausführungsreihenfolge.

Konkrete API-Aufrufe zeigen
  1. Themen mit Chat ordnen

    Frage Chat nach den wichtigsten Unterthemen deiner Zielgruppe und behalte Quellen.

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

    Beispielausgabe

    {
      "answer": "Beginners ask about cleanup, counter space, and grind size …",
      "sources": [
        { "link": "https://example.com/guide", "title": "…", "snippet": "…" }
      ]
    }
  2. Zielgruppenfragen auf X finden

    Suche themenbezogene Fragen auf X in den letzten 90 Tagen und behalte Konten und Daten.

    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;

    Beispielausgabe

    { "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. Referenztranskript holen

    Hole mit YouTube Subtitling ein Transkript und finde einen wiederverwendbaren echten Winkel.

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

    Beispielausgabe

    {
      "title": "Example Video Title",
      "contents": [
        { "text": "Subtitle text", "start": 42.3, "duration": 8.1 }
      ]
    }
  4. Vier-Wochen-Kalender bauen

    Erstelle eine Markdown-Tabelle mit Datum, Format, Arbeitstitel, Winkel und Beleg.

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

    Beispielausgabe

    | 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. Im LiveDoc speichern

    Speichere Kalender und Quellen im LiveDoc, damit du am Monatsende nachschlagen kannst.

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

    Beispielausgabe

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

Enthalten

  • Themenkarte aus Chat
  • Datierte Zielgruppenfragen auf X
  • Transkript und Winkel eines Referenzvideos
  • Vier-Wochen-Content-Kalender
  • LiveDoc mit Plan und Quellen

Was es nicht macht

  • Sagt keine Performance voraus und garantiert keinen Traffic
  • Liest deine historische Analytics nicht
  • Schreibt keine vollständigen Posts und veröffentlicht nicht
  • Ohne Referenzvideo kann der Schritt entfallen
  • Der Kalender ist ein Vorschlag, kein Versprechen

Fragen

Woher kommen die Ideen?

Aus der Themenkarte von Chat, echten Zielgruppenfragen auf X und dem Winkel eines Referenzvideos. Jeder Eintrag behält Beleglink oder Datum.

Weiß es, was früher funktioniert hat?

Nein. Es liest keine Analytics; historische Ergebnisse musst du selbst ergänzen.

Schreibt es auch die Posts?

Nein. Es liefert Kalender und Winkel; das Schreiben übernimmst du oder dein Schreib-Agent.

Was, wenn kein Referenzvideo da ist?

Überspringe den Schritt; Themen und X-Fragen tragen den Kalender trotzdem.

Kann es Veröffentlichungen automatisch planen?

Nein. Es erzeugt eine Plandatei; die Zeitplanung erfolgt in deinem Tool.

Was kostet eine Planung?

Chat, X Search und Video-Transkript werden nutzungsbasiert abgerechnet; aktuelle Preise stehen auf der Preisseite, und der Prompt fragt vor Ausgaben nach Bestätigung.

Verwandte Workflows

Mach es zu deinem

Dasselbe Rezept, angepasst an deinen tatsächlichen Ablauf.

Nur zwei Wochen

Komprimiere vier Wochen auf zwei für Teams, die gerade erst anfangen.

Nach Kanal aufteilen

Spalte Newsletter, X und YouTube und fülle dasselbe Thema in verschiedenen Formaten.

Produktlaunch einbauen

Setze Launch- und Eventtage als feste Zeilen und fülle Content darum herum.

Die Referenzseiten hinter diesem Rezept und die nächsten Schritte.