Felo API PlatformFelo API Platform

Conteúdo

Publique um resumo diário de IA que a equipe realmente lê

Obtenha um resumo com fontes, adicione o que os praticantes publicam no X, pegue uma transcrição de vídeo, monte a edição em Markdown e arquive no LiveDoc.

Tempo25 minutosNívelIntermediárioAtualizado2026-10-29
Para quemMarketing e crescimentoCriadoresMarketing de produto

Copiar o prompt

Substitua os campos entre colchetes e cole no Claude Code, Codex ou qualquer IA com acesso ao terminal. Ela instala a skill da Felo, pergunta antes de gastar créditos e executa o fluxo.

Monte um briefing diário do setor sobre [setor ou tema].

Janela: últimas 24 horas, fuso [fuso]. Público: [leitores].
Lista de observação (opcional): X [contas ou temas], YouTube [canais], Reddit [comunidades].

Escolha os 5–8 itens que importam. Para cada um: o que aconteceu, por que importa, o link da fonte e se é anúncio, resultado ou opinião.

Seções:
1. Destaque principal.
2. 5–8 itens com um link de fonte cada.
3. O que as pessoas dizem no X, com contas e datas.
4. Uma citação de vídeo com timestamp.
5. O que acompanhar depois.

Regras:
- Coloque link em cada item. Agrupe coberturas duplicadas e mantenha a melhor fonte.
- Separe anúncios de resultados independentes; rotule alegações de fornecedores.
- Relate apenas as métricas que a fonte retorna. Dado ausente é “Não disponível”, nunca zero.
- Se nada relevante aconteceu, diga isso em vez de encher a edição.
- Antes de gastar créditos, mostre as chamadas de API planejadas e aguarde minha aprovação.
- Não agende, publique nem envie nada.
- Grave o resultado em ./daily-brief.md e resuma no chat.

A cópia também inclui os passos de instalação e as regras de segurança.

O que você recebe

Saída de exemplo de uma execução. Não é geração ao vivo.

Exemplo de edição (trecho)

Briefing do setor de IA — 2026-10-30

Manchete

Um grande laboratório publicou um modelo menor com uso de ferramentas e a mesma pontuação de benchmark do carro-chefe. Alegação do fornecedor; resultados independentes ainda pendentes.

Itens

  1. Modelo pequeno, mesmo benchmark — benchmark do fornecedor, ainda não replicado. [fonte]
  2. Lançamento de framework de agentes — novos controles de tracing e retry. [fonte]

O que estão dizendo

@example_dev: “A vitória é a latência, não a pontuação.” — 2026-10-30 08:12 JST

Uma citação de vídeo

“Paramos de medir tokens e começamos a medir tickets resolvidos.” — [12:40]

O que observar depois

Avaliações independentes de uso de ferramentas e se o preço se mantém após a semana de lançamento.

As chamadas exatas

Para desenvolvedores: o mesmo fluxo em código, na ordem de execução.

Mostrar as chamadas reais da API
  1. Monte o resumo com fontes

    Pergunte ao Chat as notícias de IA das últimas 24 horas e guarde as fontes e datas citadas.

    digest.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 roundup = await felo<ChatData>("/v2/chat", {
      query: "Biggest AI news stories in the last 24 hours",
    });
    
    const sources = roundup.data.resources.slice(0, 5);

    Saída de exemplo

    {
      "answer": "The main stories today are …",
      "sources": [
        { "link": "https://example.com/story", "title": "…", "snippet": "…" }
      ]
    }
  2. Adicione as discussões de praticantes

    Pesquise o mesmo tema no X e colete posts de praticantes com perfis e datas.

    digest.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
          metrics: { retweet_count: number; favorite_count: number };
        }[];
        next_cursor: string | null;
        has_next: boolean;
      };
    };
    
    const since = Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000);
    
    const social = await felo<XData>("/v2/x/tweet/search", {
      query: "AI agents",
      limit: 20,
      since_time: since,
    });
    
    const posts = social.data.tweets
      .filter((tweet) => tweet.metrics.favorite_count >= 50)
      .slice(0, 3);

    Saída de exemplo

    { "data": { "tweets": [
      {
        "content": "…",
        "author": { "username": "…" },
        "created_at": "2026-10-29T02:14:00Z",
        "metrics": { "retweet_count": 12, "favorite_count": 180 }
      }
    ] } }
  3. Pegue uma transcrição de vídeo

    Use o YouTube Subtitling para obter a transcrição de um vídeo relacionado e escolha uma citação com timestamp.

    digest.ts
    type SubtitleData = {
      data: {
        title: string;
        contents: { text: string; start: number; duration: number }[];
      };
    };
    
    const videoCode = "dQw4w9WgXcQ"; // replace with today's video id
    
    const video = await felo<SubtitleData>(
      `/v2/youtube/subtitling?video_code=${videoCode}&language=en&with_time=true`,
    );
    
    const transcript = video.data.contents.map((line) => line.text).join(" ");

    Saída de exemplo

    {
      "title": "Example Video Title",
      "contents": [
        { "text": "Subtitle text", "start": 0.32, "duration": 14.26 }
      ]
    }
  4. Escreva o resumo em Markdown

    Organize em “notícias principais / reações de praticantes / citação de vídeo / o que acompanhar”.

    digest.ts
    const date = new Date().toISOString().slice(0, 10);
    
    const issue = [
      `# AI digest — ${date}`,
      "",
      "## The roundup",
      roundup.data.answer,
      "",
      "## What practitioners are posting",
      ...posts.map((post) => `- @${post.author.username}: ${post.content}`),
      "",
      "## From the video",
      transcript.slice(0, 1200),
      "",
      "## Sources",
      ...sources.map((source) => `- [${source.title}](${source.link})`),
    ].join("\n");
    
    console.log(issue);
  5. Arquive no LiveDoc

    Salve a edição e as fontes no LiveDoc para a próxima consultar o histórico.

    digest.ts
    type LiveDocData = { data: { short_id: string } };
    
    const archive = await felo<LiveDocData>("/v2/livedocs", {
      name: "AI digest archive",
      description: "One document resource per daily issue",
    });
    
    await felo(`/v2/livedocs/${archive.data.short_id}/resources/doc`, {
      title: `AI digest — ${date}`,
      content: issue,
    });
    
    type Retrieved = { data: { title: string; content: string; score: number }[] };
    
    const past = await felo<Retrieved>(
      `/v2/livedocs/${archive.data.short_id}/resources/retrieve`,
      { query: "what did we say about agent frameworks last month" },
    ).then((res) => res.data.filter((hit) => hit.score >= 0.7));

    Saída de exemplo

    [
      { "title": "AI digest — 2026-10-01", "content": "…", "score": 0.88 }
    ]

O que está incluído

  • Resumo de notícias com fontes e links
  • Discussões de praticantes no X com perfis e datas
  • Uma citação de vídeo com timestamp
  • LiveDoc que guarda cada edição e permite busca semântica

O que não faz

  • Somente fontes públicas; conteúdo com paywall pode faltar
  • O X é sinal, não uma pesquisa completa de opinião
  • Não publica nem envia o resumo automaticamente
  • O vídeo precisa ter legendas
  • Uma execução por dia; o agendamento fica com seu agent ou cron

Perguntas

As fontes são confiáveis?

Cada notícia tem link e data de publicação; posts do X têm também perfil e horário. Conteúdo não verificado não é escrito como fato.

Posso trocar de setor?

Sim. Troque o campo de tema pelo seu setor e ajuste fontes e buscas no X.

Por que o vídeo?

Ele dá um ponto de vista de praticante com timestamp, para o resumo não ficar só em manchetes. Vídeos sem legenda são ignorados.

Ele publica no Slack?

Não. Ele cria um arquivo Markdown; o envio é uma integração sua.

Posso guardar edições antigas?

Sim. O LiveDoc mantém cada edição e permite consultar notícias das semanas anteriores.

Quanto custa uma edição?

Chat, busca no X e transcrição de vídeo são cobrados por uso; as tarifas atuais estão na página de preços, e o prompt pede aprovação antes de gastar.

Fluxos relacionados

Faça do seu jeito

A mesma receita, adaptada ao seu processo real.

Só uma vertical

Restrinja a IA para código, vídeo ou busca para ficar mais preciso.

Adicione “mudanças da semana”

Consulte a edição anterior no LiveDoc e compare o que entrou na semana.

Vire relatório semanal

Mude o agendamento para uma vez por semana e reduza o ruído diário.

As páginas de referência por trás desta receita e para onde ir depois.