# Esquema de configuracion de radio

El JSON UTF-8 contiene `channel_id`, `skill_display_name`, `invocation_name`,
`project_slug`, `locale`, `stream_url`, `speech`, `distribution`, `beta_testers` y
`skill_id`.

`project_slug` admite minusculas, numeros y guiones. `locale` es `es-MX` en esta
version. `stream_url` usa HTTPS. `skill_id` es `null` antes de crear; con un valor
real el flujo actualiza y nunca crea un duplicado. Los testers provienen unicamente
del arreglo explicito de esa radio.

## Branding assets

```text
assets/<PROJECT_SLUG>/es-MX_smallIcon.png  # PNG 108x108
assets/<PROJECT_SLUG>/es-MX_largeIcon.png  # PNG 512x512
```

Assets ausentes producen `BRANDING_ASSETS_MISSING`. PNG invalidos o dimensiones
incorrectas detienen el flujo antes de cualquier create/import. El Skill Package
usa `file://assets/images/...` y el ZIP exclusivamente `/` en rutas internas.
