Embed and iframe parameters
Glossa has two pages that may be placed in an iframe or a browser source. Everything else on glossa.live refuses framing.
| Page | URL | What it shows |
|---|---|---|
| Captions view | https://glossa.live/embed/{SERVICE_ID} |
The latest translated sentences as text, nothing else. No audio. |
| Listener page | https://glossa.live/iframe/{SERVICE_ID} |
The full listener experience: language picker, audio and captions. |
{SERVICE_ID} is the UUID at the end of your listener link, shown next to the Start Streaming button on the service page. The Advanced Settings modal also shows both URLs ready to copy.
Captions view parameters
Section titled “Captions view parameters”Add parameters to the URL with ? for the first and & for the rest. Names are case-sensitive.
| Parameter | Accepts | Default | Notes |
|---|---|---|---|
lang |
A language code such as es, fr, ko, zh-TW |
The first language in Glossa’s list | Always set it. Without lang the view falls back to the first entry of the language list, which is not your service’s language. Matching is case-insensitive and _ is read as -; es matches es-ES. |
bg / background / background-color |
3- or 6-digit hex, with or without # |
ffffff |
Solid colours only. A value with transparency (8 digits) is ignored and the default applies. |
color / font-color / text-color |
3- or 6-digit hex | 000000 |
Text colour. |
align / text-align |
left, center, right, justify |
center |
Case-insensitive. |
font-size |
A number with px, rem, em, vw, vh or %; a bare number means px |
clamp(28px, 6vw, 48px) |
Example: font-size=40px. |
padding |
Same rules as font-size |
24px |
Space around the text. |
font-family |
Any CSS font stack | Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif |
Passed through as written. |
sentences / lines |
Integer 1 to 5 | 1 |
How many recent sentences stay on screen. |
Example, Spanish, white on black, two lines, larger:
https://glossa.live/embed/YOUR_SERVICE_ID?lang=es&bg=000000&color=ffffff&font-size=40px&sentences=2Behaviour
Section titled “Behaviour”- The view counts as a listener for
lang: it triggers translation of that language and is billed like any other listener, per minute of speech. - Nothing plays: the view subscribes muted. For audio, use the listener page.
- Off air, the page is just the background colour. There is no placeholder text.
- Each line stays on screen for 2 to 10 seconds depending on its length (about 200 words per minute, 350 characters per minute for Chinese, Japanese and Korean). The last line fades 20 seconds after it appeared.
Listener page parameters
Section titled “Listener page parameters”| Parameter | Accepts | Default | Notes |
|---|---|---|---|
lang |
A language code | The listener’s last choice, else the service default | Preselects the language. |
autoplay |
1 or true |
off | Starts playback on load. Browsers may still block sound until the visitor taps once, in which case a resume button appears. |
The framed listener page hides the “Back to Glossa” link, the glossa.live link in the settings sheet and the church logo link. There is no postMessage API.
<iframe src="https://glossa.live/iframe/YOUR_SERVICE_ID?lang=es&autoplay=1" width="100%" height="600" frameborder="0" allow="autoplay" allowfullscreen loading="lazy"></iframe>Include allow="autoplay"; without it most browsers block the audio inside the frame.
Framing and security
Section titled “Framing and security”Only /embed/* and /iframe/* send Content-Security-Policy: frame-ancestors *. Every other page sends X-Frame-Options: SAMEORIGIN and will not render inside your site. Both pages are public: anyone with the service id can open them, and a private service is not hidden from them.