Cargando...
Cargando...
Explorador de schema
Un catálogo pensado para diseñadores del schema canónico de manifiesto de la EBU. Recorre los campos de nivel superior, mira cada tipo de entrada del operador con una maqueta visual real y olvídate por completo de la jerga de JSON Schema.
14
Campos del manifiesto
6
Obligatorios
5
Grupos
9
Tipos de entrada del operador
Todo lo que puede contener un manifiesto OGraf — los campos obligatorios en rosa, los opcionales en gris. Haz clic en cualquier rama para saltar a su ficha detallada.
obligatorio · opcional · haz clic en cualquier rama para saltar a su ficha completa más abajo
Todo lo que puede ir en el nivel superior de un manifiesto .ograf.json, agrupado en las cinco cosas que de verdad importan a los diseñadores: quién es este grafismo, cómo se comporta, qué datos pide al operador, qué botones personalizados puede pulsar el operador y qué necesita del renderizador.
¿Quién es este grafismo? Un nombre, una versión, un crédito.
¿Cómo funciona? Páginas, modos, dónde puede emitirse.
Cuántas vistas distintas tiene tu grafismo. -1 significa dinámico (el grafismo decide en tiempo de ejecución), 0 es una cortinilla que se reproduce sola hasta el final, 1 es un único estado que se queda en pantalla hasta que se detiene (un rótulo inferior), 2+ es un grafismo de varias páginas que el operador va pasando con clics. El valor por defecto es 1.
Ejemplo: por defecto 1 · mín. -1 · -1 = dinámico
Lo que escribe el operador — como un formulario: nombre, cargo, marcador.
El mínimo que el renderizador debe garantizar — tamaño, transparencia, audio.
Una lista de entornos de renderizado aceptables — al menos una entrada debe cumplirse. Cada entrada puede restringir la resolución, la frecuencia de fotogramas, el acceso a internet y el motor de renderizado + versión. Las restricciones usan min/max/exact/ideal para que el renderizador pueda negociar la mejor opción.
Dentro del campo schema — es el formulario que el controlador construye para el operador. Estos son los tipos de entrada que puedes usar, cada uno con una maqueta de lo que el operador ve realmente en el controlador. Combínalos para pedir lo que necesite tu grafismo: nombre, marcador, foto, color, posición…
Lo que ve el operador
Nombre
Lo que ve el operador
Cita
Lo que ve el operador
Sintonía
/audio/intro.mp3Lo que ve el operador
Logotipo
station-logo.svg
Suelta o examina
Lo que ve el operador
Posición
Lo que ve el operador
Acento
#2563ebLo que ve el operador
Superposición
#0f172accα 0.80Lo que ve el operador
Opacidad
72%100%Dos extras que puede llevar cualquier campo
hidden: true — si está presente, el valor del campo se excluye de la etiqueta visible del grafismo en las interfaces de playout/automatización. Úsalo para campos técnicos o que solo meten ruido.order: 0 — pista de orden en la interfaz. Los números menores van primero. Te permite controlar dónde aparece cada campo en el formulario del operador.Copia el prompt de abajo en cualquier chat de IA. Enseña al modelo las reglas de OGraf a un nivel en el que un diseñador puede confiar — campos obligatorios, los gddTypes canónicos, extensiones de fabricante, todo.
You are an OGraf manifest expert helping a broadcast designer create or debug an .ograf.json manifest.
CONTEXT
- OGraf is the EBU's open specification for HTML-based broadcast graphics: https://ograf.ebu.io
- Canonical JSON Schema (root): https://ograf.ebu.io/v1/specification/json-schemas/graphics/schema.json
- Sub-schemas live under /lib (action.json, constraints/{boolean,number}.json) and /gdd (object.json, basic-types.json, gdd-types.json)
- A manifest is plain JSON.
REQUIRED top-level fields
$schema, id, name, main, supportsRealTime, supportsNonRealTime
OPTIONAL top-level fields
version, description, stepCount, author, customActions, schema, renderRequirements, thumbnails
CONSTRAINTS (often missed)
- additionalProperties: false at every level. The only escape: vendor extensions prefixed "v_" — allowed at every level (manifest root, author, action, thumbnail, requirement, GDD field).
- stepCount is a NUMBER with minimum -1 and default 1. Use -1 for dynamic, 0 for fire-and-forget sting, 1 for stays-on (lower third), 2+ for multi-page. (Do NOT use the string "dynamic".)
- thumbnails use { "file": "...", "resolution": { "width": N, "height": N } } — NOT { "src", "width", "height" } flat.
- renderRequirements is an ARRAY of requirement objects (any-of). Each requirement may have resolution { width, height }, frameRate, accessToPublicInternet, engine[]. Constraints use the shape { min?, max?, exact?, ideal? } (number) or { exact?, ideal? } (boolean).
- customActions[].schema can be null when the action takes no parameters.
GDD TYPES (the 9 canonical operator-input types inside the "schema" field)
single-line string
multi-line string
file-path string + gddOptions.extensions[]
file-path/image-path string + gddOptions.extensions[]
select string|number|integer + enum[] + gddOptions.labels{}
color-rrggbb string · pattern ^#[0-9a-f]{6}$
color-rrggbbaa string · pattern ^#[0-9a-f]{8}$
percentage number
duration-ms integer
Every GDD field can also carry:
hidden: boolean (skip in display label)
order: number (UI sort hint, lower first)
HOW TO HELP ME
1. If I paste a manifest, validate it against the rules above and list issues with severity (error / warning / info), the JSON path, and a fix.
2. If I describe a graphic in plain English, draft a complete manifest with reasonable defaults and explain each field.
3. If I ask about a specific field or gddType, explain it in plain language and show a tiny working example.
4. Don't invent fields. If I describe something the spec doesn't cover, suggest a v_yourCompany_* extension and say so explicitly.
5. After every answer, remind me to run the Package Checker at https://ograf.dev/check (or the embedded validator) before shipping.
Now wait for me to share the manifest or describe what I want to build.Un aviso: la salida de la IA es un gran borrador, nunca una respuesta final. Pasa siempre lo que obtengas por el verificador de paquetes antes de publicar.
La página de la especificación recorre el manifiesto completo de principio a fin con un ejemplo práctico. Los tutoriales muestran 11 grafismos construidos de principio a fin. El verificador de paquetes valida un paquete terminado con este mismo schema.