A complete embed solution for webmasters. Drop a single <iframe> into your page and
ship a fully-featured KissKH player with auto-decrypted subtitles and playback events.
Content stays accessible even if the original source rotates or goes down.
Multi-language subtitles are fetched, decrypted, and wired into the player automatically.
Receive real-time postMessage events - progress, complete, error.
Embed KissKH drama episodes from a single endpoint.
Match your site's branding - pass any hex color and the player skin updates instantly.
The endpoint returns a complete HTML page - drop it into any <iframe> and it works.
KissKH Player is an embed API that lets you add a KissKH video player to your website with a single <iframe> tag.
Only KissKH episode IDs are supported.
Copy the iframe embed code from the Player tab and paste it into your HTML. For example: <iframe src="/kisskh/136523" width="100%" height="100%" allowfullscreen></iframe>
Subtitles are fetched directly from KissKH. Some upstream subtitles ship AES-encrypted - the server decrypts them and delivers plain SRT to the player, so your viewers never see a broken caption track.
Yes. The player sends postMessage events to the parent window including time, complete, and error events. Use these to build progress tracking, auto-next, or watch history.
No. Player pages are iframe-only - direct browser access is blocked. You must embed them via an <iframe> on your own domain.
Append ?color=%23ff0000 (URL-encoded hex) to any embed URL. The player skin will use your custom accent color.
Yes. Append ?autoplay=true to the embed URL to auto-start playback (subject to the browser's autoplay policy - a prior user gesture on the parent page is usually required).
Replace {braces} with your values. The endpoint returns a full HTML page ready to embed in an <iframe>.
| Parameter | Description | Required |
|---|---|---|
episode-id | Numeric KissKH episode ID | Required |
?color | Hex color for player accent (e.g. %23ff0000) | Optional |
?autoplay | Auto-start playback - true to enable, omit for off (default) | Optional |
Open the KissKH episode page and read the ep= query parameter from the URL.
https://kisskh.co/Drama/Twinkling-Watermelon/Episode-1?id=7977&ep=136523&page=0&pageSize=100https://kisskh.co/Drama/Queen-of-Tears/Episode-1?id=11234&ep=210822&page=0&pageSize=100<!-- Basic embed --> <iframe src="/kisskh/136523" width="100%" height="100%" frameborder="0" allowfullscreen ></iframe> <!-- With accent color and autoplay --> <iframe src="/kisskh/136523?color=%232ad4b8&autoplay=true" ... ></iframe>
The player posts postMessage events to the parent frame. Use these to build auto-next, progress tracking, and watch history.
Sent continuously during playback with current position.
Sent when the episode finishes playing.
Sent when playback fails or a stream error occurs.
Periodic watch-time log with currentTime and duration.
window.addEventListener("message", function (event) { let data = event.data; if (typeof data === "string") { try { data = JSON.parse(data); } catch (e) { return; } } if (data.channel === "kisskh") { if (data.event === "complete") { /* auto-next */ } if (data.event === "time") { /* progress */ } if (data.event === "error") { /* fallback */ } } if (data.type === "watching-log") { // data.currentTime, data.duration } });
<iframe> on your own domain.