苏格拉没有底 · Video Taller (Skill Integrada)
1. Elegir Estilo
| Explicación en Cómic | Historia al Ritmo de Píxeles | |
|---|---|---|
| Directorio | styles/comic-explainer/ | styles/pixel-beat-story/ |
| Adecuado para | Temas sociales/actualidad/historia "explicar algo claro": noticias, sistemas, análisis de conceptos | Problemas sociales "contar la historia de una persona": autismo, Alzheimer, soledad, personas mayores solas… |
| Motor | Voz en off grabada por el usuario, línea de tiempo palabra por palabra (faster-whisper + difflib) | Música de fondo, cuadrícula de ritmos/frases (beats.py) |
| Relación de aspecto | Vertical 1080×1920 / 30fps | Horizontal 4:3 1440×1080 / 30fps (modificable) |
| Duración | Según la voz (plantilla de 10 minutos, 7 capítulos) | 3–4.5 minutos |
| Visual | Fondo de papel beige cálido, personajes de cómic en color estilo Q (recortados de imágenes generadas con fondo verde/color sólido), tarjetas de capítulo, sellos, iconos programáticos | Escena nocturna de cabaña de píxeles, personajes tipo hada, objetos parlantes, contador HUD, diálogos escritos |
| Audio | Voz original sin cortes + piano programático + efectos de sonido + ducking | Música de fondo (alargar/cortar/volver) + sonido ambiental de lluvia/truenos programático, silencio en el momento más emotivo |
| Motor | node 22 + @napi-rs/canvas (DSL de render_example.js) | Remotion (proyecto weilanx-claude-videos, Ep54-example.tsx) |
| Ejemplo | «Los datos ya son muchos, ¿por qué seguir creando una empresa estatal?» | «Él no habla» «Él no viene de las estrellas» |
Si no puedes decidir, pregúntale al usuario: "¿Este episodio es de explicación en cómic o historia al ritmo de píxeles?"
Una vez seleccionado, lee todo el STYLE.md correspondiente con read_file y sigue su flujo de trabajo.
2. Normas del canal aplicables a ambos estilos (obligatorio)
- Portada como primer fotograma: Cada video debe tener una portada personalizada que se incruste al inicio del producto final (Explicación en Cómic: primeros 0.4s; Historia al Ritmo de Píxeles: fotograma 0). Entrega también una copia de la portada por separado.
- Marca de agua integrada en la escena, sin esquina: "苏格拉没有底" debe aparecer en letreros, placas de identificación, barras superiores de apps, títulos de ventanas, créditos finales, etc.; el usuario rechaza explícitamente las marcas de agua en las esquinas inferiores.
- Primer clip de muestra, luego video completo: Para Explicación en Cómic, produce desde el principio hasta el primer capítulo (aprox. 80s); para Historia al Ritmo de Píxeles, produce la primera escena (60–70s). Espera la confirmación del usuario sobre el estilo antes de hacer el video completo.
- Guion aprobado primero: El usuario escribe/graba el guion; yo me encargo de verificar los hechos (usando
web_fetchpara informes/investigaciones originales), señalar palabras con múltiples pronunciaciones, saltos lógicos, declaraciones sensibles, y luego proceder. - Límite de audio: La voz original del usuario no se corta ni se reorganiza; no se usa TTS como sustituto. La música y los efectos de sonido deben ser originales/programáticos o con licencia; cada entrega con música provisional debe recordar al usuario que la reemplace. Para unir audio, usar siempre crossfade de potencia igual con numpy (ffmpeg acrossfade corta la misma entrada).
- Volumen: -15 LUFS en todo el video, dos pasadas de loudnorm (
shared/loudnorm.sh), fundido de salida al final. - Personajes atractivos: Limpios, amigables, con energía; el usuario no acepta personajes feos; los secundarios también deben ser agradables; para el mismo personaje, mantener un esqueleto de prompt fijo; generar imágenes con fondo verde/color sólido y luego recortar (Explicación en Cómic:
key.py, Historia al Ritmo de Píxeles:cutout.py). - Verificar con fotogramas clave antes de renderizar: Usar read_file para ver la hoja de contactos: texto que no salga del marco, que no cubra caras, primer fotograma como portada, marca de agua presente, diálogos/palabras clave sincronizados con el audio.
- Renderizado: Sandbox de 2 núcleos con paralelización por segmentos (concurrency=1 por segmento), escribir primero en /tmp luego copiar al área de trabajo (escribir en disco de red con faststart provoca errores de IO); para cambios pequeños, solo volver a renderizar los fotogramas afectados y sobrescribir.
- Ética del contenido (especialmente para Historia al Ritmo de Píxeles): No afirmar que la IA puede curar ninguna enfermedad; no romantizar ni cosificar a grupos vulnerables; etiquetar las historias como ficticias; no usar privacidad de niños reales; en los créditos finales, citar las fuentes de datos y el año.
3. Directorio
SKILL.md ← Este archivo (elegir estilo + normas comunes)
shared/loudnorm.sh Dos pasadas de loudnorm
styles/comic-explainer/ 【Explicación en Cómic】
STYLE.md Especificaciones de estilo, coordenadas de diseño, DSL de animación, flujo de alineación y mezcla
templates/ lib.js render_example.js audio.py wh.py align2.py key.py mux.sh
examples/ Ejemplos de portada/fotograma clave, muestras de personajes, formato de guion (marcadores # inicio / # capítulo)
styles/pixel-beat-story/ 【Historia al Ritmo de Píxeles】
STYLE.md Estilo, fórmula de guion, reglas de sincronización, ajuste musical, diseño, QA
references/ story.md layout.md
scripts/ beats.py music_tools.py sfx.sh cutout.py contact.sh stills.mjs render.sh mux.sh
template/ Ep54-example.tsx ep54-music-ops.json ep54-script-example.md assets/
4. Entorno
- General: ffmpeg ≥6, python3 + numpy scipy pillow; fuentes chinas.
- Explicación en Cómic: node 22 +
@napi-rs/canvas; faster-whisper (alimentar con arrays numpy, no rutas de archivo); fuente LXGW WenKai →fonts/wk.ttf.lib.jstambién necesita los directoriosassets/,map/,heads.json(tabla de recorte de avatares{nombre:[cx,cy,tamaño]}) dentro del proyecto; el nuevo proyecto debe crearlos por sí mismo. - Historia al Ritmo de Píxeles: Proyecto Remotion (weilanx-claude-videos, MIT; Remotion gratuito para uso personal o empresas con ≤3 empleados); Noto Sans/Serif SC. En la sandbox, ante cada comando node ejecutar
export NODE_OPTIONS=--max-old-space-size=4096, usar./node_modules/.bin/remotion(no npx).
5. Mensaje de entrega
En un solo mensaje: duración del video, dos o tres puntos destacados (Explicación en Cómic: capítulos y escenas clave; Historia al Ritmo de Píxeles: diseño de sincronización), si la música es provisional, y preguntar qué se desea ajustar. Adjuntar el mp4 del video final + la portada.