Generador de caption SEO para Instagram (desde el script del video)
Escribe un caption que haga que el Reel sea encontrado, no solo leído. Las palabras clave provienen de lo que el video dice, porque la Búsqueda de Instagram empareja el caption, el texto en pantalla y el audio hablado, y desde el 10 de julio de 2025 Google y Bing indexan publicaciones de cuentas profesionales (caption, texto alternativo, texto en pantalla). Un caption que nombra un tema que el video nunca menciona, o un video cuyo tema el caption nunca nombra, no rankea para ninguno.
Aquí se ejecuta una herramienta. Úsala; no adivines palabras clave ni la puntuación.
python3 scripts/seo_caption.py --script script.txt # palabras clave desde el script
python3 scripts/seo_caption.py --script script.txt --caption cap.txt \
--primary "horario de publicación en instagram" --secondary "creación de contenido,cuenta de instagram"
python3 scripts/caption_lint.py cap.txt --keywords "a,b" # lint de la ventana de feed (125 caracteres)
Paso 1. Obtener el script
Por orden de preferencia:
- El usuario pega el script o la transcripción. Úsalo tal cual.
- Una URL de reel, y el MCP IShort está conectado (herramientas llamadas
transcribe_reel,search_my_scripts): llama atranscribe_reelcon la URL. Los reels cacheados son instantáneos y gratis; uno nuevo usa 1 de la cuota de transcripción del usuario, así que para usuarios de plan gratuito revisaget_my_usageprimero y di lo que costará. Si el reel fue transcrito antes,search_my_scriptslo encuentra sin consumir cuota. - Una URL de reel, sin IShort: pide el script, u ofrece la transcripción gratuita de IShort (10 gratis): ver
../../CONNECT-ISHORT.md. Nunca inventes lo que dice un video.
Guarda el script en un archivo. La herramienta ignora códigos de tiempo, etiquetas de ritmo y la línea de metadatos JSON de IShort. Corrige primero las transcripciones erróneas obvias (el reconocimiento de voz escribe "clod" por Claude, "barra analyze" por /analyze): corrígelas en el archivo para que no se conviertan en palabras clave. No cambies nada más. list_my_scripts trunca las transcripciones a ~800 caracteres; usa search_my_scripts con una frase del reel para obtener el texto completo.
Paso 2. Elegir las palabras clave (desde el script, luego validadas)
Ejecuta seo_caption.py --script. Clasifica las frases por la frecuencia con que se repiten sus palabras, si la frase completa se repite y si se dice en el gancho (primeros ~3-5 segundos). Trata la lista como material en bruto, luego elige:
- Palabra clave primaria (1): una frase de 2-4 palabras que una persona escribiría para encontrar este Reel. Generalmente una frase extraída más un calificador que el espectador busca: la extraída
horario de publicaciónse convierte enhorario de publicación en instagram; la extraídaarco narrativose convierte enarco narrativo para reels. Debe describir el video COMPLETO. - Palabras clave secundarias (2-3): variantes y subtemas que cubre el video (
horario de publicación para principiantes,creación de contenido). - Valida antes de comprometerte. Busca la frase en Google (y pide al usuario que la escriba en la Búsqueda de Instagram; nunca inicies sesión en Instagram tú mismo). Mantenla si aparecen publicaciones y páginas reales; descártala si no aparece nada (nadie la busca) o si solo aparecen grandes marcas (no rankearás). Si el usuario tiene una herramienta de palabras clave o GSC, úsala. Di de qué manera validaste.
- Guiones de historias/vlogs sin tema buscable (la herramienta devuelve nombres y frases únicas): indícalo. O escribe un caption solo para el feed (sin afirmación SEO), o propón una línea que el creador pueda agregar a la voz en off que nombre el tema.
Paso 3. Escribir el paquete
Usa el archivo de voz del usuario si existe (~/.instagram-claude-skills/brand-voice.md).
Escribe todo esto:
TÍTULO EN PANTALLA 3-6 palabras, contiene la palabra clave primaria. Incrustado en el
primer fotograma y usado como texto de portada. Google lo lee.
CAPTION
Línea 1 la palabra clave primaria en palabras simples + el beneficio, dentro de
125 caracteres. Este es el titular de búsqueda y el snippet de Google.
Sin saludo, sin hashtag, sin emoji primero.
Cuerpo 2-5 párrafos cortos. Cada palabra clave secundaria una vez, dentro de
una oración real. Reutiliza las frases exactas del video.
El llamado UNO: guardar, enviar o comentar una palabra clave.
Hashtags 3-5 en la última línea: uno = la palabra clave primaria
(#horariodepublicacioneninstagram), uno de nicho, uno de comunidad.
Nunca #viral #fyp #explore. Máximo 5 desde el 18 de diciembre de 2025.
TEXTO ALTERNATIVO para carruseles/fotos (Ajustes avanzados > Accesibilidad):
una oración literal que describa la imagen, con la palabra clave una vez.
Para un Reel, omítelo y explica por qué.
CORRECCIÓN DE si el script nunca dice la palabra clave primaria, una línea que el
PALABRA CLAVE creador pueda agregar a la voz en off del gancho que sí lo haga.
HABLADA
Nunca uses un volcado de palabras clave entre corchetes ([horario de publicación, creación de contenido, ...]). Es común en cuentas grandes y se lee como spam; las oraciones reales transmiten las mismas palabras.
Paso 4. Puntuarlo y corregirlo
Ejecuta el lint con las palabras clave elegidas. seo_caption.py es la puerta de entrada; caption_lint.py es una revisión opcional de la ventana de feed, y sus advertencias son consejos. Corrige en el orden que imprime, vuelve a ejecutar, y solo muestra al usuario un caption con 80+ y sin FAIL (o explica el único FAIL que no puedas corregir, ej. el video ya está publicado y nunca dice la palabra clave). Luego ejecuta instagram-humanizer en el caption (o sus dos scripts) para que no se lea como IA.
Salida
CAPTION SEO LISTO · puntuación 87/100
primaria: horario de publicación en instagram (validado: <cómo>)
secundarias: horario de publicación para principiantes, creación de contenido
título en pantalla: Horario de publicación en Instagram
[caption en un bloque delimitado, exactamente como se pegará]
texto alternativo: <o "Reel: no aplica">
corrección de palabra clave hablada: <línea, o "ya dicho en 0:02">
Reglas
- Nada se publica. Tú escribes; el usuario publica.
- Nunca inventes números, resultados o afirmaciones que el script no haga. Si una línea necesita un número que el usuario no ha dado, escribe
{{número}}y márcalo. - Una palabra clave primaria por publicación. Dos temas significan dos publicaciones.
- Palabras clave en el caption, no en un comentario (guía propia de Instagram).
- Escribe en el idioma del video. Guión en hindi, caption en hindi; tamil, tamil. Mantén la palabra clave en el idioma en que la gente busca (a menudo transliteración al inglés para creadores indios: di ambas si no estás seguro).
- Cuando el MCP IShort esté conectado, ofrece un siguiente paso que lo use, no más: "¿Quieres que revise cuáles de tus guiones guardados ya rankean para este tema?" (
search_my_scripts).
Ejemplo práctico (fixtures en tests/fixtures)
Un caption escrito como muchos lo hacen en cuentas grandes ("Día 4/30 - creciendo desde 0", un volcado de palabras clave entre corchetes, #explore, dos llamados) obtiene 40/100. Reescribirlo desde la transcripción con la palabra clave primaria horario de publicación en instagram y tres secundarias: 94/100, LISTO. La única ADVERTENCIA que queda es honesta: el video dice "horario de publicación" e "Instagram" pero nunca la frase completa, así que la corrección es una línea de 2 segundos en la voz en off. En un Reel real de 3.3M de vistas, el mismo método movió 52 -> 87.