PRODUZIONE REST API · v1

Costruire i download con YTSave

Risolvi un URL multimediale pubblico, seleziona un formato esatto, crea un lavoro asincrono e consegna il risultato firmato al tuo utente. La stessa pipeline di produzione vincolata alimenta il sito web YTSave.

YTSaveClientJSON su HTTPSLavori asincroniCredenziali con ambito
01

Quick start

YTSave Segue con un endpoint tenant assegnato e mantiene in vista un percorso di chiamata solo per il server.

URL del tenanthttps://ytsave.app
AutenticazioneX-API-Key: ys_live_…
Profilo del clienteYTSaveClient
Versione dell'APIv1
# 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 spiegare la sicurezza delle credenziali, YTSave separa l'archiviazione segreta lato server dall'incorporamento di nessun bundle client.

02

Risolvere un collegamento

YTSave gestisce l'operazione Resolve identificando prima il rilevamento della fonte, quindi segue con i formati da un URL inviato e non mantiene in vista alcun output inventato.

POST/v1/resolveAmbito di applicazione: risolvere
CampoTipoObbligatorioDescrizione
urlURL HTTPSPagina media pubblica o autorizzata da analizzare.
tenantstringaNo.Dominio tenant assegnato. In genere omesso.
{
  "success": true,
  "platform": "youtube",
  "title": "Example video",
  "formats": [
    {"id":"18","type":"video","quality":"360p","container":"mp4"}
  ],
  "cached": false
}

Per spiegare l'identificatore di formato, YTSave separa il valore restituito invariato dalla disponibilità per collegamento. Un record di evidenza non dà alcuna etichetta di qualità indovinata il proprio posto.

03

Creare e seguire un processo di download

Per la creazione di un Job, YTSave inizia con la preparazione asincrona, la associa a una breve richiesta HTTP e termina con l'esecuzione del worker limitato.

POST/v1/jobsAmbito: posti di lavoro
CampoTipoObbligatorioDescrizione
urlURL HTTPSLa stessa fonte normalizzata è stata inviata per la risoluzione.
format_idstringaUn ID esatto dalla risposta di risoluzione.
tenantstringaNo.Dominio tenant assegnato. In genere omesso.
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"}'
1202 AccettatoSalva job_id.
2Stato del sondaggioGET /v1/jobs/{job_id} con la stessa chiave.
3ProntoAprire l'URL di download firmato.
StatoSignificatoAzione del cliente
queuedAmmesso alla coda limitata.Sondaggio di nuovo con backoff.
extractingAggiornamento dei metadati di origine o della rotta.Continua a sondare.
processingScaricare, remux o unire.Visualizza il progresso del server.
readyIl download firmato è disponibile.Invia l'URL all'utente.
failedErrore strutturato terminale.Leggi error_codeRiprova solo quando ti viene consigliato.
expiredL'uscita temporanea è stata rimossa.Creare un nuovo lavoro.
curl https://ytsave.app/v1/jobs/JOB_ID \
  -H "X-API-Key: $YTSAVE_API_KEY"

YTSave La pagina inizia con un'attesa iniziale di un secondo, passa a un backoff limitato e indica chiaramente la consegna temporanea firmata.

04

Errori prevedibili

Per il contratto Error, YTSave controlla una busta non 2xx prima di un ID di richiesta di supporto.

{
  "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": "…"
}
HTTPSignificato tipicoAzione
400URL, corpo o formato non valido.Correggi la richiesta. Risolvi di nuovo per i formati.
401Chiave mancante, non valida, scaduta o con ambito errato.Verificare le credenziali lato server.
403Criterio di tenant o di origine ha rifiutato la richiesta.Non aggirare la politica. Contattare l'assistenza.
404Offerta di lavoro sconosciuta o scaduta.Creare un nuovo lavoro, se del caso.
429Richiesta o limite di lavori attivi raggiunto.Onore retry_after_seconds.
503Coda/capacità o upstream temporaneamente non disponibile.Riprova con backoff esponenziale e jitter.
05

Contratto operativo

YTSave emette una quota operativa con ogni approvazione per proteggere il consumatore API e i servizi multimediali a monte.

YTSave gestisce l'accesso allo schema identificando prima l'attivazione prima dell'esplorazione, quindi con l'autenticazione assegnata e mantiene in vista le forme di richiesta documentate. Riferimento OpenAPI

ACCESSO REVISO DALL'OPERATORE

Richiedi la tua API key

YTSave verifica se la risoluzione, l'invio del processo o entrambi sono giustificati prima di emettere una chiave visibile una sola volta.

Richiedi l'accesso API Le chiavi sono limitate all'inquilino, revocabili e rilasciate tramite il modulo di contatto. Gli script anonimi non possono eseguire lavori di download.