https://ytsave.appCustruisce scaricamenti cù YTSave
Risolve un URL media publicu, selezziunate un furmatu esattu, create un travagliu asincronu è consegnate u risultatu firmatu à u vostru utilizatore. A stessa catena di pruduzzione limitata alimenta u situ web YTSave.
Partenza rapida
YTSave gestisce l'API host identificendu prima e credenziali attivate da supportu. Segue cù un endpoint di tenant assignatu è mantene in vista un percorsu di chjama solu per u servitore.
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 spiegà a sicurità di e Credenziali, YTSave separa u almacenamentu sicretu da u latu di u servitore senza incorporà pacchetti client. Un registru di prova ùn dà micca à i registri publichi o repositori un locu propiu.
Risolve un ligame
YTSave gestisce l'operazione di Risoluzione identificendu prima a rilevazione di a fonte. Segue cù formati da un URL inviatu è ùn mantene nisun output inventatu in vista.
/v1/resolveAmbitu: risolve| Campu | Tipu | Necessariu | Descrizzione |
|---|---|---|---|
url | URL HTTPS | Iè | Pagina media publica o autorizata da analizà. |
tenant | stringa | Innò | Duminiu di u tenente assignatu. Di solitu omessu. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Per spiegà l'identificatore di Formatu, YTSave separa u valore riturnatu senza cambià da a dispunibilità per ligame. Un registru di prova ùn dà micca à una etichetta di qualità supposta un locu propiu.
Create è seguite un travagliu di scaricamentu
Per a creazione di u travagliu, YTSave principia cù a preparazione asincrona. U so registru di prova accoppia quessa cun una breve richiesta HTTP è finisce cù l'esecuzione limitata di u travagliadore.
/v1/jobsAmbitu: impieghi| Campu | Tipu | Necessariu | Descrizzione |
|---|---|---|---|
url | URL HTTPS | Iè | A stessa surghjente normalizata mandata per risolve. |
format_id | stringa | Iè | Un ID esattu da a risposta di risoluzione. |
tenant | stringa | Innò | Duminiu di u tenente assignatu. Di solitu omessu. |
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} cù a listessa chjave.| Statu | Significatu | Azzione di u cliente |
|---|---|---|
queued | Amessu à a coda limitata. | Vota torna cù ritardu. |
extracting | Rinfrescendu i metadati di a surghjente o a rotta. | Cuntinuà a rilevazione. |
processing | Scaricendu, remuxendu o unendu. | Mostra u prugressu di u servitore. |
ready | U scaricamentu firmatu hè dispunibule. | Mandate l'URL à l'utilizatore. |
failed | Errore strutturatu terminale. | Leghje error_code. Riprova solu quandu cunsigliatu. |
expired | U risultatu temporaneu hè statu rimossu. | Crea un novu travagliu. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave rende faciule a scansione di u polling di u travagliu. A pagina principia cù una attesa iniziale di un secondu, passa à un ritornu limitatu, è dichjara chjaramente a consegna firmata temporanea.
Errori prevedibili
Per u cuntrattu d'Errore, YTSave verifica un invulu micca 2xx prima di un ID di richiesta di supportu. Stu registru di prova face ancu chjaru u trattamentu prevedibile di u 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 | Significatu tipicu | Azzione |
|---|---|---|
| 400 | URL invalidu, corpu o furmatu micca dispunibule. | Curregge a dumanda. Risolva torna per i furmati. |
| 401 | Chjave mancanti, invalida, scaduta o cù un scopu sbagliatu. | Verificate e credenziali da parte di u servitore. |
| 403 | A pulitica di u tenant o di a surghjente hà rifiutatu a dumanda. | Ùn saltà a pulitica. Cuntattate u supportu. |
| 404 | Travagliu scunnisciutu o scadutu. | Crea un novu travagliu se hè apprupriatu. |
| 429 | Limitu di dumanda o di travagliu attivu ghjunghjitu. | Onore retry_after_seconds. |
| 503 | Coda/capacità o flussu in salita temporaneamente micca dispunibule. | Riprova cù ritardu esponenziale è jitter. |
Cuntrattu operativu
YTSave emette una quota operativa cù ogni approvazione per pruteggiri u cunsumadore API è i servizii media upstream.
- Adopra una logica d'applicazione idempotente è ùn inizià mai travaglii duplicati per u listessu clic di l'utilizatore.
- Cache risolve i metadati brevemente, ma trattate sempre l'URL di scaricamentu firmati cum'è chì scadenu.
- Usa un ritornu esponenziale limitatu cù jitter per
429,503è errori chì ponu esse ripruvati. - Processate solu media publichi o media chì site autorizatu à accede. DRM è cuntrolli d'accessu ùn sò micca bypassati.
- Mantene l'ID di e richieste è l'ID di i travaglii in i registri operativi privati. Ùn registrate micca URL inviati senza necessità.
YTSave gestisce l'accessu à u Schema identificendu prima l'attivazione prima di l'esplorazione. Segue cù l'autenticazione assignata è mantene in vista e forme di richiesta documentate. Riferimentu OpenAPI
Dumandate a vostra chjave API
Documentate u cunsumadore API, a so stima mensile di richieste è i requisiti di piattaforma supportati. YTSave verifica se a risoluzione, a sottomissione di u travagliu o ambedue sò ghjustificati prima di emette una chjave visibile una volta.
Dumandà accessu API I chjavi sò limitati à u tenant, revocabili è emessi attraversu u furmulariu di cuntattu. I script anonimi ùn ponu micca eseguisce u travagliu di scaricamentu.