
Cómo automatizar la creación de contenido de Slides para TikTok con Hermes Agent (Guía paso a paso)
AI features
- Views
- 257K
- Likes
- 762
- Reposts
- 56
- Comments
- 30
- Bookmarks
- 2.4K
TL;DR
Esta guía explica cómo utilizar Hermes Agent para automatizar los Slides de TikTok, desde la investigación de ganchos hasta la búsqueda de imágenes, utilizando el modo borrador para evitar la detección de bots.
Reading the ESPAÑOL translation
Actualmente, TikTok está impulsando fuertemente las vistas y la interacción para los slideshows, puedes revisar estos canales.




Por qué este stack
Los slideshows son el formato de mayor apalancamiento en TikTok en este momento:
- El algoritmo todavía los impulsa agresivamente (contenido barato, problema de oferta infinita del lado de TT)
- No requiere grabación, edición ni aparecer en cámara
- Basado en ganchos → puedes hacer A/B test de 50 ganchos/día
- Las subidas como borrador evitan la mayoría de la detección de bots que afecta a la API de publicación directa
El cuello de botella nunca fueron las ideas. Era la línea de ensamblaje. Gancho → nicho → dirección de imagen → 8 composiciones de diapositivas → pie de foto → programación. Hacer esto manualmente = 20 minutos por publicación. Para 30 cuentas = un trabajo de tiempo completo que odias.
Hermes Agent es la herramienta adecuada porque no es un framework que instalas con npm y conectas; es un agente CLI autónomo que vive donde lo pongas (mi VPS de $5 en Hetzner), con habilidades integradas, cron, MCP y delegación de subagentes. Todo el pipeline son solo habilidades que el agente carga + trabajos cron que las ejecutan según un horario. Sin infraestructura de colas, sin grupo de trabajadores que gestionar.
Paso 1: Instalar Hermes Agent
Instalación en una línea en el VPS:
1curl -fsSL https://hermes-agent.nousresearch.com/install.sh | sh
Elige un proveedor:
1hermes provider set anthropic
Yo uso Anthropic vía OAuth (plan Max) para las etapas de agente (investigación de ganchos, dirección de imagen, pie de foto) y un fallback barato de OpenRouter para consultas de alto volumen. También puedes conectar Nous Portal, OpenAI Codex, DeepSeek, Z.AI, Kimi; el modelo hermes te guía en todo.
Verifica que funciona:
1hermes --version
Si responde, ya superaste la parte más difícil. La guía de inicio rápido completa está en https://hermes-agent.nousresearch.com/docs/getting-started/quickstart.
Luego instala la puerta de enlace como un servicio systemd para que los trabajos cron se ejecuten incluso cuando no estés conectado:
1hermes gateway install
Este es el demonio que activa el programador cada 60 segundos y ejecuta los trabajos pendientes en sesiones nuevas del agente.
Paso 2: Modelo mental del pipeline = habilidades + cron, no workers
La mayoría de los tutoriales de automatización recurren a colas y workers. Hermes invierte esto. La unidad de trabajo es una habilidad (archivo markdown en ~/.hermes/skills/) y el disparador es un trabajo cron que carga una o más habilidades y las ejecuta.
Aquí está el mapeo para el pipeline de TikTok:

Cada habilidad es un archivo markdown que el agente carga bajo demanda. Los trabajos cron se encadenan mediante context_from. El programador de Hermes ejecuta cada trabajo en una sesión nueva y aislada, sin corrupción de estado entre cuentas.
Paso 3: Crear las habilidades
Las habilidades residen en ~/.hermes/skills/<categoría>/<nombre-habilidad>/SKILL.md. El agente puede crearlas por sí mismo mediante skill_manage, o puedes crearlas manualmente. Yo hago una mezcla: redacto la estructura y luego dejo que Hermes la refine después de verla funcionar.
Habilidad de Investigador de Ganchos
1~/.hermes/skills/tiktok/hook-researcher/SKILL.md:
Habilidad de Enrutador de Fuentes de Imagen
Esta decide entre Pinterest vs IA generativa por cada espacio.
1~/.hermes/skills/tiktok/source-router/SKILL.md:
Habilidad de Scraper de Pinterest
Esta necesita un script auxiliar porque el agente no debería hacer lógica de rotación HTTP en contexto.
1~/.hermes/skills/tiktok/pinterest-scraper/SKILL.md:
1~/.hermes/skills/tiktok/pinterest-scraper/scripts/scrape.py
es un script Python normal. El agente lo invoca mediante execute_code o terminal y analiza stdout. La variable PROXY_POOL_URL declarada arriba se pasa automáticamente a los entornos de execute_code; esa es una característica de Hermes que me ahorró mucho trabajo de configuración de variables de entorno.
Compositor de Diapositivas (modo sin agente)
Esta etapa es completamente determinista. No necesita LLM. Hermes tiene el modo no_agent exactamente para esto:
1~/.hermes/scripts/compose-slides.py:
Luego se programa como un trabajo cron con no_agent: wakeAgent nunca se activa, sin costo de LLM en este paso.
Habilidad de Publicación
1~/.hermes/skills/tiktok/publisher/SKILL.md:
Paso 4: El asesino de shadow bans: siempre modo borrador
Esta es la parte que la mayoría de los tutoriales omiten y es la razón principal por la que las cuentas nuevas mueren.
Si una cuenta tiene menos de 30 días, SIEMPRE publica como borrador. Sin excepciones.
Las cuentas nuevas en TikTok están en período de prueba. El algoritmo perfila:
- Publicar a través de la API de publicación de contenido → puntuación de riesgo de bot +1
- La IP de publicación no coincide con la IP habitual del dispositivo de la cuenta → +1
- Intervalos sospechosamente regulares → +1
- Metadatos inconsistentes o faltantes en comparación con la captura en el dispositivo → +1
Acumula 2 o 3 de estos en una cuenta nueva y te aplican shadow ban silenciosamente. Sin notificación. Videos estancados en 50-200 vistas para siempre. Pensarás que tu contenido es malo. No lo es; la cuenta está muerta.
La habilidad de Publicador anterior fuerza el modo borrador para cualquier cuenta con menos de 30 días / menos de 20 publicaciones. Postiz lo sube como borrador, luego mi granja de iPhones recoge el borrador (mediante automatización con WebDriverAgent) y pulsa Publicar desde un dispositivo real con una IP real. TikTok ve una publicación iniciada por un humano desde un dispositivo conocido: limpio.
Protocolo de calentamiento:
- Días 1-7: la cuenta no hace nada más que desplazarse, dar like y seguir
- Días 8-14: publicar 1 borrador/día, publicado desde el dispositivo 2-4 horas después de la creación del borrador
- Días 15-30: aumentar a 2-3 borradores/día, aleatorizar los horarios de publicación dentro de ±90 min
- Día 30+: cadencia completa del pipeline, aún en modo borrador
Hermes cron + Postiz Cloud + publicación desde dispositivo de granja de iPhones = indistinguible del comportamiento orgánico para los clasificadores de TikTok.
Paso 5: Encadenar todo con cron + context_from
Esta es la magia del sistema cron de Hermes. Cada etapa del pipeline es un trabajo cron separado. El trabajo N lee la salida más reciente del trabajo N-1 mediante context_from. La cadena se ejecuta de principio a fin sin que yo tenga que orquestar nada.
Creo la cadena desde una sola sesión de chat con Hermes:
1hermes --tui23> Necesito configurar el pipeline de TikTok para la cuenta acc_42, nicho=fitness.45> Programa el pipeline para que se ejecute todos los días a las 09:00 UTC.67> Cadena: investigación de ganchos → enrutamiento de fuentes → scraping de Pinterest → composición → pie de foto → publicación.89> Cada etapa debe usar la habilidad correspondiente y recibir contexto de la etapa anterior.
Hermes usa la herramienta cronjob internamente y crea la cadena. Esto es lo que las llamadas directas equivalentes harían (Hermes lo hace por ti):
1hermes cron create \2 --name "hook-research-acc_42" \3 --schedule "0 9 * * *" \4 --skill "tiktok/hook-researcher" \5 --workdir "/home/user/accounts/acc_42" \6 --toolsets "file"78hermes cron create \9 --name "source-router-acc_42" \10 --schedule "0 9 * * *" \11 --skill "tiktok/source-router" \12 --context_from "hook-research-acc_42" \13 --workdir "/home/user/accounts/acc_42" \14 --toolsets "file"1516hermes cron create \17 --name "pinterest-scrape-acc_42" \18 --schedule "5 9 * * *" \19 --skill "tiktok/pinterest-scraper" \20 --context_from "source-router-acc_42" \21 --workdir "/home/user/accounts/acc_42" \22 --toolsets "terminal,file"2324hermes cron create \25 --name "compose-slides-acc_42" \26 --schedule "10 9 * * *" \27 --script "/home/user/scripts/compose-slides.py" \28 --context_from "pinterest-scrape-acc_42" \29 --workdir "/home/user/accounts/acc_42" \30 --no_agent3132hermes cron create \33 --name "caption-acc_42" \34 --schedule "15 9 * * *" \35 --skill "tiktok/caption-writer" \36 --context_from "compose-slides-acc_42" \37 --workdir "/home/user/accounts/acc_42" \38 --toolsets "file"3940hermes cron create \41 --name "publish-acc_42" \42 --schedule "20 9 * * *" \43 --skill "tiktok/publisher" \44 --context_from "caption-acc_42" \45 --workdir "/home/user/accounts/acc_42" \46 --toolsets "terminal,file" \47 --deliver "telegram"
Algunos puntos clave:
- context_from encadena las salidas. Hermes lee la salida guardada más reciente de cada trabajo upstream desde ~/.hermes/cron/output/{job_id}/ y la antepone al prompt del siguiente trabajo como contexto. Sin bases de datos, sin colas, sin código de conexión.
- workdir ejecuta el trabajo dentro del directorio del proyecto. Esto significa que AGENTS.md, .cursorrules y cualquier archivo de contexto local se cargan automáticamente. Útil cuando mantienes configuraciones de cuentas y anulaciones de prompt en un repositorio de proyecto.
- no_agent=True en el compositor. Trabajo puramente determinista con Sharp/PIL. No hay razón para pagar por una llamada LLM. El stdout del script se convierte en la salida del trabajo y se encadena a la siguiente etapa normalmente.
- deliver="telegram" me notifica cuando se completa la publicación. Uso "all" para la etapa final en la cuenta de alto valor para recibir la notificación de éxito en todos los canales conectados.
Paso 6: Control de herramientas por etapa (ahorro de costos)
Por defecto, los trabajos cron heredan los conjuntos de herramientas que configuraste para la plataforma cron mediante hermes tools. Pero para controlar costos en etapas de alta frecuencia, bloquea los conjuntos de herramientas por trabajo:
1hermes cron update hook-research-acc_42 --toolsets "file"
La investigación de ganchos no necesita los conjuntos de herramientas de navegador, terminal o delegación; esos inflan el prompt del esquema de herramientas en cada llamada LLM. Bloquear el trabajo de ganchos a ["file"] redujo mis tokens de generación de ganchos en ~40%. En 30 cuentas × 1 publicación/día × 30 días = dinero real.
El trabajo de scraping de Pinterest necesita ["terminal", "file"] para llamar al script. El compositor en modo no_agent no carga ningún conjunto de herramientas (no se ejecuta ningún agente). El publicador necesita ["terminal", "file"] para postiz-cli.
Paso 7: Saltar el agente cuando no haya cambios
Hermes tiene un patrón de script de verificación previa que es perfecto para el trabajo diario de ganchos. Si los datos de rendimiento del nicho no han cambiado desde ayer, no hay razón para generar nuevos ganchos; los 3 mejores de ayer siguen siendo los 3 mejores.
1~/.hermes/scripts/hook-precheck.py:
Se adjunta mediante el parámetro script al crear el trabajo cron. El agente solo se activa cuando los datos de rendimiento realmente cambiaron. En un día típico en el que no he registrado nada nuevo manualmente, esto omite el LLM por completo. Gratis.
Paso 8: Configuración de Postiz (cloud o self-hosted) + la habilidad oficial de Hermes
Probé alojar Postiz yo mismo en Docker durante 2 meses. Pasé más tiempo arreglando el contenedor que construyendo funciones: fallos en la actualización de tokens OAuth, llenado del disco de medios, el worker de programación muriendo silenciosamente. Postiz Cloud a $29/mes me devolvió ~5 horas/semana de depuración.
La configuración en 60 segundos:
1hermes skill install postiz-agent
La habilidad de Postiz se expone a Hermes a través de este SKILL.md (reside en ~/.hermes/skills/postiz-agent/SKILL.md después de la instalación):
1~/.hermes/skills/postiz-agent/SKILL.md:
Hermes lee esto al inicio de la sesión, registra el binario postiz como una herramienta, y ahora cualquier trabajo cron que cargue esta habilidad puede llamarlo.
Conceptos básicos de la API que vale la pena conocer

El sistema de dos modos confunde a la gente. Postiz tiene su propio tipo: "draft" para publicaciones que se quedan en la interfaz de Postiz sin ir a ningún lado. Eso NO es lo que queremos. Queremos tipo: "schedule" con content_posting_method: "UPLOAD": Postiz programa la publicación, la envía a TikTok en el horario programado, pero como un borrador del lado de TikTok que llega a la bandeja de entrada de la cuenta para que la granja de iPhones lo publique desde un dispositivo real.
Combinación incorrecta = resultado incorrecto. Prueba esto en una cuenta primero.
Solo haz self-host si tienes razones de cumplimiento o publicas a un volumen que lo justifique. Cloud tiene un costo real (límite de 30 solicitudes/hora por clave), pero el self-host consume tus horas.
Lo que aprendí por las malas
No confíes en tus primeros ganchos. Ejecuté el pipeline durante 2 semanas usando el arquetipo de gancho #1. Sin resultados. Cambié a pruebas A/B de 3 arquetipos por nicho con un bucle de evaluación diario que leía los contadores de vistas de TikTok → eliminé los arquetipos muertos, dupliqué la apuesta en los ganadores. El CTR subió en una semana.
Pinterest supera a la IA para nichos auténticos. Pasé 3 meses optimizando prompts de generación de imágenes para slideshows de transformación física. Luego probé 50/50 contra equivalentes extraídos de Pinterest. Los slideshows de Pinterest obtuvieron 2.3 veces más guardados. Las fotos reales impactan diferente. La solución: enrutar por nicho.
El modo borrador es innegociable para cuentas nuevas. Perdí 4 cuentas antes de aceptar esto. Publicar directamente en una cuenta nueva = shadow ban silencioso en la primera semana. No te darás cuenta hasta que hayas desperdiciado 2 meses de contenido en una cuenta muerta.
Recursos:
- Hermes Agent: https://hermes-agent.nousresearch.com/
- Postiz: https://postiz.com/
¡Buena suerte, chicos! 💪


