Vidstark
Vidstark

Embed it.
Control it.

A live playground for the Vidstark player. Configure the same query parameters used by the production player, preview the result, and inspect its postMessage events in real time.

Easy to use

Copy one iframe snippet and add the player to your website. No complicated setup.

Huge library

Test movies, TV shows, and anime with TMDB or AniList identifiers.

Customizable

Tune themes, subtitles, start time, watermarks, autoplay, and next-episode behavior with URL parameters.

Auto update

Refresh the player configuration from the latest options whenever you apply a change.

Quality-focused

Use the available player sources and playback controls for a smooth viewing experience.

LIVE PLAYGROUND

Choose a starting example

Waiting for events0
LIVE EMBEDANIME · neonVidstark
POSTMESSAGE

Live event inspector

The inspector accepts events only from the Vidstark origin and the active player frame. Payloads are normalized before being displayed.

EVENTS0
Playback position00:00
EVENTWaiting
TIME00:00
SOURCE—
LAST MESSAGE—
{
  "status": "waiting",
  "message": "Start playback to receive postMessage events."
}
01

Core parameters

type=movie|tv|anime
tmdbId=27205
anilistId=172463
season=1
episode=1
t=90
theme=neon

Movies use tmdbId. TV uses tmdbId, season, and episode. Anime uses anilistId and episode. The t parameter sets the initial playback position in seconds.

02

Playback controls

autoplay=1
autoSkipIntro=1
autoSkipOutro=1
autoNextEp=1
nextEpDelay=20
subtitle=English
lang=en

Boolean options accept 1, true, yes, or on. Subtitle aliases include subtitle, sub, lang, and language.

03

Next-episode overlay

showNextEpisode=1     Show overlay
showNextEpisode=0     Hide overlay
showNextEpisode=false Hide overlay

Use showNextEpisode to control whether the next-episode overlay appears. Values1 andtrue show it;0 andfalse hide it. This is separate from autoNextEp, which controls automatic episode advancement.

04

Themes

default · neon · ember · rose · ocean · lime

The production player currently exposes six theme presets: default, neon, ember, rose, ocean, and lime. Use theme; colorTheme is also accepted.

05

Watermark

watermark=https://...
watermarkName=Vidstark

watermark, watermarkLogo, and wm identify the logo source.watermarkName and name provide the display name.

INTEGRATION

Listen for player events

Add this listener to the page that embeds Vidstark. It checks the message origin and the exact iframe window before handling events. Replace the selector if your iframe uses a different identifier.

const playerFrame = document.querySelector(
  "#Vidstark-player"
);

window.addEventListener("message", (event) => {
  // Only accept messages from the player origin.
  if (event.origin !== window.location.origin) return;

  // Only accept messages from this player iframe.
  if (!playerFrame || event.source !== playerFrame.contentWindow) {
    return;
  }

  const message = event.data;
  if (!message || typeof message !== "object") return;

  console.log("Vidstark player event:", message);

  switch (message.event) {
    case "ready":
      console.log("Player ready");
      break;
    case "play":
      console.log("Playback started");
      break;
    case "pause":
      console.log("Playback paused");
      break;
    case "timeupdate":
      console.log("Playback time:", message.time, message.duration);
      break;
    case "ended":
      console.log("Playback ended");
      break;
  }
});

The origin check above assumes the player is served from the same origin as your site. If the player is hosted on another domain, replace window.location.origin with that exact trusted player origin.

05

Embed code

<iframe
  src="/oni?type=anime&anilistId=172463&episode=1&showNextEpisode=1&nextEpDelay=20&theme=neon&t=0"
  title="Vidstark Player"
  allow="autoplay; fullscreen; picture-in-picture"
  allowfullscreen
></iframe>