La cadena de contenidos, de punta a punta.
Del catálogo de folletos en admira.tv al vídeo en admiranext.com, del vídeo al Stock de Pixeria y del Stock a la pantalla. Qué existe, qué está vivo hoy y por dónde se rompe. Inventariado en los repos admira-next-web, admira-tv, pixeria, pixer-worker y ainimation, y verificado con peticiones a producción.
1 · La cadena que hoy funciona
api.admira.store/stock/publish con token de ingesta. Hoy ~1.000 piezas; 16 del Composer, 34 de Grok.el «num» llega tarde, tags fijosdefault o una de circuito (#canalkioskpubli…), o si alguien la asigna a mano.sin etiqueta no se emiteEs el único pipeline de vídeo vivo. Todo lo demás (créditos, presentaciones, NotebookLM, ainimation) produce cosas que no vuelven solas al Stock ni a la parrilla.
2 · Qué hay en cada tramo (estado real en producción)
| Tramo | Superficie | Produce | Hoy |
|---|---|---|---|
| Catálogo | admira.tv/contentcatalogue | productos de un folleto (Grok, bbox, precios) → «Crear vídeo» | vivo · 1 catálogo, JSON a mano |
| Catálogo | Deck library (admiranext.com/presentaciones) | 2 packs, 42 láminas, títulos es/ca/en | vivo · solo editable tocando código |
| Catálogo | apps/videos.json · public-catalog.json (admira.tv) | vídeos y PDF de marketing de 19 apps | vivo · JSON y R2 a mano |
| Vídeo | admiranext.com/tiktok (Grok Imagine + Composer) | MP4 15 s 9:16 · WebM 25 s 1080×1920 sin audio | vivo · el estudio es público pero su API pide login |
| Vídeo | Cápsulas TikTok (server-to-server) | brief → MP4 15 s → Stock | vivo |
| Vídeo | /creditos | WebM/MP4 en tiempo real, sin audio | vivo · solo descarga local, no se publica |
| Vídeo | Productor NotebookLM (Mac local) | MP4 con audio, m4a, PDF, PPTX, PNG | frágil · un solo Mac; 4 días parado sin avisar |
| Vídeo | ainimation.studio → /api/produce (OpenMontage) | MP4 1080p con narración | la cola acepta, nadie renderiza; 1 render (8-sep); el enlace /renders da 404 |
| Pixeria | api.admira.store/stock/publish · /stock/upload/* | asset en R2 + meta.json; motores Grok, Veo, Lyria, ElevenLabs, yt-dlp, Telegram | vivo · el carril anónimo no pide auth; el autenticado solo acepta x.ai y admiranext.com |
| Pixeria | MCP mcp-pixeria.admira.store | search_stock, stock_stats, get_asset | solo lectura · publish_asset vive en mcp.admira.store |
| Parrilla | /grid/day · /api/playlist · canal.html | slots por bandas; sync automático solo por tag de circuito | vivo |
3 · Dónde se rompe (lo que cuesta a mano o miente)
- Formato: el Composer entrega WebM mudo; Grok, MP4; ainimation, MP4 con voz. En el Stock conviven 16 WebM en «tiktoks». No hay ffmpeg en el borde para convertir, y WebM no es seguro ni para MUPI ni para YouTube.
- Audio: ningún vídeo de admiranext.com lleva audio (canvas puro). Solo NotebookLM y ainimation lo tienen, y ambos están frágiles o apagados.
- Metadatos por convención:
verticalse estampa fijo aunque la pieza sea 16:9; emitir depende de la etiquetadefaulto de un regex por nombre de motor;numse asigna en el reindex, no al publicar;formatviene nulo casi siempre. - Puertas a medias: el estudio /tiktok es público pero su API devuelve 401; el carril de ingesta autenticado rechaza cualquier origen que no sea x.ai o admiranext.com (un MP4 de ainimation no pasa), mientras el carril anónimo acepta base64 sin token.
- Salidas sin cerrar: YouTube escrito y no conectado; créditos solo a disco; Xperiencias publicadas pero añadidas al canal a mano desde el CMS; renders de ainimation enlazados a un 404.
- Catálogos a mano: folletos, deck library, apps y xperiencias viven en JSON commiteados; ninguna API de alta.
- Un solo hilo no existe: cuatro dominios, tres mecanismos de auth (cookie, pase HMAC de 120 s, claves de servicio) y ninguna traza que siga una pieza del folleto a la pantalla.
- Dependencias domésticas: yt-dlp y los pósters de vídeo dependen de un Mac Mini por Tailscale; cuando falla, el catálogo se llena de «Enlace pendiente» con número consumido.
4 · Tres vías de mejora (ventana de decisión abierta a Carlos)
★ Vía 1 · Cerrar el pipeline vivo: folleto → vídeo con audio → Pixeria → pantalla, sin manos
Master MP4 en vez de WebM (Grok MP4 como base y pista de audio mezclada en el navegador con Web Audio + MediaRecorder, o reencode en el productor local); etiquetas honestas por dimensiones reales; num devuelto al publicar; auto-programación en la parrilla por segmentación y no solo por tag; conectar la subida a YouTube que ya está escrita; y una traza de pieza (folleto → vídeo → stock → pantalla) visible en Pixeria. Es el tramo que hoy produce y el que más se usa: cada mejora se nota en la calle.
Vía 2 · Catálogos con API y un solo «catálogo»
Alta de catálogos de folletos por API/MCP en vez de JSON commiteados; deck library editable desde el generador; get_catalog unificado en el MCP de la FACE; el MCP de Pixeria con publish_asset y el carril autenticado abierto a ainimation.studio y xpaceos.com. Cierra la brecha agente → stock.
Vía 3 · Sala de render que no se apaga
Worker de produce versionado en un repo propio, cola con panel, reintentos y aviso cuando vuelve la máquina; fallback al asset del Stock cuando /renders falla; brief completo desde el Director (cast, narración, audio) y Xperiencias al canal sin pasar por el CMS. Recupera ainimation y NotebookLM como fuentes de vídeo con voz.
5 · Método y límites
Tres inventarios en paralelo (FACE, Pixeria y workers, ainimation y admira.tv) con lectura de código y comprobación por curl de cada endpoint público; no se ha subido ni generado nada. Los repos locales iban entre 2 y 7 días por detrás de producción (el MCP de la FACE sirve 12 tools y el repo local define 9; el worker de Pixeria va por v.12.09.2026 en vivo): las cifras de arriba son las de producción. El código del MCP de Pixeria y del worker de produce de ainimation no está en ningún repo local.