https://ytsave.appCompile las descargas con YTSave
Resuelva una URL de medios pública, seleccione un formato exacto, cree un trabajo asincrónico y entregue el resultado firmado a su usuario. La misma canalización de producción limitada impulsa el sitio web de YTSave.
Inicio rápido
YTSave Sigue con un punto final de inquilino asignado y mantiene una ruta de llamada solo del servidor a la vista.
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"}'Para explicar la seguridad de las credenciales, YTSave separa el almacenamiento secreto del lado del servidor de la incrustación de paquetes de clientes. Un registro de evidencia no da registros públicos ni repositorios su propio lugar.
Resolver un enlace
YTSave maneja la operación Resolve identificando primero la detección de origen, luego sigue con los formatos de una URL enviada y no mantiene ninguna salida inventada a la vista.
/v1/resolveAlcance: resolver| sobre el terreno | Tipo de | Necesarios | Descripción de la actividad |
|---|---|---|---|
url | URL HTTPS | Sí | Página de medios pública o autorizada a analizar. |
tenant | cadena | No | Dominio de inquilino asignado. Por lo general, se omite. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Para explicar el identificador de formato, YTSave separa el valor devuelto sin cambios de la disponibilidad por enlace. Un registro de evidencia no da ninguna etiqueta de calidad adivinada su propio lugar.
Crear y seguir un trabajo de descarga
Para la creación de trabajos, YTSave comienza con la preparación asíncrona, su registro de evidencia empareja con una solicitud HTTP corta y termina con la ejecución de trabajador limitado.
/v1/jobsAlcance: empleos| sobre el terreno | Tipo de | Necesarios | Descripción de la actividad |
|---|---|---|---|
url | URL HTTPS | Sí | La misma fuente normalizada sometida a resolver. |
format_id | cadena | Sí | Un ID exacto de la respuesta de resolución. |
tenant | cadena | No | Dominio de inquilino asignado. Por lo general, se 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} con la misma clave.| Situación actual | Significado | Acción del cliente |
|---|---|---|
queued | Admitido en la cola acotada. | Encuesta de nuevo con retroceso. |
extracting | Actualización de metadatos de origen o ruta. | Continúa encuestando. |
processing | Descargar, remuxar o fusionar. | Mostrar el progreso del servidor. |
ready | Descarga firmada está disponible. | Envía la URL al usuario. |
failed | Error estructurado de terminal. | Leer error_codeVuelva a intentarlo solo cuando se le indique. |
expired | Se eliminó la salida temporal. | Crea un nuevo trabajo. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave La página comienza con una espera inicial de un segundo, pasa a un tiempo de espera limitado y indica claramente la entrega temporal firmada.
Errores predecibles
Para el contrato de error, YTSave comprueba un sobre no 2xx antes de un ID de solicitud de soporte. Este registro de evidencia también hace que el manejo predecible del cliente sea claro.
{
"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 | Significado típico | Medidas |
|---|---|---|
| 400 | URL, cuerpo o formato no disponible no válido. | Corrija la solicitud. Vuelva a resolver los formatos. |
| 401 | Falta clave, no válida, caducada o con alcance incorrecto. | Compruebe la credencial del lado del servidor. |
| 403 | La directiva de inquilino o de origen rechazó la solicitud. | No elude la política. Contacte con el soporte. |
| 404 | Trabajo desconocido o caducado. | Cree un nuevo trabajo si es apropiado. |
| 429 | Se alcanzó el límite de solicitudes o trabajos activos. | Honor retry_after_seconds. |
| 503 | Cola/capacidad o upstream temporalmente no disponible. | Vuelva a intentarlo con retroceso exponencial y fluctuación. |
Contrato de explotación
YTSave emite una cuota operativa con cada aprobación para proteger el consumidor de API y los servicios de medios de flujo ascendente.
- Utilice la lógica de aplicación idempotente y nunca inicie trabajos duplicados para el mismo clic del usuario.
- La caché resuelve los metadatos brevemente, pero siempre trata las URL de descarga firmadas como si expiraran.
- Usar retroceso exponencial acotado con jitter para
429,503y errores reintentables. - Procesa solo medios públicos o medios a los que estás autorizado a acceder, sin omitir los controles de acceso ni DRM.
- Mantenga los ID de solicitud y los ID de trabajo en registros operativos privados. No registre las URL enviadas innecesariamente.
YTSave maneja el acceso al esquema identificando primero la activación antes de la exploración, sigue con la autenticación asignada y mantiene a la vista las formas de solicitud documentadas. Referencia de OpenAPI
Solicita tu clave API
Documenta el consumidor de API, su estimación de solicitud mensual y los requisitos de plataforma compatibles.YTSave revisa si la resolución, el envío de trabajo o ambos están justificados antes de emitir una clave visible una sola vez.
Solicitar acceso a la API Las claves están limitadas al ámbito del inquilino, son revocables y se emiten a través del formulario de contacto.