PRODUCȚIE REST API · v1

Construiți descărcări cu YTSave

Rezolvă un URL media public, selectează un format exact, creează o sarcină asincronă și predă utilizatorului tău rezultatul semnat. Același flux de producție delimitat alimentează site-ul YTSave.

YTSaveClientJSON prin HTTPSLocuri de muncă asincroneAcreditări cu domeniu
01

Start rapid

YTSave se ocupă de gazda API identificând mai întâi acreditările activate de suport. Urmează cu un punct final de chiriaș atribuit și păstrează o cale de apel numai pentru server în vedere.

URL- ul entității găzduitehttps://ytsave.app
AutentificareX-API-Key: ys_live_…
Profilul de clientYTSaveClient
Versiune 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"}'

Pentru a explica securitatea acreditărilor, YTSave separă stocarea secretelor pe server de lipsa încorporării în pachetul client. Un registru de dovezi nu acordă jurnalelor publice sau depozitelor proprii un loc propriu.

02

Rezolvarea unui link

YTSave se ocupă de operația Rezolvare prin identificarea mai întâi a sursei de detectare. Urmează cu formate de la o adresă URL trimisă și nu păstrează ieșiri inventate în vedere.

POST/v1/resolveScop: rezolva
CâmpTipObligatoriuDescrierea
urlURL HTTPSDa.Pagina media publică sau autorizată pentru a analiza.
tenantșirNu.Domeniul entității găzduite atribuite. De obicei omis.
{
  "success": true,
  "platform": "youtube",
  "title": "Example video",
  "formats": [
    {"id":"18","type":"video","quality":"360p","container":"mp4"}
  ],
  "cached": false
}

Pentru a explica Format identificator, YTSave separă valoarea returnată neschimbată de disponibilitatea per-link. O înregistrare de dovezi nu oferă nicio etichetă de calitate ghicită propriul său loc.

03

Crearea și urmărirea unei lucrări de descărcare

Pentru crearea de job-uri, YTSave începe cu pregătirea asincronă, o asociază cu o solicitare HTTP scurtă și se termină cu execuția de lucru limitată.

POST/v1/jobsDomeniul de aplicare: locuri de muncă
CâmpTipObligatoriuDescrierea
urlURL HTTPSDa.Aceeași sursă normalizată prezentată pentru a rezolva.
format_idșirDa.Un ID exact din răspunsul de rezolvare.
tenantșirNu.Domeniul entității găzduite atribuite. De obicei omis.
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 AcceptatSalvează job_id.
2Starea sondajuluiGET /v1/jobs/{job_id} cu aceeași cheie.
3Gata.Deschideți URL-ul de descărcare semnat.
StareaSemnificațieAcțiune de client
queuedAdmis în coada limitată.Sondaj din nou cu backoff.
extractingReîmprospătarea metadatelor sursă sau a rutei.Continuă să votezi.
processingDescărcarea, remixarea sau îmbinarea.Afișați progresul serverului.
readyDescărcarea semnată este disponibilă.Trimiteți URL-ul utilizatorului.
failedEroare structurată terminală.Citiți error_code. Reîncercaţi numai atunci când este recomandat.
expiredIeșirea temporară a fost eliminată.Creați un loc de muncă nou.
curl https://ytsave.app/v1/jobs/JOB_ID \
  -H "X-API-Key: $YTSAVE_API_KEY"

YTSave Pagina începe cu o așteptare inițială de o secundă, se mută la backoff-ul plafonat și precizează în mod clar livrarea temporară semnată.

04

Erori previzibile

Pentru contractul de eroare, YTSave verifică un plic non-2xx înainte de un ID de solicitare de asistență. Această înregistrare de dovezi face, de asemenea, manipularea previzibilă a clienților clară.

{
  "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": "…"
}
HTTPSemnificație tipicăAcțiune
400URL nevalid, corp sau format indisponibil.Corectați solicitarea. Rezolvați din nou pentru formate.
401Cheie lipsă, nevalidă, expirată sau cu domeniu incorect.Verificați acreditările de pe partea serverului.
403Politica chiriașului sau a sursei a respins solicitarea.Nu ocoliți politica. Contactați asistența.
404Loc de muncă necunoscut sau expirat.Creați un nou loc de muncă, dacă este cazul.
429A fost atinsă limita de solicitări sau de lucrări active.Onoare. retry_after_seconds.
503Coada/capacitatea sau sursa din amonte sunt temporar indisponibile.Reîncercați cu backoff exponențial și jitter.
05

Contract de exploatare

YTSave emite o cotă operațională la fiecare aprobare pentru a proteja consumatorul API și serviciile media din amonte.

YTSave se ocupă de accesul la Schema prin identificarea mai întâi a activării înainte de explorare. Urmează cu autentificarea atribuită și păstrează formele de solicitare documentate în vedere. Referință pentru OpenAPI

ACCES REVIZUIT DE OPERATOR

Solicitați cheia dvs. API

Documentează consumatorul API, estimarea sa lunară de solicitări și cerințele platformei acceptate. YTSave analizează dacă rezolvarea, trimiterea de joburi sau ambele sunt justificate înainte de a emite o cheie vizibilă o singură dată.

Solicitați acces API Cheile sunt limitate la nivel de chiriaș, pot fi revocate și sunt emise prin formularul de contact. Scripturile anonime nu pot executa sarcini de descărcare.