API de streaming en producción

Embeds HLS limpios parapelículas y series

Un iframe con el ID de TMDb o IMDb. Buscamos los servidores, extraemos el HLS de cada host y lo servimos en nuestro reproductor, sin la publicidad del host.

TMDb & IMDbSin API key en el iframe27 hosts compatiblesListo para Smart TV
Catálogo activo

Lo más reciente

Tendencias de hoy en TMDb. Un clic abre el embed listo para incrustar.

Arquitectura

¿Cómo funciona el sistema?

Tres capas: ID → servidores → reproductor limpio. Sin API key en el iframe.

01

Resolución TMDb / IMDb

Aceptá el ID numérico de TMDb o el tt… de IMDb. Detectamos el formato y armamos la ficha con temporadas y episodios.

02

Extracción automática

Consultamos varias fuentes a la vez y sacamos el HLS de 27 hosts (StreamWish, VidHide, Filemoon, VOE, Dood…). Lo popular queda precalentado en caché.

03

Reproductor limpio

Servimos el iframe con servidores e idiomas. El video pasa por nuestro proxy con los permisos que exige cada CDN, sin la publicidad del host.

Documentación

Endpoints de embed

Un patrón para películas, series, anime y doramas. Anime y doramas usan el endpoint de series (/tv/).

GEThttps://unlimplay.com/f/embed/movie/{tmdb_id|imdb_id}

Reproduce una película con el ID de TMDb o de IMDb.

// TMDb — El club de la pelea
https://unlimplay.com/f/embed/movie/550
// IMDb
https://unlimplay.com/f/embed/movie/tt0137523
// iframe
<iframe src="https://unlimplay.com/f/embed/movie/550" width="100%" height="500" frameborder="0" allowfullscreen allow="autoplay; fullscreen; picture-in-picture"></iframe>
GEThttps://unlimplay.com/f/embed/tv/{tmdb_id}/{temporada}/{episodio}

Un episodio concreto. El reproductor trae el selector de idiomas y servidores.

// Game of Thrones · T1 E1
https://unlimplay.com/f/embed/tv/1399/1/1
// iframe
<iframe src="https://unlimplay.com/f/embed/tv/1399/1/1" width="100%" height="500" frameborder="0" allowfullscreen></iframe>
GEThttps://unlimplay.com/f/embed/tv/{tmdb_id}/{temporada}/{episodio}

Anime y doramas están en TMDb como series: mismo endpoint, con su ID de TMDb.

// One Piece · T1 E1
https://unlimplay.com/f/embed/tv/37854/1/1
// Doramas: igual, con el ID de la serie en TMDb
GEThttps://unlimplay.com/api/v1/{movie|tv}/{id}[/{temporada}/{episodio}]

Para tu propio reproductor: devuelve los HLS en JSON. Requiere clave: header X-API-Key o ?key= en el link (así se abre directo en el navegador). Cada fuente trae play, un link para verla con reproductor.

curl -H "X-API-Key: ulp_tu_clave" https://unlimplay.com/api/v1/movie/550

// Respuesta
{ "sources": [ { "server": "StreamWish", "lang": "latino", "type": "hls", "url": "https://…m3u8", "play": "https://…/cps.php?play=…" } ] }

// En el navegador
https://unlimplay.com/api/v1/movie/550?key=ulp_tu_clave
Probar ahora

Generá el embed al instante

Buscá por título en tiempo real (TMDb o IMDb), copiá la URL o el iframe y previsualizá el reproductor en segundos.

Abrir generadorIr al panel

Elegí un resultado o escribí un ID.

Diferencial

Motor Clean incluido

No solo juntamos embeds: el reproductor extrae el stream limpio de StreamWish, VidHide, Filemoon, VOE, Streamtape y más, y lo pasa por nuestro proxy con los permisos de cada CDN. Menos popups, más control desde el panel.

Ir al panel
✓Iframe público sin API key
✓HLS por proxy propio que renueva el token solo
✓TMDb numérico e IMDb tt…
✓JSON opcional en /api/v1/
Actualizaciones

Novedades

Qué se agregó, qué se mejoró y qué se arregló en cada versión.

v3.6.8Versión actual

Endpoints con tu formato /f/embed

↑Mejoras

  • La portada documenta y genera los embeds con tu formato: /f/embed/movie/{id} y /f/embed/tv/{id}/{temporada}/{episodio} (también en la vista previa y el generador).
v3.6.7Cambiar de servidor siempre conecta

✓Arreglos

  • Después de unos minutos viendo algo, elegir de nuevo el mismo servidor u otro ya no conectaba: el permiso interno del reproductor vencía a los 5 minutos. Ahora se renueva solo mientras la página está abierta, al volver a la pestaña y al desbloquear el celular.
  • Si un pedido igual llega con el permiso vencido, se renueva y se reintenta automáticamente.
  • El control de "HLS sin video" ya no afecta a un servidor que el usuario dejó de mirar.
v3.6.6Direct (VideoAPI / vimeos) y Fastream

+Nuevo

  • Servidor "vimeos" de respaldo del Direct: el embed de vimeos.net que da el worker se extrae con el motor Clean.

✓Arreglos

  • El Direct de Lamovie/VideoAPI (vimeos.zip) fallaba con HTTP 502 por el proxy: ese CDN rechaza cualquier Referer u Origin. Ahora se pide limpio, igual que hacía vimeos-sw.js.
  • La página del link "play" ya no manda Referer, así el Direct también puede cargar directo desde el navegador.
  • El respaldo del Direct en el reproductor usa la misma regla.
  • Fastream ya no se muestra como HLS que nunca arranca: queda como iframe (su video solo funciona en su propio reproductor). Configurable en Extracción HLS → Ajustes.
v3.6.4El link "play" se recupera solo

↑Mejoras

  • Si un video de otro servidor no carga directo (permisos del CDN, Referer o IP), la página del link "play" lo reintenta sola por el proxy cps.php.
  • Si igual falla, muestra el motivo exacto (por ejemplo "manifestLoadError · HTTP 403") y qué respondió el servidor de video al proxy.
v3.6.2La API responde en /api/v1 sin tocar nginx y llegan las Novedades

+Nuevo

  • Sección "Novedades" en la portada con el detalle de cada versión.

✓Arreglos

  • Los links /api/v1/… abrían la portada cuando el servidor no tenía la regla de nginx: ahora la propia portada los deriva a la API y responden el JSON.
v3.6.1Links de acceso para tus clientes

+Nuevo

  • Panel → API pública: sección "Links de acceso para tus clientes" con el link de cada uno (clave incluida), botones Copiar, Abrir y Enviar por WhatsApp.

↑Mejoras

  • La ventana del link JSON se acomoda en el celular.
v3.6.0Panel rediseñado

+Nuevo

  • Panel con el mismo estilo que la portada: índigo, violeta y lima, menú lateral oscuro y encabezados con degradado.
  • Gráficos animados: anillo de caché, barras por hora que crecen, números que cuentan y barras de éxito que se llenan.
  • Nuevo inicio de sesión.
v3.5.8Portal para invitados de la API

+Nuevo

  • portal.php?key=…: el cliente entra con su link, busca películas o series y ve, abre o copia los HLS con su clave (mismos límites y estadísticas).
  • Botón "Link directo" por cliente con generador del link JSON.
v3.5.7Fastream reproduce de verdad

↑Mejoras

  • El navegador usa también los extractores de siempre (con reintentos) para Fastream, Vidspeed y lo que falle en el motor Clean.

✓Arreglos

  • Fastream figuraba como HLS sin extraerse: la página del embed ya no cuenta como video y ahora se extrae.
v3.5.6La API se abre en el navegador

+Nuevo

  • La clave puede ir en el link (?key=) y el JSON se ve ordenado.
  • Cada fuente trae "play": un link que abre el video con reproductor.
  • Abrir un link de cps.php en el navegador muestra un reproductor en vez del .m3u8 crudo.

✓Arreglos

  • La lista de dominios del cliente ya no bloquea abrir los links a mano.
v3.5.5Textos editables y fondo con portada

+Nuevo

  • Todos los mensajes del reproductor se editan desde el panel ("Espere, verificando si existe HLS…", avisos, estados, logo).
  • Mientras carga se ve la portada de TMDb desenfocada en vez de negro.
v3.5.4Nueva portada

+Nuevo

  • Portada de la API con lo más reciente de TMDb, documentación y generador de embeds con búsqueda en vivo.

↑Mejoras

  • VOE: se detecta cuando el host bloquea al servidor (DDoS-Guard) y pasa al siguiente.
v3.5.3Reproducción HLS más firme

+Nuevo

  • Si un HLS no muestra video en 10 s, pasa solo al respaldo o al siguiente servidor.
  • Panel → Extracción HLS: tabla de errores de reproducción reportados por los navegadores.
  • Las listas de video quedan en memoria: el siguiente visitante arranca sin pedirlas al CDN.

✓Arreglos

  • Segmentos que redirigen a otro servidor llegaban con cabeceras duplicadas y el video quedaba girando.
  • Segmentos comprimidos con tamaño equivocado y descargas dobles de segmentos disfrazados.
  • Direct: ya no se usa un token vencido guardado en caché y el nuevo reemplaza al viejo.
  • El logo UNLIMPLAY a veces desaparecía.
v3.5.2Solo HLS de verdad

↑Mejoras

  • Los HLS se extraen al cargar la página, antes del Play, y arranca con el primero listo.

✓Arreglos

  • En "Solo HLS" ya no aparecen iframes: los enlaces sin extractor (Netu, Mega…) se quitan.
v3.5.1El reproductor aparece al instante

↑Mejoras

  • Modo rápido: el reproductor no espera extracciones; las hace el navegador en paralelo.
  • No se espera más de 4 s a una API lenta.
  • Tiempos de cada carga en la consola del navegador.
v3.5.0Motor Clean

+Nuevo

  • 27 scrapers del MultiEmbed Clean Player integrados (StreamWish/HG, VidHide/Earnvids, Filemoon, Voe, Dood, OK.ru, Streamtape, Mixdrop…).
  • Proxy cps.php: Referer y cookies por CDN, lista completa reescrita y renovación del token a mitad del video.
  • Extracción en paralelo con procesos internos; Direct con respaldo por el proxy; MP4 con video nativo.
v3.4Responsive, Smart TV y modos de servidor

+Nuevo

  • Todo el reproductor y el panel se adaptan al celular.
  • Modo de servidores: ambos, solo HLS o solo iframes. Autoplay configurable. Modo TV con control remoto.

✓Arreglos

  • Login con sesiones de PHP en Redis (aaPanel) y con avisos de PHP 8.5.
  • Los HLS por hls_proxy1.php se firman para cada visitante (daba 403 al reutilizar la caché).
v3.3Actualizaciones e instalador

+Nuevo

  • Subir un zip desde el panel con vista previa, respaldo automático y reversión. Instalador en /install y panel en /admin.
v3.2Publicidad y API pública

+Nuevo

  • Editor de VAST, tiempos del preroll y sitios sin anuncios.
  • API pública de HLS con claves, límites y dominios por cliente.
v3.1Extracción HLS rápida

+Nuevo

  • Extracción en paralelo con memoria por enlace: cada embed se extrae una vez y lo comparten todos.
v3.0Panel de control

+Nuevo

  • Panel CMS de la API: servidores, reproductor, caché Redis en 3 capas, precalentado y estadísticas.