https://savetk.appDownloads mit SaveTK erstellen
SaveTK zeigt einen API-Plan für die Integration von Creator-Tools an, akzeptiert jedoch keine nicht authentifizierte Ausführung. Die Genehmigung liefert sowohl den Schlüssel als auch seine Betriebsgrenzen.
Schnellstart
SaveTK stellt drei praktische Punkte für API-Host vor. Zuerst kommen unterstützungsaktivierte Anmeldeinformationen. Der Speicher-Workflow deckt dann einen zugewiesenen Mandanten-Endpunkt ab. Sein letzter Punkt ist ein nur serverseitiger Aufrufpfad.
X-API-Key: pending_activation_…SaveTkCreatorv1# Available only after support activation
export SAVETK_CREATOR_KEY="issued-after-review"
curl -X POST https://savetk.app/v1/resolve \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID"}'SaveTK Die Seite beginnt mit der serverseitigen geheimen Speicherung, geht dann zu keiner Einbettung von Client-Bundles über und gibt klar an, dass keine öffentlichen Protokolle oder Repositories vorhanden sind.
Auflösen eines Links
SaveTK stellt drei praktische Punkte für die Resolve-Bedienung vor. Zuerst kommt die Quellenerkennung, dann deckt der Speicher-Workflow Formate von einer übergebenen URL ab und schließlich gibt es keine erfundenen Ausgaben.
/v1/resolveGeltungsbereich: resolve| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
creator_link | HTTPS-URL | Ja | Öffentliche oder autorisierte Medienseite zu analysieren. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}SaveTK Die Seite beginnt mit dem Rückgabewert unverändert, wechselt zur Verfügbarkeit pro Link und gibt klar an, dass es kein erratene Qualitätslabel gibt.
Download-Auftrag erstellen und verfolgen
Die Auftragserstellung beginnt mit der asynchronen Vorbereitung auf SaveTK. Dieser sparsame Workflow stellt dann eine kurze HTTP-Anfrage dar.
/v1/jobsGeltungsbereich: Jobs| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
creator_link | HTTPS-URL | Ja | Die gleiche normalisierte Quelle, die zur Auflösung eingereicht wurde. |
save_option | Zeichenfolge | Ja | Eine genaue ID aus der Auflösungsantwort. |
tenant | Zeichenfolge | Nein | Zugewiesene Mandantendomäne. Normalerweise weggelassen. |
curl -X POST https://savetk.app/v1/jobs \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID","save_option":"18"}'save_task.GET /v1/jobs/{save_task} mit dem gleichen Schlüssel.| Status | Bedeutung | Client-Action |
|---|---|---|
queued | In die begrenzte Warteschlange aufgenommen. | Abstimmung nochmal mit Rückzug. |
extracting | Aktualisierung von Quellmetadaten oder Route. | Fahren Sie mit dem Abstimmen fort. |
processing | Herunterladen, Remuxen oder Zusammenführen. | Serverfortschritt anzeigen. |
ready | Signierter Download ist verfügbar. | Senden Sie die URL an den Benutzer. |
failed | Terminal strukturierter Fehler. | Read error_code. Wiederholen Sie den Versuch nur, wenn empfohlen. |
expired | Temporäre Ausgabe wurde entfernt. | Erstellen Sie einen neuen Job. |
curl https://savetk.app/v1/jobs/SAVE_TASK \
-H "X-API-Key: $SAVETK_CREATOR_KEY"SaveTK behandelt das Job-Polling, indem zunächst eine anfängliche Wartezeit von einer Sekunde ermittelt wird. Es folgt ein begrenzter Rücklauf und die temporäre signierte Zustellung wird beibehalten.
Vorhersehbare Fehler
Der Fehlervertrag beginnt mit einem Nicht-2xx-Umschlag auf SaveTK. Die Seite hält vorhersehbare Client-Handhabung sichtbar.
{
"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 Bedeutung | Action |
|---|---|---|
| 400 | Ungültige URL, ungültiger Text oder unzugängliches Format. | Korrigieren Sie die Anfrage. Lösen Sie erneut für Formate auf. |
| 401 | Fehlender, ungültiger, abgelaufener oder falscher Schlüsselbereich. | Überprüfen Sie die serverseitigen Anmeldeinformationen. |
| 403 | Die Anforderung wurde von der Mandanten- oder Quellenrichtlinie abgelehnt. | Umgehen Sie die Richtlinie nicht. Wenden Sie sich an den Support. |
| 404 | Unbekannter oder abgelaufener Job. | Erstellen Sie ggf. einen neuen Auftrag. |
| 429 | Anfrage- oder Aktiv-Job-Limit erreicht. | Honor retry_after_seconds. |
| 503 | Warteschlange/Kapazität oder Upstream vorübergehend nicht verfügbar. | Wiederholen Sie den Versuch mit exponentiellem Rückschlag und Jitter. |
Betriebsvertrag
SaveTK legt Ersteller-Workflow-Zuweisungen fest, nachdem der erwartete Datenverkehr und die Posting-Plattformen im Bereich untersucht wurden.
- Verwenden Sie idempotente Anwendungslogik und starten Sie niemals doppelte Aufträge für denselben Benutzerklick.
- Speichern Sie Auflösungsmetadaten nur kurz zwischen und behandeln Sie signierte Download-URLs stets als ablaufend.
- Verwenden Sie begrenzte exponentielle Rückkopplung mit Jitter für
429,503und wiederholbare Fehler. - Verarbeiten Sie nur öffentliche Medien oder Medien, auf die Sie zugreifen dürfen, und umgehen Sie keine DRM- und Zugriffskontrollen.
- Bewahren Sie Anforderungs-IDs und Auftrags-IDs in privaten Betriebsprotokollen auf und protokollieren Sie übermittelte URLs nicht unnötig.
SaveTK stellt drei praktische Punkte für den Schema-Zugriff vor. Zuerst kommt die Aktivierung vor der Exploration, dann deckt der Speicher-Workflow die zugewiesene Authentifizierung ab und schließlich werden Anforderungsformen dokumentiert.
Aktivieren durch Unterstützung
Geben Sie an, was der SaveTK-Client macht, wie viele Aufrufe er erwartet und welche Posting-Dienste er auswählt und gibt dann eine nicht wiederherstellbare Anmeldeinformation zurück, die einmal angezeigt wird.
Aktivierung anfordern Schlüssel sind mandantenspezifisch, widerrufbar und werden über das Kontaktformular ausgestellt. Anonyme Skripte können keine Downloader-Arbeit ausführen.