Videos de marca propia con planos filmados o generados. La línea entra como texto compuesto después —cartela, zócalo, callout, super de dato, subtítulos— y como cierre de marca. Cada plano tiene su ficha y su formato nativo. Guía completa: docs/agent-composition/surfaces/audiovisual.md.
audiovisual
8 aprobadas
Token
surfaces.audiovisual
01 · audiovisual
Video de producción
«Cómo trabajamos», casos, presentaciones del equipo: un plan de planos con sus reglas y siete generadores de texto.
Presentación, web y YouTube, con o sin sonido. Los cortes verticales y cuadrados se cubren de forma nativa por plano y llevan subtítulos quemados.
Reglas de la superficie
first-frame-passes-still-qaEl primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima.
one-light-one-registerUna luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan.
grade-matches-photoEl grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul.
wardrobe-by-registerUniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone).
text-only-in-planned-reservesTexto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada.
native-format-per-shotFormato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro.
signature-in-close-own-brand-onlyLa firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo.
Recetas aprobadas y pendientes
shot-plan
Aprobadapapel plan · formato 16x9
Producción audiovisual · planos y reglas
El plan de planos: cada plano declara lugar, lente, cámara, luz, registro y vestuario; cierra con el reveal.
signature-in-close-own-brand-onlyLa firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo.
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "audiovisual",
"format": "16x9",
"role": "lower-third",
"recipe": {
"id": "zocalo",
"status": "approved",
"role": "lower-third"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1920,
"height": 1080,
"unit": "px",
"format": "16x9"
},
"safeArea": null,
"reserves": [
{
"band": "lowerThird",
"side": "bottom",
"inset": 0.0625,
"fromTop": 0.7407
}
],
"type": {
"question": {
"family": "Poppins",
"weight": 300,
"px": 38,
"lineHeight": null,
"tracking": null,
"uppercase": false,
"color": "#ffffff"
},
"answer": {
"family": "Bricolage Grotesque",
"weight": 760,
"px": 128,
"lineHeight": null,
"tracking": "-0.035em",
"uppercase": false,
"color": "#ffffff"
}
},
"dominance": {
"ratio": 3.37,
"min": 3,
"ok": true
},
"steps": null,
"signature": {
"mode": "close-only",
"photoCarriesLogo": false,
"orbitDelegate": "surface-owned"
},
"timeline": {
"sequence": "texts",
"durationMs": 13100,
"window": [
2500,
5000
],
"enterMs": 400,
"segments": [],
"close": {
"piece": "reveal",
"startMs": 9500,
"durationMs": 3600,
"audio": true
},
"audio": true,
"reducedMotion": "final-frame"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "first-frame-passes-still-qa",
"text": "El primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima."
},
{
"id": "one-light-one-register",
"text": "Una luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan."
},
{
"id": "grade-matches-photo",
"text": "El grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul."
},
{
"id": "wardrobe-by-register",
"text": "Uniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone)."
},
{
"id": "text-only-in-planned-reserves",
"text": "Texto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada."
},
{
"id": "native-format-per-shot",
"text": "Formato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro."
},
{
"id": "signature-in-close-own-brand-only",
"text": "La firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo."
},
{
"id": "lower-third-enters-400ms",
"text": "El zócalo entra en 0,4 s."
}
],
"references": [
{
"id": "zocalo",
"title": "Escenas con texto · 02 generador de caracteres (zócalo)",
"status": "approved",
"image": "/references/surfaces/audiovisual/zocalo.jpg",
"canvasPage": "audiovisual",
"canvasBoard": "AudiovisualTextos.dc.html"
}
],
"delegates": {
"orbit": [
{
"scene": "main",
"contract": "efeonce.graphic-line-orbit",
"intent": {
"canvas": {
"width": 1920,
"height": 1080,
"line": "growth",
"surface": "dark",
"channel": "screen"
},
"elements": [
{
"kind": "voice",
"id": "voice",
"questionId": "question",
"answerId": "answer",
"answerText": "Producción"
}
]
}
}
],
"close": {
"piece": "reveal",
"format": "16x9",
"durationMs": 3600,
"startMs": 9500,
"source": "efeonceGraphicLine.motion.pieces.reveal",
"signsOnlyOwnBrand": true
},
"selection": [
{
"contract": "efeonce.collaboration-selection",
"intent": {
"targetId": "answer",
"targetKind": "group",
"variant": "open-brackets",
"padding": "compact",
"cursors": [
{
"id": "collaborator",
"kind": "collaborator",
"targetId": "answer",
"anchor": "top-end",
"label": "Producción",
"participantKind": "role"
}
]
},
"collaboratorScale": 1.2,
"targetKind": "group",
"variant": "open-brackets",
"padding": "compact"
}
],
"icons": [],
"photo": null
},
"content": {
"eyebrow": null,
"question": "Terreno · panadería del cliente, 06:40",
"answer": [
"Producción"
],
"answerSphere": "closes-last-line",
"body": null,
"proof": null,
"measure": null,
"progress": null,
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": null,
"frames": null,
"chapter": null,
"shots": null,
"subtitles": null,
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "audiovisual",
"format": "16x9",
"role": "opening-title",
"recipe": {
"id": "cartela",
"status": "approved",
"role": "opening-title"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1920,
"height": 1080,
"unit": "px",
"format": "16x9"
},
"safeArea": null,
"reserves": [
{
"band": "voice",
"side": "start",
"inset": 0.0781,
"fromTop": 0.1815
},
{
"band": "answer",
"side": "start",
"inset": 0.0667,
"fromTop": 0.2944
},
{
"band": "orbit",
"region": "center-end",
"circle": {
"cxOfWidth": 0.7396,
"cyOfHeight": 0.4815,
"rOfHeight": 0.3519
},
"source": "surfaces.recipe.progress"
}
],
"type": {
"question": {
"family": "Poppins",
"weight": 300,
"px": 52,
"lineHeight": null,
"tracking": null,
"uppercase": false,
"color": "#ffffff"
},
"answer": {
"family": "Bricolage Grotesque",
"weight": 760,
"px": 400,
"lineHeight": null,
"tracking": "-0.06em",
"uppercase": false,
"color": "#ffffff"
},
"chapterWord": {
"family": null,
"weight": null,
"px": 96,
"lineHeight": null,
"tracking": null,
"uppercase": false,
"color": "#ffffff"
},
"chapterLabel": {
"family": null,
"weight": null,
"px": 34,
"lineHeight": null,
"tracking": null,
"uppercase": false,
"color": "#ffffff"
}
},
"dominance": {
"ratio": 7.69,
"min": 3,
"ok": true
},
"steps": null,
"signature": {
"mode": "close-only",
"photoCarriesLogo": false,
"orbitDelegate": "surface-owned"
},
"timeline": {
"sequence": "texts",
"durationMs": 13100,
"window": [
0,
2500
],
"enterMs": null,
"segments": [],
"close": {
"piece": "reveal",
"startMs": 9500,
"durationMs": 3600,
"audio": true
},
"audio": true,
"reducedMotion": "final-frame"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "first-frame-passes-still-qa",
"text": "El primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima."
},
{
"id": "one-light-one-register",
"text": "Una luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan."
},
{
"id": "grade-matches-photo",
"text": "El grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul."
},
{
"id": "wardrobe-by-register",
"text": "Uniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone)."
},
{
"id": "text-only-in-planned-reserves",
"text": "Texto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada."
},
{
"id": "native-format-per-shot",
"text": "Formato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro."
},
{
"id": "signature-in-close-own-brand-only",
"text": "La firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo."
}
],
"references": [
{
"id": "cartela",
"title": "Escenas con texto · 01 cartela de apertura",
"status": "approved",
"image": "/references/surfaces/audiovisual/cartela.jpg",
"canvasPage": "audiovisual",
"canvasBoard": "AudiovisualTextos.dc.html"
}
],
"delegates": {
"orbit": [
{
"scene": "main",
"contract": "efeonce.graphic-line-orbit",
"intent": {
"canvas": {
"width": 1920,
"height": 1080,
"line": "growth",
"surface": "dark",
"channel": "screen"
},
"elements": [
{
"kind": "voice",
"id": "voice",
"questionId": "question",
"answerId": "answer",
"answerText": "Así"
},
{
"kind": "progress",
"id": "progress",
"region": "center-end",
"sections": 3,
"current": 1
}
]
}
}
],
"close": {
"piece": "reveal",
"format": "16x9",
"durationMs": 3600,
"startMs": 9500,
"source": "efeonceGraphicLine.motion.pieces.reveal",
"signsOnlyOwnBrand": true
},
"selection": [
{
"contract": "efeonce.collaboration-selection",
"intent": {
"targetId": "answer",
"targetKind": "text",
"cursors": [
{
"id": "collaborator",
"kind": "collaborator",
"targetId": "answer",
"anchor": "bottom-end",
"label": "Dirección de arte",
"participantKind": "role"
}
]
},
"collaboratorScale": 1.6,
"targetKind": "text"
}
],
"icons": [],
"photo": null
},
"content": {
"eyebrow": null,
"question": "¿Cómo trabajamos?",
"answer": [
"Así"
],
"answerSphere": "closes-last-line",
"body": null,
"proof": null,
"measure": null,
"progress": {
"sections": 3,
"current": 1
},
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": null,
"frames": null,
"chapter": {
"title": "Escucha",
"label": null,
"current": 1,
"sections": 3
},
"shots": null,
"subtitles": null,
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "audiovisual",
"format": "16x9",
"role": "callout",
"recipe": {
"id": "callout-selection",
"status": "approved",
"role": "callout"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1920,
"height": 1080,
"unit": "px",
"format": "16x9"
},
"safeArea": null,
"reserves": [],
"type": {},
"dominance": null,
"steps": null,
"signature": {
"mode": "close-only",
"photoCarriesLogo": false,
"orbitDelegate": "surface-owned"
},
"timeline": {
"sequence": "texts",
"durationMs": 13100,
"window": [
5000,
6500
],
"enterMs": null,
"segments": [],
"close": {
"piece": "reveal",
"startMs": 9500,
"durationMs": 3600,
"audio": true
},
"audio": true,
"reducedMotion": "final-frame"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "first-frame-passes-still-qa",
"text": "El primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima."
},
{
"id": "one-light-one-register",
"text": "Una luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan."
},
{
"id": "grade-matches-photo",
"text": "El grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul."
},
{
"id": "wardrobe-by-register",
"text": "Uniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone)."
},
{
"id": "text-only-in-planned-reserves",
"text": "Texto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada."
},
{
"id": "native-format-per-shot",
"text": "Formato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro."
},
{
"id": "signature-in-close-own-brand-only",
"text": "La firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo."
}
],
"references": [
{
"id": "callout-selection",
"title": "Escenas con texto · 03 callout con selección",
"status": "approved",
"image": "/references/surfaces/audiovisual/callout-selection.jpg",
"canvasPage": "audiovisual",
"canvasBoard": "AudiovisualTextos.dc.html"
}
],
"delegates": {
"orbit": [],
"close": {
"piece": "reveal",
"format": "16x9",
"durationMs": 3600,
"startMs": 9500,
"source": "efeonceGraphicLine.motion.pieces.reveal",
"signsOnlyOwnBrand": true
},
"selection": [
{
"contract": "efeonce.collaboration-selection",
"intent": {
"targetId": "object",
"targetKind": "object",
"cursors": [
{
"id": "collaborator",
"kind": "collaborator",
"targetId": "object",
"anchor": "top-start",
"label": "Dirección de arte",
"participantKind": "role"
}
]
},
"collaboratorScale": 1.6,
"targetKind": "object",
"box": {
"left": 0.375,
"top": 0.5185,
"right": 0.5521,
"bottom": 0.7407,
"px": {
"x": 720,
"y": 559.98,
"width": 340.03,
"height": 239.98
}
}
}
],
"icons": [],
"photo": null
},
"content": {
"eyebrow": null,
"question": null,
"answer": [],
"answerSphere": null,
"body": null,
"proof": null,
"measure": null,
"progress": null,
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": null,
"frames": null,
"chapter": null,
"shots": null,
"subtitles": null,
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}
{
"contract": "efeonce.surface-composition",
"version": "0.1.1",
"surface": "audiovisual",
"format": "16x9",
"role": "plan",
"recipe": "shot-plan",
"line": "growth",
"theme": "dark",
"title": "Producción audiovisual · un video de 12,6 s «Cómo trabajamos», cuadros clave generados",
"shots": [
{
"segment": "shot-01-wide",
"title": "Plano general",
"spec": "Terreno, panadería del cliente · 35 mm · cámara en mano, avanza despacio · luz del horno + ventana",
"note": "Documental: nadie mira a cámara · gorra + hoodie (terreno)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V1-terreno.png",
"alt": "Una productora de Efeonce filma al panadero junto al horno"
},
{
"segment": "shot-02-insert",
"title": "Inserto",
"spec": "Detalle de manos · macro 100 mm · fijo, foco en la punta del lápiz · una lámpara rasante",
"note": "El oficio en primer plano · manga del polo (oficina)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V2-detalle.png",
"alt": "Las manos de un director de arte marcan una prueba de impresión con lápiz rojo y una lupa"
},
{
"segment": "shot-03-medium",
"title": "Plano medio",
"spec": "Sala del cliente · 50 mm · sobre el hombro del cliente, empuje lento · la pantalla es la luz",
"note": "Documental · chaqueta sobre polo (reunión importante)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V3-sala.png",
"alt": "Una estratega de Efeonce presenta la curva de resultados al equipo del cliente"
},
{
"segment": "shot-04-close",
"title": "Cierre",
"spec": "Reveal aprobado (3,6 s, con sonido) · masters de AXIS v1.1",
"note": "La toma nunca lleva logo: firma el cierre",
"plateRef": "masters/orbit-motion/v1.1/reveal/16x9/navy/efeonce-orbita-reveal_16x9_navy_cuadro-final.png",
"alt": "El último cuadro del reveal: el logo de Efeonce con su eslogan sobre el navy de la marca"
}
]
}
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "audiovisual",
"format": "16x9",
"role": "plan",
"recipe": {
"id": "shot-plan",
"status": "approved",
"role": "plan"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1920,
"height": 1080,
"unit": "px",
"format": "16x9"
},
"safeArea": null,
"reserves": [],
"type": {},
"dominance": null,
"steps": null,
"signature": {
"mode": "close-only",
"photoCarriesLogo": false,
"orbitDelegate": "surface-owned"
},
"timeline": {
"sequence": "shots",
"durationMs": 12600,
"window": null,
"enterMs": null,
"segments": [
{
"id": "shot-01-wide",
"fromMs": 0,
"toMs": 3000,
"lensMm": 35,
"camera": "hand-held-slow-advance",
"register": "documental"
},
{
"id": "shot-02-insert",
"fromMs": 3000,
"toMs": 5000,
"lensMm": 100,
"camera": "fixed-macro"
},
{
"id": "shot-03-medium",
"fromMs": 5000,
"toMs": 9000,
"lensMm": 50,
"camera": "over-the-shoulder-slow-push"
},
{
"id": "shot-04-close",
"fromMs": 9000,
"toMs": 12600,
"close": "reveal"
}
],
"close": {
"piece": "reveal",
"startMs": 9000,
"durationMs": 3600,
"audio": true
},
"audio": true,
"reducedMotion": "final-frame"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "first-frame-passes-still-qa",
"text": "El primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima."
},
{
"id": "one-light-one-register",
"text": "Una luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan."
},
{
"id": "grade-matches-photo",
"text": "El grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul."
},
{
"id": "wardrobe-by-register",
"text": "Uniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone)."
},
{
"id": "text-only-in-planned-reserves",
"text": "Texto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada."
},
{
"id": "native-format-per-shot",
"text": "Formato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro."
},
{
"id": "signature-in-close-own-brand-only",
"text": "La firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo."
}
],
"references": [
{
"id": "shot-plan",
"title": "Producción audiovisual · planos y reglas",
"status": "approved",
"image": "/references/surfaces/audiovisual/shot-plan.jpg",
"canvasPage": "audiovisual",
"canvasBoard": "Audiovisual.dc.html"
}
],
"delegates": {
"orbit": [],
"close": {
"piece": "reveal",
"format": "16x9",
"durationMs": 3600,
"startMs": 9000,
"source": "efeonceGraphicLine.motion.pieces.reveal",
"signsOnlyOwnBrand": true
},
"selection": [],
"icons": [],
"photo": null
},
"content": {
"eyebrow": null,
"question": null,
"answer": [],
"answerSphere": null,
"body": null,
"proof": null,
"measure": null,
"progress": null,
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": "Producción audiovisual · un video de 12,6 s «Cómo trabajamos», cuadros clave generados",
"frames": null,
"chapter": null,
"shots": [
{
"segment": "shot-01-wide",
"fromMs": 0,
"toMs": 3000,
"lensMm": 35,
"close": null,
"title": "Plano general",
"spec": "Terreno, panadería del cliente · 35 mm · cámara en mano, avanza despacio · luz del horno + ventana",
"note": "Documental: nadie mira a cámara · gorra + hoodie (terreno)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V1-terreno.png",
"alt": "Una productora de Efeonce filma al panadero junto al horno"
},
{
"segment": "shot-02-insert",
"fromMs": 3000,
"toMs": 5000,
"lensMm": 100,
"close": null,
"title": "Inserto",
"spec": "Detalle de manos · macro 100 mm · fijo, foco en la punta del lápiz · una lámpara rasante",
"note": "El oficio en primer plano · manga del polo (oficina)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V2-detalle.png",
"alt": "Las manos de un director de arte marcan una prueba de impresión con lápiz rojo y una lupa"
},
{
"segment": "shot-03-medium",
"fromMs": 5000,
"toMs": 9000,
"lensMm": 50,
"close": null,
"title": "Plano medio",
"spec": "Sala del cliente · 50 mm · sobre el hombro del cliente, empuje lento · la pantalla es la luz",
"note": "Documental · chaqueta sobre polo (reunión importante)",
"plateRef": "ai-generations/2026-09-26_audiovisual/plates/V3-sala.png",
"alt": "Una estratega de Efeonce presenta la curva de resultados al equipo del cliente"
},
{
"segment": "shot-04-close",
"fromMs": 9000,
"toMs": 12600,
"lensMm": null,
"close": "reveal",
"title": "Cierre",
"spec": "Reveal aprobado (3,6 s, con sonido) · masters de AXIS v1.1",
"note": "La toma nunca lleva logo: firma el cierre",
"plateRef": "masters/orbit-motion/v1.1/reveal/16x9/navy/efeonce-orbita-reveal_16x9_navy_cuadro-final.png",
"alt": "El último cuadro del reveal: el logo de Efeonce con su eslogan sobre el navy de la marca"
}
],
"subtitles": null,
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}
{
"schema": "axis.surface-composition.v1",
"contract": {
"id": "efeonce.surface-composition",
"version": "0.1.2",
"lifecycle": "candidate"
},
"status": "resolved",
"surface": "audiovisual",
"format": "16x9",
"role": "subtitles",
"recipe": {
"id": "subtitles",
"status": "approved",
"role": "subtitles"
},
"use": null,
"layout": null,
"line": "growth",
"theme": "dark",
"palette": {
"background": "#001a33",
"accent": "#36c8bf",
"ink": "#ffffff",
"soft": "#e2e2e2"
},
"canvas": {
"width": 1920,
"height": 1080,
"unit": "px",
"format": "16x9"
},
"safeArea": null,
"reserves": [
{
"band": "subtitles",
"side": "bottom",
"fromTop": 0.8148,
"align": "center"
}
],
"type": {
"subtitle": {
"family": "Poppins",
"weight": 600,
"px": 46,
"lineHeight": 1.3,
"tracking": null,
"uppercase": false,
"color": "#ffffff",
"maxLines": 2,
"box": false,
"shadow": "0 2px 6px rgba(0,0,0,.55)"
}
},
"dominance": null,
"steps": null,
"signature": {
"mode": "close-only",
"photoCarriesLogo": false,
"orbitDelegate": "surface-owned"
},
"timeline": {
"sequence": "texts",
"durationMs": 13100,
"window": [
0,
13100
],
"enterMs": null,
"segments": [],
"close": {
"piece": "reveal",
"startMs": 9500,
"durationMs": 3600,
"audio": true
},
"audio": true,
"reducedMotion": "final-frame"
},
"rules": [
{
"id": "efeonce-dark-ground",
"text": "El fondo Efeonce (#001a33) se mantiene en toda pieza de línea; la línea sólo aporta el acento (operador, 2026-09-26)."
},
{
"id": "one-sphere-per-piece",
"text": "Una esfera por pieza: cierra la respuesta; nunca es viñeta ni adorno."
},
{
"id": "one-orbit-per-piece",
"text": "Una órbita por pieza o lámina: anillo, lente, indicador o medida, uno solo."
},
{
"id": "accent-text-min-size",
"text": "El acento nunca colorea texto de menos de 24 px: ahí el texto va en blanco o suave sobre oscuro (navy sobre claro); el acento marca con un elemento de 24 px o más o con el ícono."
},
{
"id": "timings-from-tokens",
"text": "Los tiempos salen de efeonceGraphicLine (surfaces.*.timeline y motion); nunca se escriben en el script."
},
{
"id": "answer-dominates-3x",
"text": "La respuesta mide al menos 3 veces la pregunta (type.answer.minRatioOverQuestion)."
},
{
"id": "figures-with-source",
"text": "Cifras sólo con fuente; precios siempre como marcador."
},
{
"id": "isotype-composed",
"text": "El isotipo en prendas generadas se compone desde @efeoncepro/axis-brand-assets; nunca el que dibuja el modelo."
},
{
"id": "cine-only-nexa-or-proposal",
"text": "Registro cine sólo con Nexa protagonista o en las recetas de cine del deck (photo.cine.recipes: proposal-cinematic y, desde el 2026-09-27, la portada de brochure, las contraportadas con foto, la sección de cine, la lente de la propuesta sobria desde el 2026-09-28 y, como excepción aprobada con personas del equipo en luz dramática, la sección partida); proporciones reales (cámara a ~2 m, 85 mm)."
},
{
"id": "no-close-gaze-pairs",
"text": "Nunca dos personas mirándose de cerca: se lee romántico (rechazo del operador, 2026-09-27)."
},
{
"id": "semantic-reserves-only",
"text": "Sin coordenadas libres: regiones semánticas y fracciones que salen de tokens."
},
{
"id": "first-frame-passes-still-qa",
"text": "El primer cuadro de cada plano es una foto que pasó el QA fijo (foto:validar); recién entonces se anima."
},
{
"id": "one-light-one-register",
"text": "Una luz con carácter y un registro por pieza; los planos se emparejan, no se mezclan."
},
{
"id": "grade-matches-photo",
"text": "El grade sólo empareja hacia la colorimetría de la foto, sin look propio; sombras sin azul."
},
{
"id": "wardrobe-by-register",
"text": "Uniforme por registro de escena; el emblema se revisa cuadro a cuadro (si el modelo lo reinventa, no se lee o se compone)."
},
{
"id": "text-only-in-planned-reserves",
"text": "Texto sólo en las reservas planeadas del plano, como cartela compuesta después, nunca generada."
},
{
"id": "native-format-per-shot",
"text": "Formato nativo por plano (cobertura 16:9, 9:16 y 1:1): no se recorta uno desde otro."
},
{
"id": "signature-in-close-own-brand-only",
"text": "La firma va en el cierre (sting o reveal), sólo en marca propia; nunca en piezas de clientes. La toma nunca lleva logo."
},
{
"id": "subtitles-no-box",
"text": "Subtítulos sin caja, dos líneas como máximo, centrados en el tercio inferior."
}
],
"references": [
{
"id": "subtitles",
"title": "Escenas con texto · 06 subtítulos quemados",
"status": "approved",
"image": "/references/surfaces/audiovisual/subtitles.jpg",
"canvasPage": "audiovisual",
"canvasBoard": "AudiovisualTextos.dc.html"
}
],
"delegates": {
"orbit": [],
"close": {
"piece": "reveal",
"format": "16x9",
"durationMs": 3600,
"startMs": 9500,
"source": "efeonceGraphicLine.motion.pieces.reveal",
"signsOnlyOwnBrand": true
},
"selection": [],
"icons": [],
"photo": null
},
"content": {
"eyebrow": null,
"question": null,
"answer": [],
"answerSphere": null,
"body": null,
"proof": null,
"measure": null,
"progress": null,
"cta": null,
"variants": null,
"levels": null,
"note": null,
"panels": null,
"figures": null,
"nav": null,
"title": null,
"frames": null,
"chapter": null,
"shots": null,
"subtitles": {
"lines": [
"«Ya no discutimos el gusto:",
"vemos qué corte vende.»"
],
"maxLines": 2
},
"lines": null,
"slogan": null
},
"adapterChecks": [
"text-inside-its-reserve",
"text-never-crosses-ring",
"answer-dominates-3x-painted",
"accent-text-min-size",
"signature-where-the-surface-says",
"subject-outside-text-reserve",
"last-frame-is-static-fallback",
"legibility-at-reading-distance"
],
"issues": []
}