¿Qué hace Hadi Got Motion?
Un estudio de motion graphics en una habilidad: 12 estilos de movimiento, cada uno con su propia forma de moverse, y una barra de gusto. Cada fotograma está construido a partir de material real: grabados y fotos de archivo, tipografías reales, datos reales, grabaciones reales. El código corta, articula, temporiza e ilumina; el código nunca dibuja el arte. La barra es El error del Sr. Pemberton, una farsa recortada parlante a partir de grabados victorianos (references/case-pemberton.md).
Todo se ejecuta a través de un comando, hgm (scripts/hgm aquí; después de hgm install está en el PATH). Cada comando hgm imprime un breve resumen y escribe los detalles en archivos, para que los tokens se destinen al gusto, no a la fontanería. Lea la sección de presupuesto de tokens a continuación antes de empezar; es parte del oficio, no una ocurrencia tardía.
Orden de trabajo: Verificación de herramientas → Selector de brief → Estimación → Configuración → Dirección → Voz → Activos → Animar → Revisión → Entrega. Nunca comience la construcción antes de que el brief y la configuración estén listos.
¿Reanuda una película? Lea el HANDOFF.md del proyecto y ejecute hgm state dentro del proyecto. No vuelva a leer las referencias de la habilidad, las películas antiguas ni el archivo completo de la película.
0–1 · Verificación de herramientas y selector de brief (un intercambio)
- No pregunte ni explique. Ejecute
bash <carpeta de esta habilidad>/scripts/hgm picker, añadiendo--title "…" --duration 45 --concept "…"para cualquier cosa ya dicha. Llame a visualizeread_meuna vez con["elicitation"], luegoshow_widgetcon el cargador impreso exactamente como se imprimió. - La línea de respuesta regresa como
Motion graphic details — Tools: … · Title: … · Duration seconds: … · Pacing: 1–5 · Concept: … · Motion style: … · …. Solo el concepto es obligatorio: sin título, nómbrelo; sin duración, 30 s; sin ritmo, 3; sin look de mapa, no hay mapa. - Si faltaba algo y no eligieron "Ahora no", inicie
hgm installen segundo plano. - Widget vacío, sin herramienta de widget, un guion subido o un formulario omitido: consulte
references/setup.md.
2 · Estimación de tiempo (inmediatamente después de las respuestas)
hgm estimate --answers "<la línea de respuesta, textual>". Dé sus dos primeras líneas en una o dos frases, luego comience. No espere una confirmación.
"Que Claude decida": de principio a fin, sin preguntas
Cuando el estilo es "Que Claude decida" (o "tú decides", "sorpréndeme", o el formulario fue omitido):
- No pregunte nada más. Decida todo como un director: el estilo que sirve al concepto, el ritmo (3 a menos que el concepto pida claramente calma o frenesí), un mapa solo si la historia viaja por lugares reales, un paseo solo en farsa recortada o teatro de papel, el reparto y las voces, el guion e imágenes de los archivos (ChatGPT solo si ya está conectado).
- Vuelva a ejecutar
hgm estimate --style <id> --duration <s> --pace <1-5> --script write|have|noney dígales en dos líneas qué eligió, por qué y cuánto tiempo tomará. - La única parada que no puede saltar es el inicio de sesión de ElevenLabs, si se necesita una voz y aún no hay nada conectado. Si no puede hacerse, haga una película de tipo y música.
3 · Configuración (terminar antes de cualquier construcción)
hgm install si es necesario, luego hgm new <slug> --style <id> --pace <1-5> (ids: cutout-farce, kinetic-editorial, kinetic-swiss, editorial-collage, period-print, paper-theatre, real-maps, stat-hits, footage-led, silent-film, title-sequence, object-diorama), luego hgm doctor. El inicio de sesión de ElevenLabs (hgm connect-voice) y las imágenes ChatGPT (hgm connect-images) tienen redacción exacta en references/setup.md; sígala palabra por palabra y nunca maneje una clave. Todo verde → diga "Configuración lista" en una línea.
4 · Dirección
hgm ref <style-id>imprime todo lo que este estilo necesita de una sola vez: su sección destyles.md, su lenguaje de movimiento, las reglas bajo todos los estilos ytaste.md(la barra y la lista de verificación anti-apariencia-IA). No abra archivos de referencia completos.- Los hechos necesitan investigación, nunca suposiciones. Si la película afirma hechos (historia, ciencia, personas, números, "qué pasaría si"), un subagente investiga en
FACTS.mdantes de que se escriba cualquier guion:hgm ref research. Guion solo a partir de hechos confirmados; el drama proviene de los detalles verdaderos. - No hay guion proporcionado: proponga 3 conceptos en un mensaje (un personaje en una situación, un gancho de 1,5 s, una escalada a un desenlace) y elimine usted mismo el más seguro. Bajo "Que Claude decida", no proponga: elija el más fuerte y continúe. Las palabras por 30 s provienen del ritmo (
pacing.jsonwords30: 50 en ritmo 1, 66 en 3, 82 en 5). Termine en la línea de desenlace. - Planifique el escenario. Escriba un plan de escenas en
BRIEF.md: una línea por escena con su rango de tiempo, lugar y cómo cambia. El mundo cambia cadascenerysegundos del ritmo a menos que la historia necesite un solo lugar. Un nuevo accesorio en el mismo fondo no es un cambio (taste.md, "Escenario"). - Fije el mundo en
BRIEF.mdcon cinco reglas: paleta (2–3 colores más un acento por compás), impresión o línea, textura (un grano), luz, letras (una familia).
5 · Voz: la voz es el reloj (omitir para "sin locución")
hgm voices --list→ reparto enaudio/cast.json→audio/script.json(textlleva la actuación entre [etiquetas de audio],captiones el texto limpio en pantalla,gap_afterdeja espacio para la acción).hgm voice-allimprime una línea de resumen más cualquier línea ✗ (registro completo:review/voice.log). Corrija las líneas ✗ conskip_start, el caption, ohgm voices <id>. Detalles:hgm ref elevenlabs.
6 · Activos: primero en línea, luego ChatGPT
- Delegue la parte mecánica a un subagente (herramienta Agent,
model: "sonnet"): asígnele la lista de imágenes, las reglas del mundo BRIEF y los comandoshgm assets <key> "query" …(imágenes) yhgm assets --audio <key> "query"(sonidos). Devuelve, por clave, sus 3 mejores candidatos en una hoja combinada y una lista de texto corta. Usted ve esa hoja pequeña y elige; luegohgm pick <key>:<n>:<name>(usted o el subagente) descarga y registra el crédito. Fuentes:hgm ref sources. - Solo lo que los archivos no pueden proporcionar va a ChatGPT (
hgm img inbox/<nombre>.png "<prompt>", o un paquete de prompts):hgm ref imagegen. - Mapas:
hgm map-data …luegohgm map-reel:hgm ref maps. Nunca dibuje o adivine geografía. - Corte y articule en
assets/build_assets.py(hgm grid,hgm zoom,hgm cut,hgm explode; receta:hgm ref cutout-farce-recipe). Un subagente puede hacer la lectura de coordenadas y el corte; usted verifica la única hoja deexplode.
7 · Animar
- Construya en
<slug>.mjs(el andamio).hgm apilista cada ayudante con su firma: úselo en lugar de leer el andamio o películas antiguas. Mantenga los ayudantes de línea de tiempo; reemplace el bloque DEMO. - Un objeto de estado con
at(sec, {key: [desde, hasta]}, dur, ease). Cada acción obtiene una señal SFX; los subtítulos están sincronizados con las palabras.at()escala cada duración por el ritmo (PC.k); corte y cambie escenario enPC.shotyPC.scenery.hgm voice-allaplica el tempo del narrador y los espacios del ritmo. - Muévase como se mueve el estilo (su tasa de fotogramas, qué se mueve en dos o tres, su easing, cámara, transiciones). El andamio ya aplica el perfil. Nunca dé a todos los estilos el mismo easing suave de entrada y salida: esa uniformidad es la señal de IA.
- Los paseos pertenecen a la farsa recortada (y al salto y deslizamiento del teatro de papel):
walk(style, t, {facing}),hgm ref walks,hgm walkspara el reel. - Escriba el archivo de la película una vez, luego cámbielo con pequeñas Ediciones. Nunca reescriba el archivo completo para cambiar una escena.
- Trampas a evitar:
hgm ref trapsantes de la primera construcción.
8 · Revisión: parezca un diseñador (aquí vale la pena gastar tokens)
hgm stills 0,1,3,6,10,…(12–18 veces, incluyendo medio movimiento) escribereview/contact.jpg. Véalo una vez y evalúelo contra la lista de verificación de gusto: gancho en 0, 1, 3 y 10 s; un héroe por compás; nada cubriendo una cara; nada solo "presente"; ¿cambia el escenario según el plan, o varios fotogramas seguidos comparten un fondo?; ¿alguien adivinaría que lo hizo la IA?- Corrija todo lo que encontró en una sola pasada, luego
hgm stillssolo los momentos cambiados. Haga zoom (hgm zoom) solo en lo que está evaluando.
9 · Construir y entregar
hgm build(renderizar, mezclar, multiplexar; ejecútelo en segundo plano), luegohgm frames 0.2,<mid>,<end>y mire los fotogramas del MP4 final.hgm cover <t>hace una portada simple, sin tipo.- Envíe el MP4 y la portada (SendUserFile). Diga la duración, cualquier cambio respecto al brief y lo que no pudo verificar (Claude no puede escuchar: la mezcla fue verificada por niveles y tiempos).
- Mantenga
CREDITS.mdcompleto. Las notas vuelven quirúrgicas: aplique exactamente esas, vuelva a verificar esos fotogramas, reconstruya.
Presupuesto de tokens
Medido en las primeras tres películas (Pemberton 338 turnos, Hyderabad 116, Wright brothers 72): cada turno relee toda la conversación, por lo que el costo es turnos × tamaño de contexto. El chat comienza con aproximadamente 90K tokens antes de que ocurra algo. Una captura de pantalla, una hoja o un cat permanecen en el contexto y se pagan nuevamente en cada turno posterior. Por lo tanto:
- Menos turnos. Agrupe comandos independientes en una sola llamada de herramienta (
hgm stills … && hgm frames …). Planifique una lista de correcciones, luego aplíquela en una sola pasada. - Salidas pequeñas. Use comandos
hgm, nocat,lsoseden referencias, películas antiguas o registros.hgm ref,hgm apiyhgm stateimprimen solo lo necesario. Nunca imprima JSON, la lista completa de voces dos veces ni el archivo de la película. Redirija la salida larga de la herramienta a un archivo y usetail -3. - Imágenes pequeñas, pocas. Una hoja de contacto por ronda de revisión; los fotogramas de 220 px son suficientes para evaluar. Nunca lea fotogramas sin procesar, descargas sin procesar ni fotogramas de tamaño completo; haga zoom a un recorte.
- Subagentes para trabajo mecánico (
model: "sonnet"): búsqueda y descarga de activos, verificación de cortes y articulaciones, renders, créditos. Devuelven una lista corta y una hoja. Mantenga el modelo principal para el concepto, guion, estilo, selecciones y la revisión del diseñador. - Haga la transición antes de que el contexto se vuelva pesado. Con aproximadamente 200K tokens de contexto (o el 40% de la ventana, lo que ocurra primero; aproximadamente 50 llamadas de herramienta), termine el paso actual, ejecute
hgm handoff, complete sus líneas "Siguiente" y dígale al usuario: "Continúe en un nuevo chat:continue <slug>." Un chat nuevo retoma desde HANDOFF.md yhgm statepor aproximadamente 5K tokens.
| Fase | Turnos del chat principal | Contexto que puede añadir |
|---|---|---|
| Selector + estimación | ≤ 4 | ≤ 8K (la guía visual es la mayor parte) |
| Configuración | ≤ 3 | ≤ 2K |
| Investigación (subagente escribe FACTS.md) | ≤ 2 | ≤ 3K (usted lee FACTS.md, nunca los resultados de búsqueda) |
Dirección (+ hgm ref) | ≤ 6 | ≤ 12K |
| Voz | ≤ 4 | ≤ 4K |
| Activos (subagente hace la búsqueda) | ≤ 6 | ≤ 10K (una hoja combinada + una hoja de explosión) |
| Animar (película escrita una vez) | ≤ 8 | ≤ 25K (el archivo de la película que escribe) |
| Revisión (≤ 4 hojas de contacto) | ≤ 12 | ≤ 12K |
| Construir + entregar | ≤ 4 | ≤ 4K |
| Película completa | ≤ 50 | termina por debajo de ~180K |
Gaste libremente en el concepto, la elección de estilo y la revisión del diseñador. Ellos hacen la película; el presupuesto sale de la fontanería, nunca del aspecto.
Innegociables
- Voces: solo ElevenLabs.
- Imágenes: archivos primero; imágenes ChatGPT cuando sea necesario. Nunca Higgsfield. Sin video de IA. Nunca dibuje personajes, ilustraciones o emblemas en código.
- Motor: canvas + anime.js + FFmpeg. three.js solo para 3D real; Blender solo si la luz física es la idea.
- Créditos y claves: acredite cada fuente. Nunca ponga el correo electrónico del usuario ni detalles personales en las solicitudes. Nunca imprima claves.