La ideación de contenido basada en conjeturas produce temas mediocres. Un agente de ideas que busca datos en vivo en múltiples plataformas encuentra temas con demanda comprobada: preguntas que la gente hace en Reddit, lagunas en los resultados de Google y temas de tendencia en YouTube. Este tutorial crea un agente que consulta tres plataformas para un área temática y sintetiza los hallazgos en ideas de contenido procesables.
Requisitos previos
- Python 3.8+ instalado
- solicita biblioteca instalada
- Una clave API de Scavio de scavio.dev
- Una clave OpenAI o Anthropic API para la síntesis de LLM
Guia paso a paso
Paso 1: Definir la función de investigación
Busque un tema en Google, Reddit y YouTube para encontrar señales de demanda.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def research_topic(topic: str) -> dict:
data = {}
for platform in ['google', 'reddit', 'youtube']:
resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': platform, 'query': topic}, timeout=10)
data[platform] = resp.json().get('organic', [])[:10]
return dataPaso 2: Extraer señales de demanda
Analice los resultados de la búsqueda para encontrar preguntas, lagunas y ángulos de tendencia.
def extract_signals(research: dict) -> dict:
signals = {'questions': [], 'gaps': [], 'trending': []}
# Google People Also Ask = questions with demand
for r in research.get('google', []):
if 'question' in r.get('type', ''):
signals['questions'].append(r.get('title', ''))
# Reddit threads with high engagement = proven interest
for r in research.get('reddit', []):
signals['questions'].append(r.get('title', ''))
# YouTube results = visual content opportunities
for r in research.get('youtube', []):
signals['trending'].append(r.get('title', ''))
return signalsPaso 3: Sintetizar con un LLM
Introduzca las señales de demanda en un LLM para generar ideas de contenido estructurado.
def generate_ideas(topic: str, signals: dict) -> str:
prompt = f"""Based on these real demand signals for '{topic}':
Questions people are asking: {signals['questions'][:10]}
Trending content: {signals['trending'][:10]}
Generate 5 content ideas. Each must:
1. Address a specific question or gap from the signals
2. Have a concrete angle (not generic)
3. Include a suggested title and format (blog, tutorial, video, comparison)
Output as a numbered list."""
# Call your preferred LLM here
return prompt # Replace with actual LLM callPaso 4: Ejecutar todo el proceso de ideación
Combine investigación, extracción de señales y síntesis LLM.
def ideate(topic: str) -> dict:
print(f'Researching: {topic}')
research = research_topic(topic)
signals = extract_signals(research)
print(f'Found {len(signals["questions"])} questions, {len(signals["trending"])} trending topics')
ideas = generate_ideas(topic, signals)
return {'topic': topic, 'signals': signals, 'ideas': ideas}
result = ideate('AI agent frameworks 2026')
print(result['ideas'])Ejemplo en Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def ideation_research(topic):
signals = []
for p in ['google', 'reddit', 'youtube']:
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': p, 'query': topic}, timeout=10).json()
signals.extend([{'platform': p, 'title': r['title']} for r in data.get('organic', [])[:5]])
return signalsEjemplo en JavaScript
async function ideationResearch(topic) {
const signals = [];
for (const p of ['google', 'reddit', 'youtube']) {
const data = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({platform: p, query: topic})
}).then(r => r.json());
signals.push(...(data.organic || []).slice(0, 5).map(r => ({platform: p, title: r.title})));
}
return signals;
}Salida esperada
Content ideas backed by real demand signals from Google, Reddit, and YouTube search data.