Las correcciones de captura anidada, subida de recursos, --dry-run, carpetas en componentes y captions prepare --style requieren 0.42.1.
Estos comandos requieren CLI y API 0.42.0 o posterior. Comprueba la versión disponible en Versiones y disponibilidad y editorbrain help antes de usarlos.
Un estilo guarda el método, los recursos y el código que podrás adaptar a otros videos. Guardarlo no modifica tu marca ni cambia automáticamente el estilo de un proyecto.
Partir de un video que ya editaste
editorbrain styles create mi-estilo --from-project mi-video
editorbrain styles check mi-estilo
El CLI recorre videos/<id>/ y .editorbrain-local/<id>/, incluidas las carpetas de producción anidadas. Recoge direction.md y review.md con su ruta de origen, archivos y hashes, recibos reconocidos y beats con tiempos declarados. Los recibos se identifican por su contenido (modelo/proveedor y campos de generación, incluidas colecciones jobs o tasks), independientemente del nombre del archivo. No inventa intervalos ni convierte un render en una aprobación humana. Si omites mi-estilo, el ID será mi-video-style.
Revisa los recursos candidatos y completa qué conservar, qué adaptar y cuándo omitir cada técnica. Los prompts recuperados quedan como ejemplos del piloto; conviértelos en una receta con variables antes de aplicarlos a otra marca. Los archivos no reconocidos, ausentes o demasiado grandes aparecen como advertencias.
La captura admite hasta 2.000 entradas y ocho niveles de carpetas. Prioriza la escena elegida y sus dependencias, medios generados, SFX y logos; deduplica por SHA-256 antes del límite de 200 recursos portables. Excluye vendor, QA, frames y copias de escenas salvo dependencias explícitas. El presupuesto portable es de 90 MiB por archivo y 512 MiB en total. Los renders finales se registran por hash como evidencia local, con un presupuesto independiente de 2 GiB y avisos explícitos; no se suben. Si hay varias escenas revisadas, elige --scene .editorbrain-local/<proyecto>/build/styles/<estilo>/scene.html. Los prompts solo se capturan cuando su salida está vinculada a medios usados por esa escena; los ambiguos o sin vínculo se omiten. No ejecuta código ni llama a proveedores. Estas mejoras de selección y karaoke requieren CLI 0.43.0 o posterior; no forman parte del tarball inmutable 0.42.1.
Llevar los archivos a otra computadora
editorbrain styles push mi-estilo --with-resources --dry-run
editorbrain styles push mi-estilo --with-resources
editorbrain styles pull mi-estilo --dir ./otra-carpeta
Los archivos van al almacenamiento privado del workspace y consumen su cuota. El CLI verifica su descarga y SHA-256 antes de guardar los documentos remotos. El manifiesto conserva IDs permanentes; al descargar, los archivos quedan en production-assets/styles/mi-estilo/.
Se admiten imágenes, videos, audio, HTML/JS/MJS/JSON y fuentes WOFF/WOFF2/TTF/OTF. Los proyectos nativos de aplicaciones y otros formatos requieren preparación manual. Los archivos de código se sirven como descargas, no como páginas ejecutables.
El push normal de texto avisa si el estilo depende de archivos locales. El push de estilo solo selecciona los documentos de ese estilo; no incluye todos los proyectos de la carpeta. No sobrescribe conflictos. Un guardado de varios documentos puede interrumpirse después de algunas escrituras: consulta los resultados y vuelve a intentar después de reconciliar cambios.
Los miembros restringidos de equipos no modifican estilos compartidos. Solo pueden descargar los recursos de los estilos asociados a sus proyectos editables. Conocer un hash no concede acceso.
Reutilizar el código de una escena
editorbrain styles component extract --style mi-estilo --id takeover --scene videos/mi-video/scene.html --bindings bindings.json
editorbrain styles component list --style mi-estilo
editorbrain styles component prepare --style mi-estilo --id takeover --parameters siguiente.json --out videos/otro-video/takeover.html
components.json es el registro privado de componentes del estilo; no modifica la biblioteca pública. Sin parámetros explícitos, la escena queda capturada, pendiente de adaptación. No se presenta como un componente reutilizable o probado en otro video.
El agente debe agrupar los valores editables en un objeto dentro de un bloque script. Ejemplo de bindings.json:
[
{"name":"headline","type":"string","literal":"Título del piloto","occurrences":1,"role":"text"},
{"name":"anchor","type":"number","literal":1.125,"occurrences":1,"role":"timing"}
]
Y siguiente.json:
{"headline":"La idea de este video","anchor":3.375}
Cada literal debe aparecer exactamente las veces declaradas; no se hacen reemplazos ambiguos en atributos HTML. Los parámetros pueden ser string, number o boolean y representar texto, clip, tiempo o composición. Los nombres de parámetros admiten camelCase; los IDs siguen en minúsculas. role:"directory" admite una carpeta relativa al workspace, sin enlaces simbólicos ni rutas privadas (hasta 500 entradas y cuatro niveles). Ajusta la ruta a la ubicación de salida, pero no sube automáticamente la carpeta: declara sus archivos en resources.json. Los tiempos fraccionarios se conservan. La preparación conserva el original y se niega a reemplazar el archivo de salida.
Las dependencias literales HTML/CSS declaradas se redirigen a los archivos verificados de la computadora actual. Las rutas construidas en JavaScript, imports dinámicos y dependencias externas necesitan revisión explícita. El agente debe revisar el código antes de ejecutarlo.
Recetas de imagen y subtítulos
editorbrain media style create mi-estilo --style mi-estilo --file receta.json
editorbrain styles captions create --style mi-estilo --file subtitulos.json
editorbrain styles techniques create --style mi-estilo --file tecnicas.json
Estos comandos crean documentos sin reemplazar uno existente. Para ajustar un borrador ya creado, edítalo y ejecuta styles check.
| Documento | Datos que guarda |
|---|---|
media-style.json | Modelo, referencias ordenadas por ID, prompt con variables, revisión previa y receta opcional de animación |
captions.json | Fuente, peso, tamaño, color, caja activa, posición, zonas prohibidas y ocultación durante cruces |
techniques.json | Función, condiciones, frase ancla, recursos, componente y pasos para verificar cada técnica |
components.json | Código original identificado por hash y parámetros explícitos |
Ejemplo mínimo de receta:
{
"schemaVersion":1,"id":"mi-estilo","status":"ready",
"model":"modelo-elegido","referenceOrder":[],
"promptTemplate":"{personajes} en {escena}, paleta {paleta}",
"variables":["personajes","escena","paleta"],
"reviewBeforeAnimation":["Revisar identidad, geometría y legibilidad"],
"animation":{"model":"modelo-de-video-elegido","promptTemplate":"Animar {escena} conservando la identidad"}
}
referenceOrder contiene IDs de resources.json, en el orden que requiere el proveedor. La receta también puede orientar imágenes para thumbnails y carruseles. Guardarla no genera imágenes, no autoriza gasto y no sustituye la comprobación de una integración.
Ejemplo de subtítulos:
{
"schemaVersion":1,"id":"mi-estilo","enabled":true,
"font":{"family":"Arial","weight":600,"size":48,"color":"#FFFFFF"},
"activeBox":{"color":"#000000","padding":12},
"position":{"x":0.5,"y":0.8},
"forbiddenZones":[{"x":0.2,"y":0.1,"width":0.6,"height":0.3}],
"hideDuringCrossings":true
}
Los colores y posiciones del ejemplo no son valores obligatorios para tus videos. Posiciones y zonas usan coordenadas de 0 a 1; tamaños y padding usan píxeles de salida. font.resourceId puede enlazar una fuente propia verificada. tokenBindings puede mapear fontFamily, color y boxColor a claves de la marca, como typography.body; así se aplican sus valores resueltos. Desactivar subtítulos en la marca o el perfil de salida tiene prioridad.
Para preparar una capa de subtítulos reproducible:
editorbrain styles captions prepare --project otro-video --file cues.json --out captions.html
Añade --style mi-estilo para previsualizar un preset diferente sin cambiar el estilo guardado del proyecto. Las restricciones de marca y del perfil de salida conservan su prioridad.
Los cues son un array ordenado, sin intervalos superpuestos: [{"start":0,"end":1.2,"text":"Tu idea","active":true}]. crossing:true marca los cruces donde debe ocultarse el subtítulo. El renderer captura la capa transparente llamando y esperando window.renderAt(segundos). La fuente enlazada se incluye en el HTML; si no enlazas una, debes tenerla instalada.
La capa oculta el texto si toca una zona prohibida o sale del cuadro. No detecta rostros ni transcribe: el agente debe proporcionar las zonas y tiempos reales. No es un render del video completo.
Comprobar si encaja en otro guion
editorbrain styles test mi-estilo --project otro-video
El resultado propone tramos de texto para frases ancla de techniques.json, con el texto encontrado, contexto, archivo, campo JSON si corresponde y línea del guion decodificado. Los offsets usan unidades UTF-16; no son líneas del archivo JSON. Además, identifica coincidencias ambiguas, componentes pendientes y recursos que faltan. También resuelve las restricciones de la marca de destino. No modifica el proyecto, no renderiza y no consume créditos.
Una técnica puede declararse así:
{
"schemaVersion":1,"id":"mi-estilo",
"techniques":[{
"id":"revelar-producto","purpose":"Mostrar el producto al nombrarlo",
"when":["El guion presenta un producto"],
"anchor":{"kind":"phrase","text":"este producto"},
"resourceIds":[],"componentId":"takeover",
"omitWhen":["La escena no trata de un producto"],
"verify":["La entrada coincide con la palabra en el audio final"]
}]
}
Las condiciones semánticas las evalúa el agente; el CLI no simula entender cualquier guion. Los rangos de texto no son timestamps. Un resultado candidato tampoco demuestra calidad visual: revisa el siguiente video antes de declarar la transferencia probada.
API y MCP
resolve_project y el contexto de workflow incluyen styleProduction para el estilo seleccionado; sus documentos participan en los hashes de contexto. Los agentes MCP usan las herramientas existentes de lectura/escritura con revisión esperada. La captura de archivos, descarga local, preparación de componentes y capas necesita acceso al CLI en la computadora del usuario.
Consulta también las bibliotecas, preferencias y versiones.
Recursos omitidos y karaoke
push --with-resources y su modo --dry-run agrupan los tipos no soportados en skippedResources. Siguen siendo dependencias locales y aparecen en advertencias; no se declara que el estilo esté completo en la nube. Convierte notas en documentos del estilo y herramientas locales en requisitos. SVG se transporta como descarga binaria privada, al igual que el código.
En captions.json, "mode":"karaoke" mantiene la frase visible y pone activeBox solo detrás de la palabra activa. Omite mode o usa "phrase" para conservar el comportamiento anterior. Proporciona tiempos reales por palabra, sin estimarlos:
[{"start":0,"end":2,"text":"Hola mundo","words":[{"text":"Hola","start":0,"end":0.8},{"text":"mundo","start":1,"end":2}]}]
En pausas entre palabras no se resalta ninguna. crossing y las zonas prohibidas siguen ocultando la frase completa. Los tiempos deben estar dentro del cue, ordenados y sin solaparse.
Sin proyecto, styles captions prepare --style mi-estilo --file cues.json --out preview.html genera una vista del preset a 1080×1920. Informa que no aplica marca ni preferencias de proyecto; para la edición final usa --project.
Encontrar tus estilos y reutilizar una edición
Disponible desde CLI 0.43.0. Consulta la ayuda instalada antes de usar estos comandos.
editorbrain styles mine --dir ./mi-estudio lista los estilos guardados en esa
carpeta. styles list sigue mostrando la biblioteca publicada. Un estilo de
edición define el tratamiento del video; media styles son recetas visuales
para imágenes. Usa styles create --help para ver únicamente las opciones de
creación, sin recorrer toda la ayuda.
Puedes preparar otro gancho o CTA con variants create comenta --project video-id --file cambios.json. El archivo admite hook, cta e instructions. La variante
es una especificación local: comparte los medios originales, conserva las
preferencias de la marca y requiere render y revisión propios. No cambia el
proyecto base ni hereda su aprobación. variants list --project video-id avisa si
cambió el contexto base desde que la creaste.
Estilos adaptativos (0.47.1)
Las reglas opcionales distinguen preferencias y requisitos explícitos. Una técnica
puede adaptarse u omitirse para un video dejando una razón por proyecto; eso no
modifica el estilo compartido ni borra un fallo requerido. styles rules inspect --project ID entrega reglas y hashes. production verify comprueba el archivo
final con evidencia limitada: OCR local opcional (--ocr), muestras con tiempos y
medición de audio. Ausencia de evidencia es desconocido, no aprobado. Una muestra
privada se puede subir para pedir opinión aunque queden observaciones.
styles captions preview --style ID --demo-text "Una idea clara" --out preview.html
crea una demostración local, sin transcribir ni consumir créditos. --video-out preview.mp4 renderiza explícitamente con navegador y FFmpeg instalados. Para
subtítulos reales aporta tiempos medidos con --file; el timing de demo nunca
sustituye la transcripción. styles captions export --style ID --file words.json --format ass --out captions.ass enumera efectos que no puede conservar. SRT no
guarda el diseño. Los módulos fuente son archivos privados, no programas que se
ejecuten al descargarse.