---
name: auroflow-editing
description: Montar tomas terminadas y editar reencuadre, títulos y capas de narración, música o sonido propio mediante la API y el MCP público de Auroflow, conservando las fuentes. Usar para montaje y correcciones sin regenerar las tomas.
---

# Montaje y capas de audio

Trabajar con las fuentes propias terminadas. El montaje y la mezcla se procesan
en el servidor; `assembly:"local"` no exige herramientas en el ordenador del
agente. Guardar IDs, peticiones, revisiones y SHA antes de cada escritura. Un
cambio de montaje, rótulo o volumen no necesita otra generación de Flow.

## Elegir la operación

Consultar `auroflow_capabilities {area:"production"}` y sólo los recursos necesarios.
Usar descubrimiento MCP `editing` o `AUROFLOW_MCP_TOOLSET=editing`: anuncia
21 herramientas de montaje sin cargar el catálogo completo.
`auroflow_list {kind:"sources"}` descubre fuentes de audio propias, incluida narración
terminada y archivos subidos.
El catálogo vivo y los bloqueos de la cuenta prevalecen sobre los ejemplos.

- Para ordenar tomas, cambiar trims o reencuadrar, compilar y crear una
  `sequence` con `auroflow_compile_sequence` y `auroflow_create_sequence`.
- Para títulos y mezcla sobre una toma o secuencia terminada, guardar una pista
  gráfica `gfx-…`, planificar su revisión y exportarla a un `motion-…`.
- Para corregir sólo sonido, usar los parches de audio de esa pista. Para un
  título, parchear su capa gráfica. Ambos conservan el vídeo fuente.

Leer [editing-contract.md](references/editing-contract.md) al preparar la
petición concreta. [audio-mix.json](examples/audio-mix.json) es un fixture de
planificación con fuentes ficticias; no enviarlo a una cuenta real.

## Montar sin cortar la voz

Leer los jobs y variantes observados: las fuentes de `clips` son jobs `api-…`
completos, de la misma cuenta y proyecto. Una secuencia terminada puede ser base
visual de gráficos, pero no se anida como clip de otra secuencia. Para reeditar
un montaje, reconstruir su lista de jobs y trims originales.

Los trims se expresan en segundos. En acabado público, convertir las decisiones
de frame con `segundos = frame / 24`; el canvas terminado es 24 fps. No enviar
un campo `fps:25` al compilador de secuencias. Confirmar los frames de salida y
la duración calculada; las duraciones nativas de las fuentes no se convierten
en duraciones nuevas de generación.

Usar `assembly:"local"`, `cost_max:0` entero y `audio:{mode:"native_scene"}`
para conservar el audio nativo seleccionado. El acabado requiere `finishing` y
admite hasta 50 clips/600 s; el montaje básico admite hasta 100 clips. Un crop
usa píxeles de la fuente; si cambia el aspecto, debe tener la proporción exacta
de destino y estar dentro de sus dimensiones verificadas. Revisar personas,
objetos y texto dentro del recorte antes de exportar.

Declarar `speech_ranges` sólo con intervalos contrastados de la línea de tiempo
final. Los suavizados respetan esas zonas; sin ellas no adivinan pausas. No
recortar palabras ni cambiar la velocidad para encajar la duración. Un hold de
cola sólo duplica imagen y añade silencio: no prolonga la frase.

## Mezclar fuentes guardadas

`composition.audio` conserva la forma simple `{source,start_seconds,gain_db}`
o admite `{tracks:[…]}`. Elegir la mezcla explícitamente; hasta ocho capas
`audio-…` con función `music`, `narration` o `video`. Cada una fija fuente,
inicio en el vídeo, inicio dentro del archivo, duración, volumen, fundidos y
silencio. Los nombres de función orientan la edición: no aplican ducking,
normalización, loops ni cambios de velocidad automáticos.

El audio explícito sustituye al audio de la base. Para conservarlo en la mezcla,
añadir la toma o secuencia base como una capa `video`. Omitir audio o usar
`set_audio` con `null` restaura el audio base; `{tracks:[]}` produce silencio
explícito. También las capas silenciadas conservan propiedad y SHA verificados.

Para nueva música o locución propia, `auroflow_upload_audio` recibe
`filename`, `mime_type` y `data_base64`; máximo 10 MiB de entrada. Leer el
`aud_…` devuelto, no una ruta local. Una narración Vids terminada se referencia
con `source:{kind:"narration",id:"tts-…",variant:1}`. Flow Music sigue
bloqueado; la música de Vids tiene sus propias herramientas (`auroflow_plan_music`,
`auroflow_generate_music_zero`…) cuando las capacidades la dan por disponible.
Subir música propia no habilita ninguna generación. No sustituir una
voz ligada a Character por otra voz independiente sin que el encargo lo pida.

## Versionar y exportar

`auroflow_plan_finishing` valida una receta de pista sin guardar, consultar
medios ni renderizar. Después usar `auroflow_create_graphics_track` y conservar
`response.track.revision`. Para editar audio, `auroflow_patch_graphics_track`
recibe el mismo `{id,request:{expected_revision,patches}}` que los parches de
la pista: `set_audio`, `add_audio_layer`, `set_audio_layer`,
`remove_audio_layer`. Cambiar la fuente de una capa requiere un ID de capa
nuevo; no reutilizar un ID antiguo para otros bytes. Una pista con audio explícito puede exportarse sin capas visuales. Un título usa `set` sobre
su `layer_id`, sin volver a sintetizar la locución.

Releer después de guardar, planificar la revisión exacta con
`auroflow_plan_graphics_track`, exigir motor listo y fuentes verificadas y
exportar una vez con `auroflow_render_graphics_track_zero`. La cola y la
prioridad son del servidor. Ante respuesta incierta consultar la misma pista
y el mismo `motion-…`; no crear otro ID para repetir un render incierto.

Verificar el SHA de la entrega y revisar todos los segundos con imagen y audio:
trims, voz completa, cortes, volumen, música, fundidos, silencios y legibilidad.
El render puede recodificar el audio; no prometer identidad AAC byte a byte.
Separar validación técnica, revisión perceptual y aprobación humana. ASR y
nombres de voces no certifican timbre ni acento.
