Skip to content

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.

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=2
  • 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.
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.

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.

Still stuck?Chat with us on glossa.live or write to info@glossa.live. Most questions get an answer within the day.