{
  "schema": "axis.efeonce-cast-photo.v1",
  "title": "El elenco fotográfico de Efeonce y las expresiones de Nexa",
  "status": "approved",
  "since": "2026-10-03",
  "inTokens": false,
  "decidedBy": "Operador (Julio Reyes): eligió a cada personaje en el casting (2026-10-02); grupos sin elenco obligatorio (2026-10-03: «Debe usarse el elenco si es necesaria su inclusión»); las 25 expresiones de Nexa, «aprobadas todas» (2026-10-03). El carácter de Hum sigue sin decisión: es una propuesta",
  "canon": "greenhouse-eo · docs/operations/brand-photography/EFEONCE_BRAND_CAST_V1.md (reparto, qué puede representar, fichas, grupos) y NEXA_CHARACTER_BIBLE_FICHA_V1.md (las 25 expresiones y la proporción del rostro); catálogo ELENCO y PERSONAS.nexa en scripts/foto/build-prompt.mjs",
  "production": "greenhouse-eo · ai-generations/_identidad-elenco/<clave>/ y ai-generations/_identidad-nexa/ (sellados en scripts/foto/assets.lock.json, publicados en gs://efeonce-creative-canon)",
  "package": "@efeoncepro/axis-brand-assets 0.4.17 (AXIS_CAST_PHOTO, AXIS_CAST_PHOTO_ASSETS, AXIS_CAST_PHOTO_COMPANIONS, AXIS_NEXA_EXPRESSIONS, AXIS_NEXA_FACE_PROPORTION, AXIS_CAST_PHOTO_USE, AXIS_CAST_PHOTO_RULES, findCastPhotoAsset, castPhotoAssetUrl)",
  "page": "/references/cast-photo/",
  "guide": "docs/agent-composition/cast-photo.md",
  "use": {
    "fictional": true,
    "interprets": "rol de su línea de servicio",
    "canAppearAsRealTeam": false,
    "canPlayClient": false,
    "nameOnScreen": "ficcion-declarada",
    "groupsWith": [
      "nexa",
      "julio"
    ],
    "mixesWith2dCast": false
  },
  "what": [
    "Cinco personajes ficticios —Hum, Karo, Sophia, Isabella y Antonio—: modelos de campaña fotografiados con piel real, uno por línea de servicio.",
    "Existen para variar las caras de una foto de varias personas o de equipo. Se suman cuando hacen falta: ninguna regla exige que alguno esté en una pieza.",
    "Interpretan el rol de su línea en campaña, social, deck y propuestas. Nunca son el equipo real, un cliente ni un testimonio.",
    "Nexa no es del elenco, pero entra en sus grupos; Julio también, como la única persona real del reparto, en su rol real.",
    "Los archivos de esta página son de consulta. Una pieza no se produce desde ellos: se pide por identidad en la ficha de foto:prompt, que baja las referencias de producción del canon de Greenhouse."
  ],
  "vs2dCast": [
    {
      "aspect": "Quiénes",
      "photo": "Hum, Karo, Sophia, Isabella y Antonio, más Nexa y Julio en grupos",
      "flat": "Tomás, Camila, Renata y Mateo"
    },
    {
      "aspect": "A quién representa",
      "photo": "Interpreta los roles de las líneas de servicio de Efeonce; nunca como persona real del equipo",
      "flat": "Al grupo de compra del cliente"
    },
    {
      "aspect": "Lenguaje",
      "photo": "Fotografía con piel real (realismo v3)",
      "flat": "2D vectorial con volumen, el mismo trazo que los Sparks"
    },
    {
      "aspect": "¿Puede hacer de «cliente»?",
      "photo": "No, ni con nombre de empresa ni en un testimonio",
      "flat": "Sí, en ficción declarada: empresa ficticia, sin testimonio"
    },
    {
      "aspect": "Cómo se pide",
      "photo": "En identidad de la ficha de foto:prompt",
      "flat": "Desde el paquete, o como referencia ilustracion-2d; nunca en foto:prompt"
    }
  ],
  "members": [
    {
      "key": "hum",
      "name": "Hum",
      "age": 33,
      "origin": "venezolana",
      "lines": [
        "growth"
      ],
      "role": "Estratega de crecimiento y medición",
      "silhouette": "mujer",
      "character": "Serena y analítica, escucha antes de proponer.",
      "characterStatus": "propuesta",
      "traits": "Pelo casi negro, largo, con ondas; piercing pequeño plateado en la nariz."
    },
    {
      "key": "karo",
      "name": "Karolyne «Karo»",
      "age": 28,
      "origin": "venezolana",
      "lines": [
        "brand"
      ],
      "role": "Directora de arte y creadora de contenido",
      "silhouette": "mujer",
      "character": "Coqueta en el gesto, no en el cuerpo: sonrisa ladeada, mirada pícara. Social, presenta, convence.",
      "characterStatus": "decidido",
      "traits": "Rizos 3A–3B cobrizos y largos, aros dorados medianos, labial rosado."
    },
    {
      "key": "sophia",
      "name": "Sophia",
      "age": 31,
      "origin": "venezolana, hermana mayor de Karo",
      "lines": [
        "engine"
      ],
      "role": "Estratega SEO/AEO y analítica web",
      "silhouette": "mujer",
      "character": "Seria, analítica; sonrisa contenida de boca cerrada.",
      "characterStatus": "decidido",
      "traits": "Bob rizado castaño oscuro a la mandíbula y lentes de montura metálica dorada fina."
    },
    {
      "key": "isabella",
      "name": "Isabella",
      "age": 27,
      "origin": "colombiana (Barranquilla)",
      "lines": [
        "voice"
      ],
      "role": "Especialista de medios pagados y distribución",
      "silhouette": "mujer",
      "character": "Energía alta, gesticula al explicar, ríe fácil.",
      "characterStatus": "decidido",
      "traits": "Rizos 3C–4A, pecas suaves en nariz y pómulos, aros dorados pequeños de botón."
    },
    {
      "key": "antonio",
      "name": "Antonio",
      "age": 35,
      "origin": "mexicano (CDMX)",
      "lines": [
        "revenue-hubspot",
        "revenue-salesforce"
      ],
      "role": "Líder de RevOps y CRM",
      "silhouette": "hombre",
      "character": "Calma segura, sonrisa de boca cerrada.",
      "characterStatus": "decidido",
      "traits": "Pelo negro liso peinado hacia atrás, barba de 3–5 mm, sin lentes."
    }
  ],
  "companions": [
    {
      "key": "julio",
      "name": "Julio Reyes",
      "real": true,
      "age": 37,
      "line": "growth",
      "role": "Managing & GTM Director, en su rol real",
      "note": "37 años con canas prematuras: su edad aparente se conserva tal cual en las referencias, sin rejuvenecer ni envejecer."
    },
    {
      "key": "nexa",
      "name": "Nexa",
      "real": false,
      "age": null,
      "line": null,
      "role": "AI Specialist",
      "note": "La referencia frontal es el ancla v2 (la aprobada estirada ×1,037 en horizontal, sin modelo); las expresiones aportan sólo el gesto."
    }
  ],
  "views": [
    {
      "key": "frente",
      "use": "Primera referencia de identidad; en un grupo es la única que viaja."
    },
    {
      "key": "elegida",
      "use": "La foto que eligió el operador en el casting: fuente de todas las demás vistas."
    },
    {
      "key": "cuerpo",
      "use": "Proporción y escala del cuerpo; extendido desde la elegida a ≥ 7,2 cabezas, medido."
    },
    {
      "key": "45-izq",
      "use": "Tres cuartos; también fija el giro de la prenda puesta (45°)."
    },
    {
      "key": "45-der",
      "use": "Tres cuartos; también fija el giro de la prenda puesta (45°)."
    },
    {
      "key": "perfil-izq",
      "use": "Perfil; la prenda puesta va a 70°."
    },
    {
      "key": "perfil-der",
      "use": "Perfil; la prenda puesta va a 70°."
    },
    {
      "key": "manos",
      "use": "Ancla de manos: referencia de piel para escenas de manos. No la usa el catálogo."
    }
  ],
  "defaultView": "frente",
  "nexa": {
    "expressionGroups": [
      {
        "key": "exito",
        "label": "Éxito"
      },
      {
        "key": "antes",
        "label": "El «antes» del problema"
      },
      {
        "key": "foco",
        "label": "Foco"
      },
      {
        "key": "social",
        "label": "Social"
      },
      {
        "key": "base",
        "label": "Base"
      }
    ],
    "expressions": [
      {
        "key": "carcajada",
        "label": "Carcajada",
        "nn": 1,
        "group": "base",
        "when": "Risa abierta, el momento más suelto."
      },
      {
        "key": "risa-elegante",
        "label": "Risa elegante",
        "nn": 2,
        "group": "base",
        "when": "Risa contenida, en un registro más formal."
      },
      {
        "key": "sorprendida",
        "label": "Sorprendida",
        "nn": 3,
        "group": "base",
        "when": "Descubrir algo inesperado."
      },
      {
        "key": "esceptica",
        "label": "Escéptica",
        "nn": 4,
        "group": "base",
        "when": "Dudar de una afirmación o de un dato."
      },
      {
        "key": "pensativa",
        "label": "Pensativa",
        "nn": 5,
        "group": "base",
        "when": "Evaluar antes de decidir."
      },
      {
        "key": "neutra",
        "label": "Neutra (reposo)",
        "nn": 6,
        "group": "base",
        "when": "Reposo, sin gesto marcado."
      },
      {
        "key": "preocupada",
        "label": "Preocupada",
        "nn": 7,
        "group": "base",
        "when": "Inquietud ante un riesgo."
      },
      {
        "key": "conviccion",
        "label": "Convicción",
        "nn": 8,
        "group": "base",
        "when": "Sostener una idea con seguridad."
      },
      {
        "key": "escucha-empatica",
        "label": "Escucha empática",
        "nn": 9,
        "group": "base",
        "when": "Escuchar a otra persona."
      },
      {
        "key": "curiosa",
        "label": "Curiosa",
        "nn": 10,
        "group": "base",
        "when": "Interés por algo nuevo."
      },
      {
        "key": "complicidad",
        "label": "Complicidad",
        "nn": 11,
        "group": "base",
        "when": "Gesto compartido con quien mira."
      },
      {
        "key": "mirada-lateral",
        "label": "Mirada lateral (derecha)",
        "nn": 12,
        "group": "social",
        "when": "Mira a la derecha del cuadro."
      },
      {
        "key": "euforia",
        "label": "Euforia",
        "nn": 13,
        "group": "exito",
        "when": "Cabeza atrás, puños arriba."
      },
      {
        "key": "alivio",
        "label": "Alivio",
        "nn": 14,
        "group": "exito",
        "when": "El problema quedó resuelto."
      },
      {
        "key": "orgullo-sereno",
        "label": "Orgullo sereno",
        "nn": 15,
        "group": "exito",
        "when": "Logro sin estridencia."
      },
      {
        "key": "te-lo-dije",
        "label": "Te lo dije",
        "nn": 16,
        "group": "exito",
        "when": "Se confirmó lo que anticipó."
      },
      {
        "key": "hartazgo",
        "label": "Hartazgo",
        "nn": 17,
        "group": "antes",
        "when": "Ojos en blanco. foto:rostro la mide ≈ +0,03 sin estar afinada: se mira a ojo."
      },
      {
        "key": "agobio",
        "label": "Agobio",
        "nn": 18,
        "group": "antes",
        "when": "Sobrecarga."
      },
      {
        "key": "alarma",
        "label": "Alarma",
        "nn": 19,
        "group": "antes",
        "when": "Algo salió mal."
      },
      {
        "key": "confusion",
        "label": "Confusión",
        "nn": 20,
        "group": "antes",
        "when": "No entiende lo que ve."
      },
      {
        "key": "concentracion",
        "label": "Concentración",
        "nn": 21,
        "group": "foco",
        "when": "Trabajo profundo."
      },
      {
        "key": "determinacion",
        "label": "Determinación",
        "nn": 22,
        "group": "foco",
        "when": "Decidida a resolver."
      },
      {
        "key": "explicando",
        "label": "Explicando",
        "nn": 23,
        "group": "foco",
        "when": "Explica a otros."
      },
      {
        "key": "bienvenida",
        "label": "Bienvenida",
        "nn": 24,
        "group": "social",
        "when": "Recibe a alguien."
      },
      {
        "key": "mirada-lateral-izq",
        "label": "Mirada lateral (izquierda)",
        "nn": 25,
        "group": "social",
        "when": "Mira a la izquierda del cuadro."
      }
    ],
    "faceProportion": {
      "lengthWidth": 0.81,
      "tolerance": 0.02,
      "measure": "(ojos → mentón) / ancho del contorno de la mandíbula; la línea de los ojos sale del contorno del ojo, no de la pupila",
      "command": "pnpm foto:rostro <png…> --persona nexa",
      "skips": "No compara caras con giro, con boca abierta ni con ojos cerrados."
    }
  },
  "assets": [
    {
      "id": "cast-photo-hum-frente",
      "member": "hum",
      "kind": "vista",
      "pose": "frente",
      "label": "Rostro frontal",
      "webp": "cast-photo/cast-photo-hum-frente.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 87962,
      "sha256": "6acf8ad527b5ccaf1cb51928b8ae0e272914bd2c716a0356ffa17b50edd7a0a9",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-frente.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-frente.webp"
    },
    {
      "id": "cast-photo-hum-elegida",
      "member": "hum",
      "kind": "vista",
      "pose": "elegida",
      "label": "La elegida",
      "webp": "cast-photo/cast-photo-hum-elegida.webp",
      "width": 800,
      "height": 1200,
      "bytes": 63146,
      "sha256": "81faef7ca6a18d16430f676e55965c240d32f5f356274d3b2b8ad93c533fe5e3",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-elegida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-elegida.webp"
    },
    {
      "id": "cast-photo-hum-cuerpo",
      "member": "hum",
      "kind": "vista",
      "pose": "cuerpo",
      "label": "Cuerpo entero",
      "webp": "cast-photo/cast-photo-hum-cuerpo.webp",
      "width": 800,
      "height": 1200,
      "bytes": 33400,
      "sha256": "f2362bd4cb472eee65ea732166ac53f4e351bd4cfbfa6bd2d3296c44afcd0c6d",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-cuerpo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-cuerpo.webp"
    },
    {
      "id": "cast-photo-hum-45-izq",
      "member": "hum",
      "kind": "vista",
      "pose": "45-izq",
      "label": "45° izquierda",
      "webp": "cast-photo/cast-photo-hum-45-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 83946,
      "sha256": "2893f14b7746baed7928c50b4ddcd8b50cfd7029653ef026023962ac3aa8bda5",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-45-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-45-izq.webp"
    },
    {
      "id": "cast-photo-hum-45-der",
      "member": "hum",
      "kind": "vista",
      "pose": "45-der",
      "label": "45° derecha",
      "webp": "cast-photo/cast-photo-hum-45-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 96858,
      "sha256": "aeacb47e7894d34ba542b024f134415c61b6e4ccfb640dc5d266663fad731f5e",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-45-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-45-der.webp"
    },
    {
      "id": "cast-photo-hum-perfil-izq",
      "member": "hum",
      "kind": "vista",
      "pose": "perfil-izq",
      "label": "Perfil izquierda",
      "webp": "cast-photo/cast-photo-hum-perfil-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 83792,
      "sha256": "9d709b280fc576077d1e7eb78346e1d09ca44f75ce0e0bd0b2bc796e98fe5e52",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-perfil-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-perfil-izq.webp"
    },
    {
      "id": "cast-photo-hum-perfil-der",
      "member": "hum",
      "kind": "vista",
      "pose": "perfil-der",
      "label": "Perfil derecha",
      "webp": "cast-photo/cast-photo-hum-perfil-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 84168,
      "sha256": "08176962735dc10e84479987c0b573d8dadc60e6c5d850d92b9e80fe10725f84",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-perfil-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-perfil-der.webp"
    },
    {
      "id": "cast-photo-hum-manos",
      "member": "hum",
      "kind": "vista",
      "pose": "manos",
      "label": "Manos",
      "webp": "cast-photo/cast-photo-hum-manos.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 73700,
      "sha256": "bcc02c474ee94725daacc9b334754668563c8309499f9b5de9cc701b4683734b",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-hum-manos.webp"
      },
      "url": "/branding/cast-photo/cast-photo-hum-manos.webp"
    },
    {
      "id": "cast-photo-karo-frente",
      "member": "karo",
      "kind": "vista",
      "pose": "frente",
      "label": "Rostro frontal",
      "webp": "cast-photo/cast-photo-karo-frente.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 138086,
      "sha256": "fbd6545c559e0d3724d961b1a33dcf7251b0008d1e0f888a62109d025c27b993",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-frente.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-frente.webp"
    },
    {
      "id": "cast-photo-karo-elegida",
      "member": "karo",
      "kind": "vista",
      "pose": "elegida",
      "label": "La elegida",
      "webp": "cast-photo/cast-photo-karo-elegida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 112874,
      "sha256": "eb898722357cb9181e6c42b1ece7f1ad0b4c28157322c69f1543de7c3dba6cc7",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-elegida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-elegida.webp"
    },
    {
      "id": "cast-photo-karo-cuerpo",
      "member": "karo",
      "kind": "vista",
      "pose": "cuerpo",
      "label": "Cuerpo entero",
      "webp": "cast-photo/cast-photo-karo-cuerpo.webp",
      "width": 800,
      "height": 1200,
      "bytes": 34276,
      "sha256": "3ae584ece57f73254d11b8edf4858ac5142f7bf5810de8ce57e67b93534bd4e8",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-cuerpo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-cuerpo.webp"
    },
    {
      "id": "cast-photo-karo-45-izq",
      "member": "karo",
      "kind": "vista",
      "pose": "45-izq",
      "label": "45° izquierda",
      "webp": "cast-photo/cast-photo-karo-45-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 127386,
      "sha256": "c0010d6d0d766f7f6fb42f6918e2e84b73cb1783058dffda3fc234b12e3d7d48",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-45-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-45-izq.webp"
    },
    {
      "id": "cast-photo-karo-45-der",
      "member": "karo",
      "kind": "vista",
      "pose": "45-der",
      "label": "45° derecha",
      "webp": "cast-photo/cast-photo-karo-45-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 119536,
      "sha256": "d8a150d7a2c06f7ca5985ac93d46a46a367625987285f99e57c1fe5022fb71fa",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-45-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-45-der.webp"
    },
    {
      "id": "cast-photo-karo-perfil-izq",
      "member": "karo",
      "kind": "vista",
      "pose": "perfil-izq",
      "label": "Perfil izquierda",
      "webp": "cast-photo/cast-photo-karo-perfil-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 111184,
      "sha256": "6822e7688014d5e79fd486f824fd4a190a06ef52e7917edaff19e94c16c2c626",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-perfil-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-perfil-izq.webp"
    },
    {
      "id": "cast-photo-karo-perfil-der",
      "member": "karo",
      "kind": "vista",
      "pose": "perfil-der",
      "label": "Perfil derecha",
      "webp": "cast-photo/cast-photo-karo-perfil-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 117976,
      "sha256": "55b4d335bb0831d961ff998a5aa1ff29860ca4fc61dae6e5c673977b86f9fd04",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-perfil-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-perfil-der.webp"
    },
    {
      "id": "cast-photo-karo-manos",
      "member": "karo",
      "kind": "vista",
      "pose": "manos",
      "label": "Manos",
      "webp": "cast-photo/cast-photo-karo-manos.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 73478,
      "sha256": "6a140f2afbcfa3db29aac53771fea3122e62aa15f123ae46c30c97b96671efb0",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-karo-manos.webp"
      },
      "url": "/branding/cast-photo/cast-photo-karo-manos.webp"
    },
    {
      "id": "cast-photo-sophia-frente",
      "member": "sophia",
      "kind": "vista",
      "pose": "frente",
      "label": "Rostro frontal",
      "webp": "cast-photo/cast-photo-sophia-frente.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 97154,
      "sha256": "316b5811c6c5cb33c5a7746a24bfffeb32f9d45325f927871626c514eb7fc9ba",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-frente.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-frente.webp"
    },
    {
      "id": "cast-photo-sophia-elegida",
      "member": "sophia",
      "kind": "vista",
      "pose": "elegida",
      "label": "La elegida",
      "webp": "cast-photo/cast-photo-sophia-elegida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 87302,
      "sha256": "b85431fd5f663a7053d0756aece1ffecd5ab0ea4af1c9cd99230237688d906a2",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-elegida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-elegida.webp"
    },
    {
      "id": "cast-photo-sophia-cuerpo",
      "member": "sophia",
      "kind": "vista",
      "pose": "cuerpo",
      "label": "Cuerpo entero",
      "webp": "cast-photo/cast-photo-sophia-cuerpo.webp",
      "width": 800,
      "height": 1200,
      "bytes": 34346,
      "sha256": "8685d4dd32dc42e44f3c1da1cf1817c94515db281a9aea5a4bc3c6fd0c6c5af6",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-cuerpo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-cuerpo.webp"
    },
    {
      "id": "cast-photo-sophia-45-izq",
      "member": "sophia",
      "kind": "vista",
      "pose": "45-izq",
      "label": "45° izquierda",
      "webp": "cast-photo/cast-photo-sophia-45-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 82420,
      "sha256": "b0eb210be14aeb765209f227f24250651e71c46de6c6794e6b9074fc7a661752",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-45-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-45-izq.webp"
    },
    {
      "id": "cast-photo-sophia-45-der",
      "member": "sophia",
      "kind": "vista",
      "pose": "45-der",
      "label": "45° derecha",
      "webp": "cast-photo/cast-photo-sophia-45-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 93380,
      "sha256": "d24f6001544f04e12bac102458883d162c8dae8db0072c0052ae3f682826b83f",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-45-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-45-der.webp"
    },
    {
      "id": "cast-photo-sophia-perfil-izq",
      "member": "sophia",
      "kind": "vista",
      "pose": "perfil-izq",
      "label": "Perfil izquierda",
      "webp": "cast-photo/cast-photo-sophia-perfil-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 83268,
      "sha256": "48b4b235847a5414b5ac1c91d012bf88321395ad4b8b6225f137e427b2384c11",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-perfil-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-perfil-izq.webp"
    },
    {
      "id": "cast-photo-sophia-perfil-der",
      "member": "sophia",
      "kind": "vista",
      "pose": "perfil-der",
      "label": "Perfil derecha",
      "webp": "cast-photo/cast-photo-sophia-perfil-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 85146,
      "sha256": "751d6cf2d164b1d1ad45991d106128866a780f055a9170285b9b5c1b88080367",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-perfil-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-perfil-der.webp"
    },
    {
      "id": "cast-photo-sophia-manos",
      "member": "sophia",
      "kind": "vista",
      "pose": "manos",
      "label": "Manos",
      "webp": "cast-photo/cast-photo-sophia-manos.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 81988,
      "sha256": "7dfa26194a6be563cc229d6d8d0014d4ea1785cc1705c5e52d6b17d0523ded3f",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-sophia-manos.webp"
      },
      "url": "/branding/cast-photo/cast-photo-sophia-manos.webp"
    },
    {
      "id": "cast-photo-isabella-frente",
      "member": "isabella",
      "kind": "vista",
      "pose": "frente",
      "label": "Rostro frontal",
      "webp": "cast-photo/cast-photo-isabella-frente.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 105544,
      "sha256": "e8d6ae64eb67c367ad0f1da9bf29d10fe4f1500fd0ce91e2b46edfba42898ea0",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-frente.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-frente.webp"
    },
    {
      "id": "cast-photo-isabella-elegida",
      "member": "isabella",
      "kind": "vista",
      "pose": "elegida",
      "label": "La elegida",
      "webp": "cast-photo/cast-photo-isabella-elegida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 116860,
      "sha256": "7b9328435b4b091a5cc65f24ffc56d819d0a03f4be381e3eb11ab30226685509",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-elegida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-elegida.webp"
    },
    {
      "id": "cast-photo-isabella-cuerpo",
      "member": "isabella",
      "kind": "vista",
      "pose": "cuerpo",
      "label": "Cuerpo entero",
      "webp": "cast-photo/cast-photo-isabella-cuerpo.webp",
      "width": 800,
      "height": 1200,
      "bytes": 32194,
      "sha256": "586a08c73d05b7152ea6aa62342278c2156265a02b2192fa625056d408cc98e9",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-cuerpo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-cuerpo.webp"
    },
    {
      "id": "cast-photo-isabella-45-izq",
      "member": "isabella",
      "kind": "vista",
      "pose": "45-izq",
      "label": "45° izquierda",
      "webp": "cast-photo/cast-photo-isabella-45-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 98496,
      "sha256": "432974d9299ca6b3f0f8ab2148ac7e3a2c9b080845779fe8e0595ea562558f5c",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-45-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-45-izq.webp"
    },
    {
      "id": "cast-photo-isabella-45-der",
      "member": "isabella",
      "kind": "vista",
      "pose": "45-der",
      "label": "45° derecha",
      "webp": "cast-photo/cast-photo-isabella-45-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 103208,
      "sha256": "71ea67fc8fddddb4485dc450836aa50e2eab2e9bf10762caaa27c74d2d666e8d",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-45-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-45-der.webp"
    },
    {
      "id": "cast-photo-isabella-perfil-izq",
      "member": "isabella",
      "kind": "vista",
      "pose": "perfil-izq",
      "label": "Perfil izquierda",
      "webp": "cast-photo/cast-photo-isabella-perfil-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 83392,
      "sha256": "9351a27a3be33d110df86e1735b050c4f8e40ec55533ab2f220c693068e8e1a2",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-perfil-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-perfil-izq.webp"
    },
    {
      "id": "cast-photo-isabella-perfil-der",
      "member": "isabella",
      "kind": "vista",
      "pose": "perfil-der",
      "label": "Perfil derecha",
      "webp": "cast-photo/cast-photo-isabella-perfil-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 94730,
      "sha256": "5efbd444a37f4c0038a73b794a7c27c0cfa19a019f891aafe04c4786328f2b06",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-perfil-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-perfil-der.webp"
    },
    {
      "id": "cast-photo-isabella-manos",
      "member": "isabella",
      "kind": "vista",
      "pose": "manos",
      "label": "Manos",
      "webp": "cast-photo/cast-photo-isabella-manos.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 107634,
      "sha256": "e0890ee5aa0c99e55b91dd53b382c39fc724bc9b92aeb396c7c902134947593a",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-isabella-manos.webp"
      },
      "url": "/branding/cast-photo/cast-photo-isabella-manos.webp"
    },
    {
      "id": "cast-photo-antonio-frente",
      "member": "antonio",
      "kind": "vista",
      "pose": "frente",
      "label": "Rostro frontal",
      "webp": "cast-photo/cast-photo-antonio-frente.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 94428,
      "sha256": "195a3565397319d4c6ee78e1feb80c014a88f90dbf389fbf2e0253ed9caedae0",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-frente.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-frente.webp"
    },
    {
      "id": "cast-photo-antonio-elegida",
      "member": "antonio",
      "kind": "vista",
      "pose": "elegida",
      "label": "La elegida",
      "webp": "cast-photo/cast-photo-antonio-elegida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 91454,
      "sha256": "14cebbf9a3ebd0b4573e22fac8c6fd890f57a31e467f384a9d93f181d8e869cc",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-elegida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-elegida.webp"
    },
    {
      "id": "cast-photo-antonio-cuerpo",
      "member": "antonio",
      "kind": "vista",
      "pose": "cuerpo",
      "label": "Cuerpo entero",
      "webp": "cast-photo/cast-photo-antonio-cuerpo.webp",
      "width": 800,
      "height": 1200,
      "bytes": 31288,
      "sha256": "41601fb8fcdf704adabb0d353fc143232fc13b9d3c28581a9144165653bea631",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-cuerpo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-cuerpo.webp"
    },
    {
      "id": "cast-photo-antonio-45-izq",
      "member": "antonio",
      "kind": "vista",
      "pose": "45-izq",
      "label": "45° izquierda",
      "webp": "cast-photo/cast-photo-antonio-45-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 82288,
      "sha256": "528bc878f0bdbf7bca2cafefff059ebfd446dfa78b96733b1cd5f9b8ebffecda",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-45-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-45-izq.webp"
    },
    {
      "id": "cast-photo-antonio-45-der",
      "member": "antonio",
      "kind": "vista",
      "pose": "45-der",
      "label": "45° derecha",
      "webp": "cast-photo/cast-photo-antonio-45-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 97504,
      "sha256": "2fbdf915c5d2add6d52353b432325a91dad92e78ab74624f7cdfecaafa580e9b",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-45-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-45-der.webp"
    },
    {
      "id": "cast-photo-antonio-perfil-izq",
      "member": "antonio",
      "kind": "vista",
      "pose": "perfil-izq",
      "label": "Perfil izquierda",
      "webp": "cast-photo/cast-photo-antonio-perfil-izq.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 85828,
      "sha256": "cc42e4cec8002013af6ef790328b73d2379eefb11064f6cf903a7908affe1904",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-perfil-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-perfil-izq.webp"
    },
    {
      "id": "cast-photo-antonio-perfil-der",
      "member": "antonio",
      "kind": "vista",
      "pose": "perfil-der",
      "label": "Perfil derecha",
      "webp": "cast-photo/cast-photo-antonio-perfil-der.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 96076,
      "sha256": "2a3de76dd27f8f277fe3313dd9ffadc8b26f74709e1f9d8b0150ec3173a4b9c9",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-perfil-der.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-perfil-der.webp"
    },
    {
      "id": "cast-photo-antonio-manos",
      "member": "antonio",
      "kind": "vista",
      "pose": "manos",
      "label": "Manos",
      "webp": "cast-photo/cast-photo-antonio-manos.webp",
      "width": 1024,
      "height": 1024,
      "bytes": 101760,
      "sha256": "7752710688242dc69cab5587677674bc6289f87a4454f8b036d8a23cf1f419a5",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-antonio-manos.webp"
      },
      "url": "/branding/cast-photo/cast-photo-antonio-manos.webp"
    },
    {
      "id": "cast-photo-nexa-frontal",
      "member": "nexa",
      "kind": "nexa-frontal",
      "pose": null,
      "label": "Ancla frontal v2",
      "webp": "cast-photo/cast-photo-nexa-frontal.webp",
      "width": 960,
      "height": 1200,
      "bytes": 141558,
      "sha256": "b181c0b22582b828a6f097b6eace1fdfa947cce0fc8a68112113c77001158d1e",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-frontal.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-frontal.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-carcajada",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "carcajada",
      "label": "Carcajada",
      "webp": "cast-photo/cast-photo-nexa-expresion-carcajada.webp",
      "width": 960,
      "height": 1200,
      "bytes": 169176,
      "sha256": "f39aad1619ce529cf8a7c467a9f9d9ec4c79e84a44bddc53fbd0e37f990c8a0a",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-carcajada.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-carcajada.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-risa-elegante",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "risa-elegante",
      "label": "Risa elegante",
      "webp": "cast-photo/cast-photo-nexa-expresion-risa-elegante.webp",
      "width": 960,
      "height": 1200,
      "bytes": 153318,
      "sha256": "0ff71a5fc2f10758a188a395299d9b88d2cc6c4a2a99cdb8f47493f543bf4aa6",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-risa-elegante.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-risa-elegante.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-sorprendida",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "sorprendida",
      "label": "Sorprendida",
      "webp": "cast-photo/cast-photo-nexa-expresion-sorprendida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 153444,
      "sha256": "0d79652168d8404722cdff3d0b996d5e758f879a6723a16a2b62c6c8d2d44bbb",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-sorprendida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-sorprendida.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-esceptica",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "esceptica",
      "label": "Escéptica",
      "webp": "cast-photo/cast-photo-nexa-expresion-esceptica.webp",
      "width": 960,
      "height": 1200,
      "bytes": 158942,
      "sha256": "31333bbf1c445b8c1e7d99574a663d6e281a4ab591c94ba6e2eb40f34122f228",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-esceptica.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-esceptica.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-pensativa",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "pensativa",
      "label": "Pensativa",
      "webp": "cast-photo/cast-photo-nexa-expresion-pensativa.webp",
      "width": 960,
      "height": 1200,
      "bytes": 147966,
      "sha256": "158762944b4814962e889508f197154effb46a4944dfd8f00c4d320bee0e2837",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-pensativa.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-pensativa.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-neutra",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "neutra",
      "label": "Neutra (reposo)",
      "webp": "cast-photo/cast-photo-nexa-expresion-neutra.webp",
      "width": 960,
      "height": 1200,
      "bytes": 157054,
      "sha256": "e6598c0afabab9ed9b8fa2cab0c38c6787f346dd08d511044f3e184b57005f9d",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-neutra.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-neutra.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-preocupada",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "preocupada",
      "label": "Preocupada",
      "webp": "cast-photo/cast-photo-nexa-expresion-preocupada.webp",
      "width": 960,
      "height": 1200,
      "bytes": 153078,
      "sha256": "eb52ffbbd22d79daa8f4c02a0213946cf482e15bbc8a4232e58a469d33f85c12",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-preocupada.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-preocupada.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-conviccion",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "conviccion",
      "label": "Convicción",
      "webp": "cast-photo/cast-photo-nexa-expresion-conviccion.webp",
      "width": 960,
      "height": 1200,
      "bytes": 146652,
      "sha256": "245b8657fa6b61a2de336aab0457cfae89c03af3a9c97f6c7e4727bcec09e329",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-conviccion.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-conviccion.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-escucha-empatica",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "escucha-empatica",
      "label": "Escucha empática",
      "webp": "cast-photo/cast-photo-nexa-expresion-escucha-empatica.webp",
      "width": 960,
      "height": 1200,
      "bytes": 158988,
      "sha256": "c931ba9bad201412a46281faae15d96b1d07637e83af5a2f1dc44fd27745cb54",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-escucha-empatica.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-escucha-empatica.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-curiosa",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "curiosa",
      "label": "Curiosa",
      "webp": "cast-photo/cast-photo-nexa-expresion-curiosa.webp",
      "width": 960,
      "height": 1200,
      "bytes": 157394,
      "sha256": "6daec73d98307d213367cb2275618bb7f30dd3778f36b84e9cafa9e6c6325f3d",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-curiosa.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-curiosa.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-complicidad",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "complicidad",
      "label": "Complicidad",
      "webp": "cast-photo/cast-photo-nexa-expresion-complicidad.webp",
      "width": 960,
      "height": 1200,
      "bytes": 149264,
      "sha256": "5688e7d1e2749f425c01f360df8b4f666e594ec7784751d568e096084c6b3a36",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-complicidad.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-complicidad.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-mirada-lateral",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "mirada-lateral",
      "label": "Mirada lateral (derecha)",
      "webp": "cast-photo/cast-photo-nexa-expresion-mirada-lateral.webp",
      "width": 960,
      "height": 1200,
      "bytes": 149612,
      "sha256": "13ff8f35133f980859402d0c477383081fdb1dda3af3bca1fde034e97f215e73",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-mirada-lateral.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-mirada-lateral.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-euforia",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "euforia",
      "label": "Euforia",
      "webp": "cast-photo/cast-photo-nexa-expresion-euforia.webp",
      "width": 960,
      "height": 1200,
      "bytes": 160826,
      "sha256": "fe20b7b13d02888fd6e2b21d13d865795b74451e51ed0fcc6f1954457aa696fa",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-euforia.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-euforia.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-alivio",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "alivio",
      "label": "Alivio",
      "webp": "cast-photo/cast-photo-nexa-expresion-alivio.webp",
      "width": 960,
      "height": 1200,
      "bytes": 151380,
      "sha256": "574197485bff040c493151fd8849f766f3ce67afa68ac7eea2a8175d37bd4b52",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-alivio.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-alivio.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-orgullo-sereno",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "orgullo-sereno",
      "label": "Orgullo sereno",
      "webp": "cast-photo/cast-photo-nexa-expresion-orgullo-sereno.webp",
      "width": 960,
      "height": 1200,
      "bytes": 156942,
      "sha256": "a09d96f6c473ca9f0c184dd18c2ec37178e1aa6383f5a7c536d5a6cd82781525",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-orgullo-sereno.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-orgullo-sereno.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-te-lo-dije",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "te-lo-dije",
      "label": "Te lo dije",
      "webp": "cast-photo/cast-photo-nexa-expresion-te-lo-dije.webp",
      "width": 960,
      "height": 1200,
      "bytes": 149644,
      "sha256": "4d885e04dc71cd424344590e90f645344f923c701d9943af7f3eacf116e10df1",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-te-lo-dije.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-te-lo-dije.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-hartazgo",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "hartazgo",
      "label": "Hartazgo",
      "webp": "cast-photo/cast-photo-nexa-expresion-hartazgo.webp",
      "width": 960,
      "height": 1200,
      "bytes": 145136,
      "sha256": "7ddc1b8514941e1066fc1a8a9d8d88942e64d409071f3b2ec5d90eb695b8010d",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-hartazgo.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-hartazgo.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-agobio",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "agobio",
      "label": "Agobio",
      "webp": "cast-photo/cast-photo-nexa-expresion-agobio.webp",
      "width": 960,
      "height": 1200,
      "bytes": 174448,
      "sha256": "4070f9d77a21039ed970cb006a6661eb394e565a902b1c231f9774cc769c0e09",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-agobio.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-agobio.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-alarma",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "alarma",
      "label": "Alarma",
      "webp": "cast-photo/cast-photo-nexa-expresion-alarma.webp",
      "width": 960,
      "height": 1200,
      "bytes": 164026,
      "sha256": "394e05b8da739e8602b8caff0cc8267651a9d79542fcee8f2b9b076b0631babc",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-alarma.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-alarma.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-confusion",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "confusion",
      "label": "Confusión",
      "webp": "cast-photo/cast-photo-nexa-expresion-confusion.webp",
      "width": 960,
      "height": 1200,
      "bytes": 157764,
      "sha256": "d6f01de27ea38dff601c7011db898e297cde4baa4bbb768ff60c52f50719f477",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-confusion.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-confusion.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-concentracion",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "concentracion",
      "label": "Concentración",
      "webp": "cast-photo/cast-photo-nexa-expresion-concentracion.webp",
      "width": 960,
      "height": 1200,
      "bytes": 146998,
      "sha256": "dcf1cae2fd8739a1d7270c42f241ebeb59463438a67b13328e9889c400cb8d67",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-concentracion.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-concentracion.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-determinacion",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "determinacion",
      "label": "Determinación",
      "webp": "cast-photo/cast-photo-nexa-expresion-determinacion.webp",
      "width": 960,
      "height": 1200,
      "bytes": 154568,
      "sha256": "14f462ca96f7ddf2e959403be679035a38845857463a01dfdfc01c534f679a95",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-determinacion.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-determinacion.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-explicando",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "explicando",
      "label": "Explicando",
      "webp": "cast-photo/cast-photo-nexa-expresion-explicando.webp",
      "width": 960,
      "height": 1200,
      "bytes": 146924,
      "sha256": "328f902db46021b22916120bf96b42cb8c1d499d981e4c2f60043bfb699904e5",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-explicando.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-explicando.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-bienvenida",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "bienvenida",
      "label": "Bienvenida",
      "webp": "cast-photo/cast-photo-nexa-expresion-bienvenida.webp",
      "width": 960,
      "height": 1200,
      "bytes": 139310,
      "sha256": "a242d2eb9e26ba3b08baacaaac430b2c9f2b7b9119665c95504011bd004b97f5",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-bienvenida.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-bienvenida.webp"
    },
    {
      "id": "cast-photo-nexa-expresion-mirada-lateral-izq",
      "member": "nexa",
      "kind": "nexa-expresion",
      "pose": "mirada-lateral-izq",
      "label": "Mirada lateral (izquierda)",
      "webp": "cast-photo/cast-photo-nexa-expresion-mirada-lateral-izq.webp",
      "width": 960,
      "height": 1200,
      "bytes": 142172,
      "sha256": "5d0a80a61613a36d0699df5dd5d9b24e376be72076370d7993b6014d9fa81df3",
      "package": {
        "name": "@efeoncepro/axis-brand-assets",
        "file": "cast-photo/cast-photo-nexa-expresion-mirada-lateral-izq.webp"
      },
      "url": "/branding/cast-photo/cast-photo-nexa-expresion-mirada-lateral-izq.webp"
    }
  ],
  "rules": [
    {
      "id": "fictional",
      "rule": "Son modelos de campaña ficticios. Sus nombres son claves internas del elenco, no nombres públicos."
    },
    {
      "id": "never-real-team",
      "rule": "Nunca aparecen como equipo real: ni en la página de equipo, firmas, organigrama, LinkedIn ni ninguna superficie que diga «quiénes somos»."
    },
    {
      "id": "never-client",
      "rule": "Nunca se presentan como cliente, ni con nombre de empresa ni en un testimonio firmado."
    },
    {
      "id": "name-only-in-declared-fiction",
      "rule": "Su nombre en pantalla, sólo dentro de una narrativa de campaña que lo declare como ficción."
    },
    {
      "id": "keep-role-and-line",
      "rule": "Cada uno interpreta el rol de su línea y no cambia de rol ni de línea de una pieza a otra; con línea declarada viste la prenda de esa línea."
    },
    {
      "id": "groups-3-to-5",
      "rule": "Un grupo de 3 a 5 es cualquier combinación de personajes del elenco, Nexa y Julio. El elenco se suma cuando hace falta: no hay cuota de elenco en una pieza."
    },
    {
      "id": "roster-cap-two",
      "rule": "Con otras personas del roster del equipo el tope sigue en dos. En dupla, cualquier combinación."
    },
    {
      "id": "no-repeat",
      "rule": "La misma persona no se pide dos veces en una ficha: el comando se detiene («aparece dos veces»)."
    },
    {
      "id": "nexa-expression-behind-frontal",
      "rule": "La expresión de Nexa va siempre detrás del ancla frontal y aporta sólo el gesto (ojos, cejas y boca); en dupla o en grupo no viaja y el gesto lo da la escena."
    },
    {
      "id": "pose-from-scene",
      "rule": "La pose, el giro y la inclinación salen de la escena, no de las referencias: las referencias dicen quién es, no cómo está."
    },
    {
      "id": "nexa-face-proportion",
      "rule": "El rostro de Nexa mide 0,81 ± 0,02 de largo/ancho (ojos → mentón sobre el ancho de la mandíbula): un óvalo suave, nunca una cara afinada. Se mide con pnpm foto:rostro."
    },
    {
      "id": "never-graft-faces",
      "rule": "Nunca se injerta una cara: para poner a alguien en una escena, la escena se regenera con su identidad desde la ficha."
    },
    {
      "id": "never-mix-2d",
      "rule": "El elenco 2D (Tomás, Camila, Renata y Mateo) nunca se mezcla con el elenco fotográfico: son dos canon distintos."
    },
    {
      "id": "request-by-identity",
      "rule": "Se piden en `identidad` de la ficha de pnpm foto:prompt, nunca por ruta ni con un prompt armado a mano."
    },
    {
      "id": "consult-only",
      "rule": "Los archivos de este paquete son de consulta (lado largo ≤ 1200 px). Las referencias de producción en resolución completa viven en el canon de Greenhouse (gs://efeonce-creative-canon)."
    },
    {
      "id": "rights-governance",
      "rule": "Toda pieza publicada con personas generadas por IA pasa por la gobernanza de derechos y divulgación de IA."
    }
  ],
  "request": {
    "examples": [
      {
        "case": "Un personaje de frente",
        "json": "\"identidad\": [\"karo\"]"
      },
      {
        "case": "Un personaje en una vista",
        "json": "\"identidad\": [{ \"persona\": \"karo\", \"vista\": \"45-der\" }]"
      },
      {
        "case": "Nexa con una expresión (sola en la toma)",
        "json": "\"identidad\": [{ \"persona\": \"nexa\", \"expresion\": \"alivio\" }]"
      },
      {
        "case": "Un grupo de tres, en el orden del cuadro",
        "json": "\"identidad\": [\"julio\", \"nexa\", \"karo\"]"
      },
      {
        "case": "Quién viste la prenda en un grupo",
        "json": "\"objetos\": [{ \"objeto\": \"polo-efeonce\", \"persona\": \"isabella\", \"tapa\": \"cruza\" }]"
      }
    ],
    "commands": [
      {
        "step": "Armar el prompt desde la ficha (baja del canon la referencia que falte)",
        "command": "pnpm foto:prompt <ficha.json>"
      },
      {
        "step": "Generar con las referencias de la ficha",
        "command": "pnpm foto:generar <ficha.json>"
      },
      {
        "step": "Medir la proporción del rostro de Nexa",
        "command": "pnpm foto:rostro <plate.png> --persona nexa"
      }
    ]
  },
  "limits": [
    "Consulta, no producción: WebP con pérdida, lado largo ≤ 1200 px, con fondo. Las referencias de producción en resolución completa viven en el canon de Greenhouse (gs://efeonce-creative-canon) y foto:prompt las baja sola.",
    "Las caras no se injertan ni se componen sobre otra foto: para poner a alguien en una escena, la escena se regenera con su identidad.",
    "En un grupo viaja una referencia frontal por persona y la expresión de Nexa no viaja: el gesto lo da la escena.",
    "La medición de foto:rostro no compara caras con giro, con boca abierta ni con ojos cerrados; hartazgo (ojos en blanco) mide ≈ +0,03 sin estar afinada y se mira a ojo.",
    "Las anclas en alta resolución de Antonio e Isabella mostraron la frente con una textura craquelada inventada: la de Isabella se rehízo; para primeros planos de Antonio se usa su rostro frontal."
  ],
  "boundary": [
    "Las reglas del elenco son de criterio (quién es, qué papel puede hacer, con quién sale): no son valores para componer, así que no van a @efeoncepro/axis-tokens ni a un contrato de @efeoncepro/axis-ui-contracts.",
    "Lo que el modelo recibe lo manda el catálogo de foto:prompt en Greenhouse (ELENCO y PERSONAS.nexa): si la ficha humana y el catálogo difieren, manda el catálogo.",
    "Los archivos de consulta sí se versionan: en @efeoncepro/axis-brand-assets, sellados por SHA-256 con su tamaño y su resolución."
  ],
  "snippet": "import { AXIS_CAST_PHOTO_USE, findCastPhotoAsset, castPhotoAssetUrl } from '@efeoncepro/axis-brand-assets'\n\n// Ficticios: nunca equipo real, cliente ni testimonio; nunca con el elenco 2D\nAXIS_CAST_PHOTO_USE\n\n// Karo de frente (vista por defecto) y a 45° derecha: WebP de consulta\nfindCastPhotoAsset('karo')\nfindCastPhotoAsset('karo', { view: '45-der' })\n\n// Nexa: el ancla frontal y una expresión\nfindCastPhotoAsset('nexa')\nconst alivio = findCastPhotoAsset('nexa', { expression: 'alivio' })\nconst file = castPhotoAssetUrl(alivio.id)",
  "media": {
    "base": "/branding/cast-photo/",
    "production": "gs://efeonce-creative-canon (canon de Greenhouse; resolución completa)"
  },
  "pending": [
    {
      "topic": "Carácter de Hum",
      "detail": "La ficha no lo define: «serena y analítica, escucha antes de proponer» es una propuesta que el operador todavía no decidió."
    },
    {
      "topic": "Derechos de uso",
      "detail": "Cada pieza publicada con personas generadas por IA pasa por la gobernanza de derechos y divulgación de IA."
    }
  ],
  "agentPrompt": "Vas a usar el elenco fotográfico de Efeonce (Hum, Karo, Sophia, Isabella, Antonio) o una expresión de Nexa.\n1. Lee /references/cast-photo.json: perfiles, vistas, expresiones con su grupo de uso, reglas y el sha256 de cada archivo.\n2. Confirma el papel: son ficticios e interpretan el rol de su línea. Nunca como equipo real, cliente ni testimonio; su nombre en pantalla, sólo en ficción declarada.\n3. Para producir una foto, pídelos en identidad de la ficha de pnpm foto:prompt; nunca por ruta ni con un prompt armado a mano. Los archivos de AXIS son de consulta.\n4. Un grupo de 3 a 5 es cualquier combinación del elenco, Nexa y Julio; nunca la misma persona dos veces.\n5. La expresión de Nexa va detrás del ancla frontal y sólo con Nexa sola; la pose sale de la escena. Mide su rostro con pnpm foto:rostro: 0,81 ± 0,02.\n6. Nunca injertes una cara ni mezcles este elenco con el elenco 2D."
}