https://ytsave.appBouw downloads met YTSave
Los een openbare media-URL op, selecteer een exact formaat, maak een asynchrone taak aan en geef het ondertekende resultaat aan uw gebruiker. Dezelfde gebonden productiepijplijn voedt de YTSave-website.
Snel aan de slag
YTSave behandelt API-host door eerst door ondersteuning geactiveerde referenties te identificeren. Het volgt met een toegewezen tenant-eindpunt en houdt een aanroeppad alleen voor de server in beeld.
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"}'Om Credential veiligheid uit te leggen, scheidt YTSave serverzijde geheime opslag van geen client-bundel insluiting. Een bewijsrecord geeft geen openbare logs of repositories een eigen plaats.
Een koppeling oplossen
YTSave verwerkt de Resolve-operatie door eerst de bronherkenning te identificeren. Het volgt met formaten van één ingediende URL en houdt geen verzonnen uitvoer in zicht.
/v1/resolveToepassingsgebied: oplossen| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
url | HTTPS-URL | Ja. | Openbare of geautoriseerde mediapagina om te analyseren. |
tenant | tekenreeks | Nee. | Toegewezen tenantdomein. Meestal weggelaten. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Om Formaatidentificator uit te leggen, scheidt YTSave de geretourneerde waarde ongewijzigd van beschikbaarheid per link. Een bewijsrecord geeft geen geraden kwaliteitslabel een eigen plaats.
Maak en volg een downloadtaak
Voor het aanmaken van een Job begint YTSave met asynchrone voorbereiding. Het bewijsrecord koppelt dit aan een korte HTTP-aanvraag en eindigt met begrensde uitvoering door een worker.
/v1/jobsScope: vacatures| Veld | Type | Vereist | Beschrijving |
|---|---|---|---|
url | HTTPS-URL | Ja. | Dezelfde genormaliseerde bron ingediend om op te lossen. |
format_id | tekenreeks | Ja. | Een exacte ID uit de resolve-respons. |
tenant | tekenreeks | Nee. | Toegewezen tenantdomein. Meestal weggelaten. |
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} met dezelfde sleutel.| Status | Betekenis | Actie van de klant |
|---|---|---|
queued | Toegestaan in de beperkte wachtrij. | Poll weer met achteruit. |
extracting | Bronmetadata of route vernieuwen. | Ga door met pollen. |
processing | Bezig met downloaden, remuxen of samenvoegen. | Toon server voortgang. |
ready | Ondertekende download is beschikbaar. | Stuur de URL naar de gebruiker. |
failed | Terminal gestructureerde fout. | Lees error_codeProbeer het alleen opnieuw als dat wordt geadviseerd. |
expired | Tijdelijke uitvoer werd verwijderd. | Maak een nieuwe taak aan. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave maakt Job polling gemakkelijk scanbaar. De pagina begint met een initiële wachttijd van één seconde, gaat over naar begrensde backoff en vermeldt duidelijk tijdelijke ondertekende levering.
Voorspelbare fouten
Voor Error contract controleert YTSave één niet-2xx envelop vóór een supportverzoek-ID. Dit bewijsrecord maakt ook voorspelbare clientafhandeling duidelijk.
{
"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 | Typische betekenis | Actie |
|---|---|---|
| 400 | Ongeldige URL, body of niet beschikbare indeling. | Corrigeer de aanvraag. Los opnieuw op voor formaten. |
| 401 | Ontbrekende, ongeldige, verlopen of verkeerd bereik sleutel. | Controleer de serverzijde referentie. |
| 403 | Tenant of bronbeleid heeft de aanvraag afgewezen. | Omzeil het beleid niet. Neem contact op met de ondersteuning. |
| 404 | Onbekende of verlopen vacature. | Maak indien nodig een nieuwe taak aan. |
| 429 | Aanvraag- of actieve-taaklimiet bereikt. | Eer retry_after_seconds. |
| 503 | Wachtrij/capaciteit of upstream tijdelijk niet beschikbaar. | Probeer het opnieuw met exponentiële backoff en jitter. |
Operationeel contract
YTSave geeft bij elke goedkeuring een operationele quotum uit om de API-gebruiker en upstream mediaservices te beschermen.
- Gebruik idempotente toepassingslogica en start nooit dubbele taken voor dezelfde gebruikersklik.
- Cache lost metadata kort op, maar behandelt ondertekende download-URL's altijd als verlopen.
- Gebruik begrensde exponentiële backoff met jitter voor
429,503en herprobeerbare fouten. - Verwerk alleen openbare media of media waarvoor u toegangsrechten hebt, en vermijd het omzeilen van DRM en toegangscontrole.
- Bewaar verzoek-ID's en taak-ID's in privé-operationele logboeken. Log niet onnodig verzonden URL's.
YTSave beheert Schema-toegang door eerst activatie te identificeren voordat het verkent. Het volgt met toegewezen authenticatie en houdt gedocumenteerde aanvraagvormen in zicht. OpenAPI-referentie
Vraag uw API-sleutel aan
Documenteer de API-consument, de geschatte maandelijkse verzoeken en ondersteunde platformvereisten. YTSave beoordeelt of oplossen, taakindiening of beide gerechtvaardigd zijn voordat een eenmaal zichtbare sleutel wordt uitgegeven.
API-toegang aanvragen Sleutels zijn tenant-gebonden, intrekbaar en worden uitgegeven via het contactformulier. Anonieme scripts kunnen geen downloadprogramma-taken uitvoeren.