https://ytsave.appSkapa nedladdningar med YTSave
Lös en offentlig medie-URL, välj ett exakt format, skapa ett asynkront jobb och överlämna det signerade resultatet till din användare. Samma bundna produktionspipeline driver YTSave-webbplatsen.
Snabbstart för Windows
YTSave hanterar API-värd genom att först identifiera stödaktiverade autentiseringsuppgifter. Den följer med en tilldelad hyresgästandpunkt och håller en serverendast samtalsväg synlig.
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"}'För att förklara Säkerhet för autentiseringsuppgifter separerar YTSave server-sidig hemlig lagring från ingen klientpaket-inbäddning. En bevispost ger inga offentliga loggar eller arkiv en egen plats.
Lösa en länk
YTSave hanterar Resolve-operationen genom att först identifiera källupptäckt. Den följer med format från en inskickad URL och behåller inga påhittade utdata i vyn.
/v1/resolveOmfattning: lösa| Fält | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
url | HTTPS- URL | Ja | Offentlig eller auktoriserad mediesida att analysera. |
tenant | sträng | Nej | Tilldelad hyresgästdomän. Vanligtvis utelämnad. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}För att förklara Formatidentifierare separerar YTSave det returnerade värdet oförändrat från tillgänglighet per länk. En bevispost ger ingen gissad kvalitetsmärkning en egen plats.
Skapa och följ ett nedladdningsjobb
För jobbskapande börjar YTSave med asynkron förberedelse. Dess bevispost parar ihop det med en kort HTTP-förfrågan och avslutas med begränsad arbetarexekvering.
/v1/jobsOmfattning: jobb| Fält | Typ | Obligatoriskt | Beskrivning |
|---|---|---|---|
url | HTTPS- URL | Ja | Samma normaliserade källa skickades in för att lösa. |
format_id | sträng | Ja | Ett exakt ID från lösningssvaret. |
tenant | sträng | Nej | Tilldelad hyresgästdomän. Vanligtvis utelämnad. |
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} med samma nyckel.| Status | Betydelse | Klientåtgärd |
|---|---|---|
queued | Antagen till den begränsade kön. | Rösta igen med fördröjning. |
extracting | Uppdaterar källmetadata eller rutt. | Fortsätt med omröstningen. |
processing | Laddar ner, remuxar eller slår ihop. | Visa serverns framsteg. |
ready | Signerad nedladdning är tillgänglig. | Skicka URL:en till användaren. |
failed | Terminal strukturerat fel. | Läs error_code. Försök igen endast när det rekommenderas. |
expired | Tillfällig utdata togs bort. | Skapa ett nytt jobb. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave gör Job polling lätt att skanna. Sidan börjar med en initial väntan på en sekund, går över till begränsad backoff och anger tydligt tillfällig signerad leverans.
Förutsägbara fel
För Error-kontrakt kontrollerar YTSave ett icke-2xx-kuvert före ett ID för supportbegäran. Denna bevispost gör också förutsägbar klienthantering tydlig.
{
"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 | Typisk betydelse | Åtgärd |
|---|---|---|
| 400 | Ogiltig URL, innehåll eller otillgängligt format. | Korrigera förfrågan. Lös igen för format. |
| 401 | Saknad, ogiltig, utgången eller felaktig nyckel med fel behörighet. | Kontrollera serverns autentiseringsuppgifter. |
| 403 | Hyresgäst- eller källpolicy avvisade förfrågan. | Bryt inte mot policyn. Kontakta support. |
| 404 | Okänt eller utgånget jobb. | Skapa ett nytt jobb om det är lämpligt. |
| 429 | Begäran eller aktivt jobbgräns uppnådd. | Heder retry_after_seconds. |
| 503 | Kö/kapacitet eller upstream tillfälligt otillgänglig. | Försök igen med exponentiell backoff och jitter. |
Driftkontrakt
YTSave utfärdar en driftskvot med varje godkännande för att skydda API-konsumenten och uppströms medietjänster.
- Använd idempotent programlogik och starta aldrig dubbla jobb för samma användarklick.
- Cache lösa metadata kort, men alltid behandla signerade nedladdning webbadresser som löper ut.
- Använd begränsad exponentiell backoff med jitter för
429,503och omförsökbara fel. - Bearbeta endast offentliga medier eller medier som du har behörighet att komma åt. DRM och åtkomstkontroller kringgås inte.
- Spara begäran-ID och jobb-ID i privata driftloggar. Logga inte inskickade webbadresser i onödan.
YTSave hanterar Schemaåtkomst genom att först identifiera aktivering innan utforskning. Den följer med tilldelad autentisering och håller dokumenterade förfrågningsformat i sikte. Referens för OpenAPI
Begär din API-nyckel
Dokumentera API-konsumenten, dess uppskattade månatliga förfrågningar och stödda plattformsbehov. YTSave granskar om upplösning, jobbinsändning eller båda är motiverade innan en en gång synlig nyckel utfärdas.
Begär API-åtkomst Nycklar är klientomfattande, återkalleliga och utfärdas via Kontaktformuläret. Anonyma skript kan inte utföra hämtningsarbete.