¿Qué hace reelsmith?
Videos construidos en código a partir de una especificación: guion → plan → aprobación → renderizado con plantilla → revisión → exportación.
Todo funciona gratis y sin conexión; las claves opcionales añaden funciones. Las rutas a continuación (scripts/, templates/,
references/) son relativas a la carpeta Reelsmith: junto a este archivo, o /workspace/reelsmith/ en una caja Grok Bot.
Iniciar cada trabajo
python3 scripts/capabilities.py- muestra qué está ACTIVADO/DESACTIVADO (nunca imprime claves). Menciona, una vez, qué clave gratuita ayudaría (ej. Pexels para video de stock). Nunca la exijas.- Reúne: objetivo, audiencia, plataforma(s), duración, marca (
brand.json; créala según: references/brand-kit.md), material multimedia, preferencia musical, voz sí/no. Pregunta solo lo que no esté claro. - Elige una plantilla (abajo) o una personalizada.
Enrutar el trabajo
| Trabajo | Usar | Leer |
|---|---|---|
| Reel de lanzamiento, lanzamiento de función, promoción | plantilla product-launch (guiada por música) | templates.md, music.md |
| Resumen de evento a partir de fotos | event-recap | templates.md, stock-media.md |
| Citas / reseñas de clientes | testimonial | templates.md |
| Teaser, "próximamente", revelación de fecha (bucle) | countdown-teaser | templates.md |
| Números, resaltado de informe, hito | stat-callout | templates.md |
| Bucle de charla/stand/kiosco, presentación animada | slides-presentation (--loop) | templates.md |
| Tutorial, guía, incorporación (+ capítulos de YouTube) | howto-tutorial | templates.md, youtube-publishing.md |
| Explicador narrado de producto con subtítulos | feature-explainer (Remotion; render.sh) | remotion.md |
| Pieza cinética personalizada, superposición, canal alfa, GIF | HyperFrames a mano | hyperframes.md, motion-design.md |
| Diagramas / matemáticas, Lottie, editar metraje de usuario, transcribir | Manim, Lottie, auto-editor, parakeet | helpers.md |
| Guion o líneas de voz en off | 2-3 opciones + script_lint.py | scriptwriting.md, voiceover.md |
| Subtítulos (SRT/VTT/ASS, incrustados) | captions.py | captions.md |
| Especificaciones de plataforma, zonas seguras, archivos de entrega | export.py, presets.json | platform-specs.md, loudness-accessibility.md |
| B-roll con IA, imágenes, avatares, música con IA (de pago) | Fal / Higgsfield, cotizar primero | ai-generation.md |
Licencias: HyperFrames tiene licencia Apache-2.0. Remotion es gratuito para individuos y equipos de hasta 3 personas; las empresas de 4 o más necesitan
una licencia (preguntar una vez si es comercial). Música, material de archivo, fuentes: bajo licencia, con créditos (stock.py credit, credits.json).
Flujo de trabajo
- Guion: escribe 2-3 opciones (gancho en 3 s, una idea por escena, CTA al final) a unas 2.5 palabras/s; revísalos.
- Plan:
reelsmith.py sample PLANTILLA > content.json, rellénalo, luegoreelsmith.py render --template T --content content.json --brand brand.json --out SALIDA --dry-run. Muestra la lista de tomas (escena, texto, VO, segundos), música + licencia, voz (gratuita o cotizada), aspectos. - Aprobación (siempre) antes de renders largos y antes de cualquier generación de pago.
- Borrador:
reelsmith.py render … --aspect 16x9,9x16,1x1 --music track.mp3|synth --vo auto --draft. - Puerta de revisión:
review.py check VIDEO --out SALIDA/_review --preset P --job SALIDA/job.json; mira scenes.jpg, safe.jpg, phone.jpg; corrige; envía la vista previa; con el sí del usuario,review.py approve. - Final + exportación: renderiza sin
--draft, luegoexport.py run VIDEO --preset reels,tiktok,youtube --review SALIDA/_review --out SALIDA/delivery(se niega sin aprobación). YouTube:youtube_prep.py(nunca sube). - Entregar: adjunta archivos con una línea cada uno (aspecto, duración, LUFS), créditos, divulgación de IA; ofrece reediciones.
Scripts (scripts/)
capabilities.py funciones activadas/desactivadas | brand.py validar, empaquetar, desde-logo, desde-sitio | reelsmith.py listar,
samplear, renderizar, hacer bucle, coser | script_lint.py | beats.py cuadrícula, ajustar, encajar, sintetizar | stock.py buscar, obtener,
dar crédito (solo claves API, --dry-run) | captions.py crear/incrustar | review.py revisar, aprobar, estado |
export.py ejecutar, superponer, listar, loudnorm | youtube_prep.py | presets.json.
Configuración y anclaje de HyperFrames: references/hyperframes.md. Kokoro necesita HYPERFRAMES_PYTHON=<venv>/bin/python.
Reglas
- Las claves solo a través del prompt secreto de la plataforma como variables de entorno; nunca las imprimas, registres ni escribas.
REELSMITH_IGNORE_KEYS=1fuerza la ruta gratuita. - Voz/IA de pago solo cuando se especifique +
--allow-paid+ clave presente + el usuario haya aprobado el presupuesto. Una negativa es definitiva. - Material de archivo solo a través de APIs oficiales con clave; nunca raspes ni hagas hotlinking; mantén los créditos.
- Citas, logotipos y rostros reales solo con permiso; avatares y clones de voz necesitan consentimiento; divulga el uso de IA.
- Subtítulos en cualquier contenido con voz; texto dentro de zonas seguras; como máximo 3 destellos/s; -14 LUFS, como máximo -1 dBTP.
- Finales con Remotion:
export.py loudnorm(no normaliza). - Nunca subas ni publiques automáticamente; prepara los archivos para el usuario.
Fallos
OOM: --workers 2 (HyperFrames) / --concurrency=2 (Remotion). Chrome: $HF doctor / npx remotion browser ensure. Fotograma en blanco de HyperFrames: la línea de tiempo no está pausada/registrada o la ruta del activo es incorrecta. Sin librosa: beats recurre a un BPM fijo (pasa --bpm). Sin Kokoro: espeak-ng. 401: pide la clave de nuevo a través del prompt secreto.
Preguntar al usuario cuando
Aprobación del plan (siempre); elección del guion; selección de voz; plataforma, duración, marca o música poco claros; cualquier generación de pago (con el presupuesto); consentimiento para un rostro o voz; aprobación final de revisión; número de empleados de Remotion si es comercial.