Início rápido
A XonaPlay codifica seus vídeos para HLS e te dá um link que qualquer player HLS consegue reproduzir: hls.js, Safari, AVPlayer, ExoPlayer, VLC ou o seu próprio. Não existe SDK. Você faz uma única chamada HTTP e passa a URL para o player.
1. Obtenha uma URL de reprodução
curl https://api.xonaplay.com/v1/videos/{VIDEO_ID}/playback{
"status": "ok",
"data": {
"video_id": "0f8e2c7a-5d1b-4c3e-9a77-2b1f0c9d4e21",
"short_id": "9KfR2mQx",
"hls_url": "https://play.xonaplay.com/hls/t/Xk3qL9…/master.m3u8",
"original_url": "https://…",
"poster_url": "https://play.xonaplay.com/hls/t/Xk3qL9…/poster",
"thumbnails_url": "https://play.xonaplay.com/hls/t/Xk3qL9…/thumbnails/thumbnails.vtt",
"embed_url": "https://xonaplay.com/v/9KfR2mQx",
"expires_at": "2026-10-09T03:00:00.000Z",
"security": "protected",
"delivery": "hls",
"duration_sec": 3600
}
}{VIDEO_ID} é o id do vídeo ou o seu short_id (o mesmo que aparece em
xonaplay.com/v/{short_id}).
original_url é o arquivo exatamente como você enviou. Reproduza hls_url, a
menos que saiba que o seu player suporta o formato; veja Original ou HLS.
- Vídeo público, workspace em Open ou Protected: chame sem key, direto do seu site ou app.
- Vídeo privado, ou workspace em Strict: chame pelo seu backend com a sua secret key. Veja Autenticação.
2. Reproduza
import Hls from "hls.js"
const video = document.querySelector("video")
const { data } = await fetch(playbackUrl).then((r) => r.json())
if (video.canPlayType("application/vnd.apple.mpegurl")) {
video.src = data.hls_url // Safari
} else {
const hls = new Hls()
hls.loadSource(data.hls_url)
hls.attachMedia(video)
}As faixas de áudio e as legendas já vêm dentro do playlist, então o seu player as exibe sem trabalho extra.
3. Recupere-se quando falhar
Os links expiram de propósito. Quando o player tiver um erro fatal, peça um
hls_url novo e retome no mesmo segundo. Leia Reprodução
para a regra exata; todas as receitas já a incluem.
Autenticação
Crie uma secret key no dashboard: Configurações → API. Você a vê uma única vez.
curl https://api.xonaplay.com/v1/videos/{VIDEO_ID}/playback \
-H "Authorization: Bearer $XONAPLAY_SECRET_KEY"- Mantenha a key no seu servidor. Nunca a envie em uma página web ou em um app mobile.
- Uma key atua sobre todo o seu workspace. Revogue-a pelo dashboard a qualquer momento.
Sem código? Use o iframe
<iframe src="https://xonaplay.com/v/9KfR2mQx" allow="autoplay; fullscreen" allowfullscreen></iframe>O embed_url de /playback já traz nosso player, os anúncios e as
análises, e renova o próprio link quando ele expira.