CommunityImagengithub.com

fxai666/fxai-poster

Diseño de imágenes (todos los tipos: portadas de video, carteles, imágenes de artículos, gráficos sociales, imágenes de comercio electrónico, infografías, imágenes incrustadas en video).

¿Qué es fxai-poster?

fxai-poster es una habilidad de diseño de imágenes impulsada por IA, enfocada en generar imágenes base mediante IA generativa y luego superponer capas de texto. Soporta tres modos principales: hybrid (por defecto, genera imagen y añade texto), image (solo imagen), y web (para texto chino preciso o extenso). La habilidad cubre 15 tipos de usos, desde portadas de video hasta infografías, y aplica un riguroso control de calidad de tres puertas: preinspección, verificación de prompt y evaluación de imagen final. Está diseñada para integrarse con Claude Code, Cursor y Codex, y asegura que las imágenes cumplan con especificaciones de tamaño, legibilidad y atractivo visual, con reglas estrictas como el uso de fuentes autorizadas, la ausencia de elementos promocionales en imágenes para medios sociales, y la generación de al menos dos versiones por video. La salida es en formato PNG, lista para ser incrustada como primer fotograma de un video.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/fxai666/fxai-fully-automated-creation-skills/tree/HEAD/skills/fxai-poster

Installed? Explore more Imagen skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

fxai-poster · Diseño de carteles e imágenes

Una imagen bien diseñada: portadas de video, carteles, imágenes de artículos, gráficos sociales, imágenes de comercio electrónico, infografías, imágenes incrustadas en video pasan por aquí. Esta habilidad es la única fuente de la normativa de diseño de imágenes generadas por IA: cualquier otra habilidad que genere imágenes seguirá esta normativa y los controles de calidad, sin establecer reglas separadas.

Lista de archivos de esta habilidad (léelos primero, luego decide qué leer)

ArchivoCuándo leerlo
references/01-seleccion-modo.mdLectura obligatoria antes de empezar: ¿web, image o hybrid?
references/02-diseno-modo-web.mdMaquetación de web/hybrid, temas, estructura de texto en portada, criterios de atracción
references/03-generacion-imagen-modo-mixto.mdCómo escribir prompts de generación de imágenes, ajustar máscaras de imagen base
references/04-insercion-primer-fotograma-video.mdCómo colocar el póster en el primer fotograma de un MP4 (método de inserción, dos puntos críticos, verificación)
references/05-biblioteca-plantillas-portada.mdLectura obligatoria para portadas de video: 8 estilos, duración de la sección de portada y pista de audio
references/06-diseno-infografia.mdBloques de información ≥3: selección de estructura, tarjetas numeradas, combinación de colores e iconos
references/07-narrativa-jerarquia-informacion.mdDefinir tesis, intensidad emocional, encuadre y legibilidad (válido para todos los modos)
references/08-matriz-tipos-imagen.mdLectura obligatoria para definir el tipo: dimensiones, elementos esenciales y enfoque de control de calidad para 15 tipos de uso
references/09-puertas-control-calidad.mdLectura obligatoria antes de entregar: criterios y rutas de corrección para las tres puertas
references/10-normas-prompt-qianwen2.1.mdLectura obligatoria para escribir prompts: estructura de seis partes, reglas de comillas para texto, vinculación de personajes, dimensiones, llamadas entre habilidades
references/11-especificaciones-multiples-tamanos-plataforma.mdPortadas multiplataforma: claves de tamaño, márgenes, prioridad de generación, aceptación
references/svg-icons.md, references/infographic-template.html23 fragmentos de iconos SVG en línea; ejemplo de plantilla de infografía (solo como referencia)
poster.py, cover_batch.pyPunto de entrada para generar imágenes; --gen-cover con texto, --gen-base sin texto
cover_styles.py, cover_side.py8 estilos (render / render_matrix); determina la posición del texto según el margen de la imagen base
cover_prompt.pyDe la maquetación al prompt de generación, la tercera parte de la estructura de seis partes escribe el diseño tipográfico
cover_sizes.jsonÚnica fuente de verdad para dimensiones y especificaciones del sitio
qc.pyTres controles: pre / prompt / post / types

No leer ningún otro archivo.

Modos y estilos

hybrid (imagen base + texto superpuesto) / image (imagen generada, el texto se escribe en el prompt y aparece en la imagen) / web (solo maquetación de texto); para portadas, se prefiere image con texto. Las decisiones sobre el modo y el orden se encuentran en el archivo 01. El modo predeterminado para los 15 tipos de uso está en 08. Las claves de los 8 estilos están en 05. La generación de múltiples tamaños está en 11. Por cada video, genera al menos 2 versiones (con y sin personaje).

Puertas de control de calidad (obligatorio pasar antes de entregar, tres puertas)

Si alguna puerta falla, no se puede continuar. Corrige según las indicaciones y vuelve a ejecutar.

python qc.py pre  --kind record_cover --w 1680 --h 1054 --mode hybrid --title "…" --hooks "número adelantado, contraste inverso"
python qc.py post --img portada.png --kind record_cover      # Las otras dos puertas: prompt / types
  1. Preinspección: encuadre, modo, elementos esenciales, texto demasiado ancho, falta de atractivo
  2. Puerta de prompt: estructura de seis partes + cuatro elementos de la zona de texto (comillas, posición, tamaño de fuente, color de fuente) + vestimenta
  3. Puerta de imagen final: encuadre, resolución, brillo, profundidad, PSNR son requisitos estrictos; nitidez en tres niveles (SHARP_TIER); para imágenes sin texto, añadir --no-text

Los criterios y las rutas de corrección están en references/09-puertas-control-calidad.md.

Reglas estrictas

  1. 🔴 Las dimensiones dependen del uso, siempre según las claves de cover_sizes.json: portada vertical de video vert_9x16 (1080×1920), horizontal horiz_16x9 (1920×1080); para otros usos, especificar la clave según sea necesario. Este archivo no escribe píxeles.
  2. 🔴 Las capturas de pantalla y los archivos temporales de ffmpeg se guardan en el directorio temporal del sistema bajo fxai_burn/poster/ (el script lo crea automáticamente, usa rutas ASCII), y los archivos resultantes se copian al proyecto. Las rutas con caracteres chinos harán que file:// y los filtros de ffmpeg fallen.
  3. 🔴 Los cambios de color solo se realizan en las variables CSS de themes/*.css, no se escriben colores directamente en el HTML.
  4. 🔴 Las fuentes deben estar en la lista blanca de fxai-standard/references/06-licencias-fuentes-materiales.md. Si faltan en el sistema, se recurre a fuentes chinas ya instaladas y se registra en la lista de entrega.
  5. 🔴 El material para plataformas de medios se entrega sin marcas por defecto: sin URL, datos de contacto, códigos QR, llamadas a seguir, marcas o logotipos (criterio: las imágenes para plataformas de medios no llevan información de promoción). Solo para carteles de sitios web oficiales o materiales externos se usa explícitamente --brand / --site.
  6. 🔴 El atractivo visual es el requisito principal de la portada: el criterio es si al pasar el dedo la persona se detiene un momento; cada imagen debe cumplir al menos 2 elementos de atracción (palabras de moda, números al inicio, contraste inverso, etiquetas de identidad, promesa de resultados, urgencia).
  7. 🔴 El título principal de la portada debe tener dos capas: "positivo → inverso": la primera línea escribe lo que se logra, la segunda (en color de énfasis) escribe el costo/verdad; se mencionan palabras técnicas de moda; cada línea del título principal ≤ 7 caracteres (incluyendo puntuación).
  8. 🔴 Los carteles de solo texto tienen el mayor impacto: sin imágenes decorativas, sin primeros planos de personas, el título no ocupa más de dos líneas.
  9. 🔴 La duración (fotogramas) de la sección de portada y la colocación de la pista de audio solo se definen en references/05-biblioteca-plantillas-portada.md en "Duración de la sección de portada". Este archivo no escribe valores numéricos. 🔴 La colocación de la portada debe hacerse antes de mezclar la música de fondo: la sección de portada lleva su propio sonido de fondo, no es música. La música de fondo se aplica como último paso sobre el video completo con la portada ya colocada. La normativa está en la sección 1d del archivo 04.
  10. 🔴 Esta habilidad no genera video: el video lo generan fxai-audio-video / fxai-mv-pipeline / fxai-short-drama. Esta habilidad solo entrega imágenes o las coloca en el primer fotograma.
  11. 🔴 Si hay 3 o más bloques de información, se usa el diseño de infografía (archivo 06). Una sola portada debe transmitir una sola idea principal.
  12. 🔴 Puerta de legibilidad (archivo 07): contraste medido: texto del cuerpo ≥4.5:1, texto grande ≥3:1; el título principal debe ser legible en una miniatura de 200px; al cambiar el encuadre, se recompone, no se recorta; los iconos SVG en línea prohíben emojis, los colores se escriben en hexadecimal.
  13. 🔴 Antes de entregar, se deben pasar las tres puertas de control de calidad (archivo 09): si alguna falla, no se entrega; si la imagen base no es aceptable, se regenera, no se corrige con retoque.
  14. 🔴 Las dimensiones de la portada solo se reconocen por clave, por defecto solo se generan dos: los píxeles y las especificaciones de cada sitio solo se escriben en cover_sizes.json; los registros/proyectos solo hacen referencia a vert_9x16 / horiz_16x9; el archivo portada.json del proyecto solo incluye estas dos claves en sizes; las demás claves solo se generan cuando el usuario lo solicita. 🔴 La relación de aspecto del cuadro de carga de la plataforma (Douyin vertical 3:4 / horizontal 4:3) es el recuadro de recorte propio de la plataforma, no una razón para generar una tercera imagen; el texto vertical debe estar dentro del área segura de 3:4. Los detalles están en references/11.
  15. 🔴 El texto de la portada se renderiza directamente en la generación de la imagen por defecto: las instrucciones de maquetación se escriben, a través de cover_prompt.py, en la tercera parte del prompt (--gen-cover); "La imagen no tiene texto" solo se permite para la ruta de capa superpuesta (--gen-base). Ver el archivo 11.
  16. 🔴 Responsabilidad única: la generación de imágenes se delega siempre a fxai-scene-gen, la localización del servicio es responsabilidad de fxai-workflow; el navegador usa gpu.chrome_exe() de fxai-slide-video, ffmpeg usa av.ffmpeg_libass() de fxai-audio-video. Esta habilidad no conoce ni configura direcciones de servicio, ni escribe rutas de ejecutables.

Los criterios y la redacción de las reglas 5 a 8 anteriores están en references/02-diseno-modo-web.md.

Ejecución directa

# hybrid (por defecto: imagen base + texto superpuesto)
python poster.py --mode hybrid --out-dir <proyecto> --name cover --size 1680x1054 \
  --prompt "…" --title "Ella ha vuelto|Esta vez no cederé" --tag "Drama antiguo · Episodio 3" --overlay 0.5

# image (portada: el texto se escribe en el prompt, la imagen generada lo incluye)
python poster.py --mode image --out-dir <proyecto> --name mv_cover \
  --prompt "… (estructura de seis partes, la tercera escribe la maquetación) …" --size 1080x1920

# Colocar en el primer fotograma del video
python poster.py --mode web --out-dir <proyecto> --name cover --title "…" \
  --attach-video <proyecto>/video_final.mp4 --cover-frames 10

Los parámetros de maquetación del modo web (--theme / --kicker / --sub / --keys) están en 02-diseno-modo-web.md.

Superposición de información de apertura

Al colocar la portada en el primer fotograma, se debe superponer "Producción / Título de la obra / Título del episodio / Atractivo / Créditos" usando intro_card.py; los comandos, máscaras y márgenes de recorte están en references/04-insercion-primer-fotograma-video.md en "Superposición de información de apertura".

Lista de proyecto (la página muestra el progreso según ella)

Al crear el directorio de resultados, se registra; se actualiza tras cada etapa completada; la estructura está en la sección 01 de fxai-standard.

P=~/.workbuddy/skills/fxai-standard/scripts/fxai_project.py
python "$P" init  "<proyecto>" --title <nombre> --category image --skill fxai-poster
python "$P" stage "<proyecto>" --script 2 --image 1 --audio 0 --video 0

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados