https://ytsave.appZbuduj pobieranie z YTSave
Rozwiąż publiczny URL mediów, wybierz dokładny format, utwórz asynchroniczne zadanie i przekaż podpisany wynik swojemu użytkownikowi. Ta sama powiązana linia produkcyjna zasila stronę YTSave.
Szybki start
YTSave obsługuje hosta API, najpierw identyfikując poświadczenia aktywowane przez wsparcie. Następnie przypisuje punkt końcowy najemcy i utrzymuje ścieżkę wywołania tylko po stronie serwera.
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"}'Aby wyjaśnić bezpieczeństwo Credential, YTSave oddziela serwerowe przechowywanie sekretów od braku osadzania w pakiecie klienta. Rekord dowodowy nie nadaje publicznym logom ani repozytoriom własnego miejsca.
Rozwiązywanie linku
YTSave obsługuje operację Resolve, najpierw identyfikując wykrycie źródła. Następnie przetwarza formaty z jednego przesłanego URL i nie utrzymuje w widoku żadnych wymyślonych wyników.
/v1/resolveZakres: rozwiązać| Field | Typ | Wymagane | Opis |
|---|---|---|---|
url | Adres HTTPS | Tak | Strona publiczna lub autoryzowane media do analizy. |
tenant | ciąg znaków | Nie | Przypisana domena dzierżawy. Zazwyczaj pomijany. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Aby wyjaśnić identyfikator formatu, YTSave oddziela zwróconą wartość bez zmian od dostępności dla poszczególnych linków. Zapis dowodowy nie nadaje własnego miejsca żadnej domyślnie zgadywanej etykiecie jakości.
Tworzenie i śledzenie zadania pobierania
W przypadku tworzenia zadania YTSave rozpoczyna się od asynchronicznego przygotowania, którego rekord dowodu łączy się z krótkim żądaniem HTTP i kończy się wykonaniem ograniczonego zadania roboczego.
/v1/jobsZakres: oferty pracy| Field | Typ | Wymagane | Opis |
|---|---|---|---|
url | Adres HTTPS | Tak | To samo znormalizowane źródło złożone do rozwiązania. |
format_id | ciąg znaków | Tak | Dokładny identyfikator z odpowiedzi na żądanie rozpoznania. |
tenant | ciąg znaków | Nie | Przypisana domena dzierżawy. Zazwyczaj pomijany. |
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} tym samym kluczem.| Status | Znaczenie | Akcja klienta |
|---|---|---|
queued | Przyjęty do ograniczonej kolejki. | Ankieta ponownie z backoff. |
extracting | Odświeżanie metadanych źródłowych lub trasy. | Kontynuuj ankietowanie. |
processing | Pobieranie, remiksowanie lub łączenie. | Wyświetlanie postępu serwera. |
ready | Podpisane pobieranie jest dostępne. | Wyślij adres URL do użytkownika. |
failed | Błąd struktury terminala. | Read error_code. Powtórz próbę tylko wtedy, gdy jest do zalecane. |
expired | Tymczasowe wyjście zostało usunięte. | Utwórz nowe zadanie. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave ułatwia skanowanie sondowania zadań. Strona zaczyna się od jednosekundowego początkowego oczekiwania, przechodzi do ograniczonego cofania i wyraźnie informuje o tymczasowej podpisanej dostawie.
Błędy przewidywalne
Dla błędu kontraktu YTSave sprawdza jedną kopertę nie-2xx przed identyfikatorem zgłoszenia wsparcia. Ten zapis dowodowy również jasno określa przewidywalne obsługiwanie klienta.
{
"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 | Typowe znaczenie | Akcja |
|---|---|---|
| 400 | Nieprawidłowy adres URL, treść lub niedostępny format. | Popraw żądanie. Rozwiąż ponownie dla formatów. |
| 401 | Brakujący, nieprawidłowy, wygasły lub o niewłaściwym zakresie klucz. | Sprawdź poświadczenia po stronie serwera. |
| 403 | Polityka najemcy lub źródła odrzuciła żądanie. | Nie omijać zasad. Skontaktuj się z pomocą techniczną. |
| 404 | Nieznane lub wygasłe zadanie. | Utwórz nowe zadanie, jeśli do konieczne. |
| 429 | Osiągnięto limit żądań lub aktywnych zadań. | Honor retry_after_seconds. |
| 503 | Kolejka/pojemność lub źródło tymczasowo niedostępne. | Powtórz próbę z wykładniczym cofaniem i drganiami. |
Kontrakt operacyjny
YTSave wydaje limit operacyjny przy każdym zatwierdzeniu, aby zabezpieczyć usługi API konsumenta i mediów wyższego rzędu.
- Używaj logiki aplikacji idempotent i nigdy nie uruchamiaj zduplikowanych zadań dla tego samego kliknięcia użytkownika.
- Pamięć podręczna rozwiązuje metadane krótko, ale zawsze traktuje podpisane adresy URL pobierania jako wygasające.
- Użyj ograniczonego wykładniczego opóźnienia z jitterem dla
429,503i błędów do ponownego próbowania. - Przetwarzaj tylko publiczne media lub media, do których masz uprawnienia dostępu. DRM i kontrole dostępu nie są omijające.
- Przechowuj identyfikatory żądań i identyfikatory zadań w prywatnych dziennikach operacyjnych. Nie rejestruj niepotrzebnie przesłanych adresów URL.
YTSave obsługuje dostęp do Schema, najpierw identyfikując aktywację przed eksploracją. Następnie przechodzi do przypisanego uwierzytelnienia i utrzymuje w polu widzenia udokumentowane kształty żądań. OpenAPI
Poproś o klucz API
Udokumentuj konsumenta API, jego miesięczne szacowane zapotrzebowanie na żądania oraz obsługiwane wymagania platformowe. YTSave sprawdza, czy uzasadnione jest rozwiązywanie, przesyłanie zadań lub jedno i drugie, zanim wyda jednorazowo widoczny klucz.
Poproś o dostęp do API Klucze są ograniczone do dzierżawcy, odwołalne i wydawane za pośrednictwem formularza Kontakt. Anonimowe skrypty nie mogą wykonywać pracy pobierania.