# Gráficos y rótulos de Auroflow

Entrega una composición reproducible a partir de datos tipados y fuentes
propias, con cola del servidor. La web, REST y MCP comparten la misma admisión.

Para capas reutilizables, cambios de título o varias versiones de un mismo
vídeo, usa la [pista editable](../SKILL.md): se guarda aparte y se corrige con
parches por ID sin regenerar fuentes. Esta receta sirve para una composición
puntual que no necesita un documento guardado.

## Elegir la operación

Consulta `auroflow_capabilities {area:"motion"}` antes de diseñar. HyperFrames cubre
logos, texto, rótulos, cintas de noticias y gráficas de barras, líneas o anillo.
Para una solicitud explícita de Remotion o efectos adicionales, consulta
[remotion.md](remotion.md) y usa únicamente el contrato anunciado como listo.
La presencia de una herramienta o una receta no habilita su motor.

Omitir `engine` conserva la ruta HyperFrames. `engine:"remotion"` selecciona
Remotion y permite `animation` por capa: `fade`, `slide_up`, `slide_left`,
`spring_pop` o `typewriter`. Este último sólo se admite en texto, rótulo o cinta.
No cambies de motor silenciosamente si el elegido está bloqueado por licencia.

La composición actual entrega MP4 opaco, 24 FPS, 16:9 o 9:16 y 1–60 s, con
1–12 capas. No produce una capa alfa descargable. Si el encargo requiere generar
vídeo, imágenes o voz nueva, prepara esas fuentes con el flujo específico antes
de componer; un render de gráficos no hace inferencia ni genera en Flow.

## Recorrido operativo

1. Lee capacidades y `auroflow_list {kind:"sources"}`. Elige sólo IDs observados de
   vídeos o secuencias terminados de la cuenta y castings propios disponibles.
   Sube un logo privado con `auroflow_upload_reference` si hace falta.
2. Prepara una petición por formato. Usa `mode:standalone` para gráficos sobre
   lienzo; `mode:overlay` exige `background` propio. Guarda la petición exacta
   y su ID `motion-…` antes de cualquier envío.
3. Llama `auroflow_plan_motion` con `{"request": petición}`. Comprueba
   `render_ready:true`, duración, geometría, motor y hashes de fuentes. El plan
   valida y resuelve fuentes; todavía no encola ni renderiza.
4. Con autorización del encargo y `cost_max` entero `0`, llama una sola vez
   `auroflow_render_motion_zero` con la misma petición. Después consulta ese ID
   mediante `auroflow_get`; ante respuesta incierta no crees otro ID.
5. Usa `auroflow_list {kind:"motion_queue"}` o `auroflow_list {kind:"motion"}` para posición y prioridad.
   El servidor asigna la prioridad y reparte turnos entre cuentas del mismo
   nivel; el cliente no puede enviar `priority`. La cola sigue con la web cerrada.
6. Descarga el MP4 de la URL privada devuelta y verifica su SHA. Revisa toda la
   pieza con audio y conserva recibo, petición, IDs y límites de la revisión.
   `completed` acredita archivo verificado, no aprobación audiovisual humana.

Un replay idéntico con el mismo ID es idempotente; cambiar contenido bajo ese ID
da conflicto. Un fallo terminal conserva su causa y deja avanzar la cola. No
se reintenta automáticamente. Cancela sólo trabajos aún `queued` mediante
`auroflow_cancel_motion` con `{"id": ID, "cost_max": 0}`.

## Decisiones editoriales que afectan al resultado

- Los textos son rótulos pedidos por el usuario. No añadas subtítulos ni una
  transcripción automática del diálogo. Respeta nombres, mensajes y cifras
  literales; una gráfica no prueba sus afirmaciones.
- El orden de `layers` fija el apilamiento. Define cajas y tiempos explícitos
  para logo, titular, gráfica, rótulo y cinta: sus posiciones por defecto pueden
  solaparse. Adapta las cajas para cada aspecto y deja margen para la interfaz
  de la plataforma de destino.
- Acorta títulos antes de reducir su legibilidad. Si aparece
  `motion_text_does_not_fit`, revisa el texto o amplía su caja y documenta el
  cambio editorial; no repitas a ciegas el mismo intento fallido.
- `audio.source` reutiliza una grabación propia. Un casting de 8 s seguido de
  silencio no es una locución nueva de 15 s. No repitas, estires ni inventes
  frases para cubrir el anuncio. En overlay, omitir `audio` conserva la pista
  original del fondo; elegir otro audio la sustituye. `audio.tracks` combina
  hasta ocho pistas propias de música, voz y sonido. Incluir la base como pista
  para conservarla en una mezcla; editar por revisión con la
  [skill de montaje](https://auroflow.club/skills/auroflow-editing/SKILL.md).
  Standalone sin audio es mudo.
- Un fondo corto mantiene el último fotograma; no repite la acción. Comprueba
  en el recibo los segundos de imagen mantenida y silencio añadido.

## Leer sólo lo necesario

- Para campos exactos, REST, autenticación y recuperación:
  [references/public-motion-contract.md](motion-contract.md).
- Para comenzar una pieza o comparar formatos:
  [references/recipes.json](motion-recipes.json). Los ejemplos son datos de
  preparación; no los envíes sin asignar un ID nuevo para la intención del usuario.

El coste 0 de esta ruta significa 0 créditos de Flow, proveedor y plataforma
Auro. Usa el estado y plan vivos; hardware y almacenamiento siguen teniendo
coste operativo. No cambies de motor ni actives un fallback de pago para eludir
un bloqueo de disponibilidad, cuenta o licencia.
