https://ytsave.appConstrueix descàrregues amb YTSave
Resoleu una URL de mitjans pública, seleccioneu un format exacte, creeu una tasca asíncrona i entregueu el resultat signat al vostre usuari. La mateixa cadena de producció acotada impulsa el lloc web YTSave.
Inici ràpid
YTSave gestiona l'amfitrió de l'API identificant primer les credencials activades per suport. Segueix amb un punt final de l'inquilí assignat i manté visible un camí de trucada només 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"}'Per explicar la seguretat de les credencials, YTSave separa l'emmagatzematge segur al servidor de la incrustació al paquet del client. Un registre de proves no dona un lloc propi als registres públics ni als repositoris.
Resoldre un enllaç
YTSave gestiona l'operació de Resolució identificant primer la detecció de la font. Segueix amb formats d'una URL enviada i no manté sortides inventades a la vista.
/v1/resolveAbast: resoldre| Camp | Tipus | Obligatori | Descripció |
|---|---|---|---|
url | URL HTTPS | Sí | Pàgina de mitjans pública o autoritzada per analitzar. |
tenant | cadena | No | Domini de l'inquilí assignat. Normalment s'omet. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Per explicar l'identificador de format, YTSave separa el valor retornat sense canvis de la disponibilitat per enllaç. Un registre d'evidències no dona a cap etiqueta de qualitat suposada un lloc propi.
Crea i segueix una tasca de descàrrega
Per a la creació de feines, YTSave comença amb una preparació asíncrona. El seu registre d'evidències combina això amb una petició HTTP curta i acaba amb l'execució limitada del treballador.
/v1/jobsAbast: feines| Camp | Tipus | Obligatori | Descripció |
|---|---|---|---|
url | URL HTTPS | Sí | La mateixa font normalitzada enviada per resoldre. |
format_id | cadena | Sí | Una ID exacta de la resposta de resolució. |
tenant | cadena | No | Domini de l'inquilí assignat. Normalment s'omet. |
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} amb la mateixa clau.| Estat | Significat | Acció del client |
|---|---|---|
queued | Admesos a la cua limitada. | Torna a fer la consulta amb retrocés. |
extracting | S'està actualitzant la metadada o la ruta de la font. | Continuar sondejant. |
processing | Descarregant, remultiplexant o fusionant. | Mostra el progrés del servidor. |
ready | La descàrrega signada està disponible. | Envia la URL a l'usuari. |
failed | Error estructurat de terminal. | Llegir error_code. Torna-ho a provar només quan se t'indiqui. |
expired | La sortida temporal s'ha eliminat. | Crea una nova feina. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave facilita l'escanneig de la consulta de feines. La pàgina comença amb una espera inicial d'un segon, passa a un retrocés limitat i indica clarament el lliurament signat temporal.
Errors previsibles
Per al contracte d'Error, YTSave comprova un sobre no 2xx abans d'un ID de sol·licitud de suport. Aquest registre de proves també fa clara la gestió previsible del client.
{
"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 | Significat típic | Acció |
|---|---|---|
| 400 | URL, cos o format no vàlid o no disponible. | Corregeix la sol·licitud. Torna a resoldre per a formats. |
| 401 | Clau faltant, invàlida, caducada o amb abast incorrecte. | Comprova la credencial del servidor. |
| 403 | La política del tenant o de la font ha rebutjat la sol·licitud. | No eludeixis la política. Contacta amb el suport. |
| 404 | Feina desconeguda o caducada. | Creeu una nova tasca si és apropiat. |
| 429 | S'ha assolit el límit de sol·licituds o de treballs actius. | Honor retry_after_seconds. |
| 503 | Cua/capacitat o amunt temporalment no disponible. | Torna-ho a provar amb retrocés exponencial i variació. |
Contracte operatiu
YTSave emet una quota operativa amb cada aprovació per protegir el consumidor de l'API i els serveis de mitjans ascendents.
- Utilitzeu una lògica d'aplicació idempotent i mai no inicieu feines duplicades per al mateix clic d'usuari.
- Emmagatzema en memòria cau les metadades breument, però sempre tracta les URL de descàrrega signades com a caducades.
- Utilitza un retrocés exponencial limitat amb vibració per a
429,503i errors que es poden tornar a intentar. - Processa només mitjans públics o als quals tens autorització d'accés. No es salten DRM ni controls d'accés.
- Mantingueu els identificadors de sol·licitud i els identificadors de feina en registres operatius privats. No registreu URL enviades innecessàriament.
YTSave gestiona l'accés a Schema identificant primer l'activació abans de l'exploració. Després segueix amb l'autenticació assignada i manté en compte els formats de sol·licitud documentats. Referència OpenAPI
Sol·licita la teva clau API
Documenteu el consumidor de l'API, la seva estimació mensual de sol·licituds i els requisits de plataforma compatibles. YTSave revisa si estan justificats la resolució, l'enviament de tasques o tots dos abans d'emetre una clau visible una sola vegada.
Sol·licita accés a l'API Les claus estan limitades al tenant, són revocables i s'emetin a través del formulari de contacte. Els scripts anònims no poden executar tasques de descarregador.