https://ytsave.appConstruye descargas con YTSave
Resolver una URL de medios públicos, seleccionar un formatu exactu, crear un trabayu asíncronu y entregar el resulta firmáu al to usuariu. La mesma canalización de producción acotada alimenta la web YTSave.
Inicio rápido
YTSave xestiona l'API host identificando primero credenciales activáes por sofitu. Sigúese con un endpoint asignáu a un inquilín y mantién visible un camín de llamada solo de servidor.
X-API-Key: ys_live_…YTSaveClientv1# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"
curl -X POST https://ytsave.app/v1/resolve \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'Pa esplicar la seguridá de les credenciales, YTSave separa l'almacenamientu secretu nel llau del servidor de la non inclusión de paquetes nel cliente. Un rexistru d'evidencies nun da nengún llugar a rexistros públicos o repositorios.
Resolver un enllaz
YTSave xestiona la operación Resolver identificando primero la detección de la fuente. Sigúi con formatos d'una URL enviada y nun mantién salíes inventaes a la vista.
/v1/resolveÁmbitu: resolver| Campu | Tipu | Requeríu | Descripción |
|---|---|---|---|
url | URL HTTPS | Sí | Páxina pública o autorizada de medios pa analizar. |
tenant | cadena | Non | Dominiu d'inquilín asignáu. Normalmente s'omite. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pa esplicar l'identificador de formatu, YTSave separa el valor retornáu ensin camudar de la disponibilidad por enllaz. Un rexistru d'evidencia nun da al so llugar una etiqueta de calidá supuesta.
Crear y siguir un trabayu de descarga
Pa la creación de trabayu, YTSave empieza con preparación asíncrona. El so rexistru d'evidencies combina eso con una petición HTTP corta y acaba con l'execución delimitada del trabayador.
/v1/jobsÁmbitu: emplegos| Campu | Tipu | Requeríu | Descripción |
|---|---|---|---|
url | URL HTTPS | Sí | La mesma fuente normalizada presentada pa resolver. |
format_id | cadena | Sí | Un ID exactu de la respuesta de resolución. |
tenant | cadena | Non | Dominiu d'inquilín asignáu. Normalmente s'omite. |
curl -X POST https://ytsave.app/v1/jobs \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'job_id.GET /v1/jobs/{job_id} col con la mesma clave.| Estáu | Significáu | Acción del cliente |
|---|---|---|
queued | Admitíu na cola limitada. | Votar de nuevu con retroceso. |
extracting | Refrescando metadatos de la fuente o ruta. | Continuar la consulta. |
processing | Descargando, remuxeando o uniendo. | Amosar el progresu del servidor. |
ready | La descarga firmada ta disponible. | Envia la URL al usuariu. |
failed | Error estructuráu terminal. | Lleer error_code. Reintentar namái cuando se aconseye. |
expired | La salida temporal foi eliminada. | Crear un nuevu trabayu. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave fai que la consulta de trabayos seya fácil de escanear. La páxina empieza con una espera inicial d'un segundu, pasa a un retroceso con tope y declara claramente la entrega temporal firmada.
Erros previsible
Pa l'Error contract, YTSave revisa un sobre non 2xx antes d'un ID de solicitude de sofitu. Esta grabación de evidencies tamién aclara el maneiru previsible del cliente.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Significáu típicu | Acción |
|---|---|---|
| 400 | URL inválida, cuerpu o formatu indisponible. | Corrige la solicitud. Resuelve de nuevu pa formatos. |
| 401 | Clau ausente, inválida, caducada o con un ámbitu incorreutu. | Verifica la credencial del llau del servidor. |
| 403 | La póliza del inquilinu o fuente rechazó la solicitud. | Nun saltar la política. Contacta col soporte. |
| 404 | Trabayu desconocíu o caducáu. | Crear un nuevu trabayu si ye apropiáu. |
| 429 | Límite de solicitudes o trabajos activos alcontráu. | Honra retry_after_seconds. |
| 503 | Cola/capacidá o upstream temporalmente indisponible. | Reintentar con retroceso exponencial y jitter. |
Contratu operacional
YTSave emite una cuota operativa con cada aprobación pa protexer al consumidor de la API y a los servicios de medios ascendentes.
- Usa lloxica d'aplicación idempotente y nun inicies xamás procesos duplicados pa la mesma selección d'usuariu.
- Cache resuelve metadatos de mou breve, pero siempres trata los URL de descarga firmados como que caducan.
- Usa un retroceso exponencial delimitáu con jitter pa
429,503y errores que se pueden reintentar. - Procesar namái medios públicos o medios a los que tienes autorización d'acceder. Los controles DRM y d'accesu nun se saltan.
- Guarda los IDs de solicitude y los IDs de trabayu nos llogueros operativos privaus. Nun rexistries URLs envíaes innecesariamente.
YTSave xestiona l'accesu a l'Esquema identificando primero la activación antes de la exploración. Siguirá con la autenticación asignada y mantendrá visibles les formes de solicitude documentaes. Referencia OpenAPI
Solicita la to clave API
Documenta'l consumidor de la API, la so estimación mensual de demandes y los requisitos de plataforma soportaos. YTSave revisa si resolver, enviar el trabayu o ambos tán xustificaos antes d'emetir una clave visible una vegada.
Solicitar acceso API Les claves tán acotades al inquilinu, son revocables y s'emetin a traviés del formulariu de Contacto. Los scripts anónimos nun pueden ejecutar trabayos de descargador.