API fansuby
Znajdź i pobierz polskie napisy z własnego programu: skryptu, wtyczki do odtwarzacza albo bota. Tylko odczyt, wymaga konta.
Zacznij w trzech krokach
Krok 1: Utwórz klucz API
Klucz to Twoje hasło do API. Zrobisz go w ustawieniach konta. Pokazujemy go tylko raz, więc od razu zapisz go w zmiennej środowiskowej.
Terminal export FANSUBY_KEY="fsb_…"W PowerShellu wpisz
$env:FANSUBY_KEY="fsb_…".Krok 2: Zapytaj o napisy do pliku wideo
Terminal curl -G -H "Authorization: Bearer $FANSUBY_KEY" \ --data-urlencode "filename=[SubsPlease] Sousou no Frieren - 01 (1080p).mkv" \ "https://fansuby.cc/api/v1/match"Wystarczy nazwa pliku. Serwer sam odczyta z niej serię, odcinek, grupę i rozdzielczość, a napisy ułoży od najlepiej pasujących. Pierwszy wynik to najlepszy wybór.
Krok 3: Pobierz najlepsze napisy
Terminal curl -L -OJ -G -H "Authorization: Bearer $FANSUBY_KEY" \ --data-urlencode "filename=[SubsPlease] Sousou no Frieren - 01 (1080p).mkv" \ "https://fansuby.cc/api/v1/match/download"Plik zapisze się z nazwą nadaną przez serwer (flaga
-OJ), a-Ljest potrzebne, bo pobieranie przekierowuje. Gdy nazwa pliku jest nietypowa, dodajanilistId(liczba z adresuanilist.co/anime/154587) iepisode.
Tak wygląda wynik
Odpowiedź z /match: co rozpoznano w nazwie i lista napisów z punktacją (tu jedna pozycja). Pole downloadUrl prowadzi do pliku, a url do strony napisów dla ludzi.
{
"match": {
"series": { "id": 8, "anilistId": 154587, "title": { "romaji": "Sousou no Frieren" } },
"episode": 1,
"parsed": { "title": "Sousou no Frieren", "group": "SubsPlease", "resolution": "1080p" }
},
"data": [
{
"score": 7,
"id": 42,
"url": "https://fansuby.cc/napisy/42",
"downloadUrl": "https://fansuby.cc/pobierz/42",
"format": "ass",
"releaseGroup": "SubsPlease",
"releaseSource": "WEB-DL",
"resolution": "1080p",
"videoDurationMs": 1420000,
"version": 2,
"credits": [{ "role": "translation", "name": "Kiriko", "username": "kiriko" }],
"series": { "id": 8, "anilistId": 154587, "title": "Sousou no Frieren" },
"episode": { "number": 1 }
}
]
}Co chcesz zrobić?
- Napisy do jednego pliku wideoSkrypt, który po nazwie pliku znajduje odcinek i zapisuje napisy obok niego.5 min
- Napisy dla całej bibliotekiTen sam skrypt puszczony na katalogu z anime, np. raz dziennie z crona.5 min
- Automatyzacja z JellyfinemNapisy same trafiają do biblioteki Jellyfina, a on odświeża się po nowych plikach.10 min
- Powiadomienie na DiscordzieCzeka, aż pojawią się napisy do odcinka, i pisze o tym na kanale.10 min
- Jak wybrać dobre napisyDo odcinka bywa kilka wersji. Które pasuje do Twojego pliku?poradnik
Zasady w skrócie
- Klucz wysyłasz w nagłówku
Authorization: Bearer fsb_…alboX-Api-Key. - Limit to 120 zapytań na minutę na konto. Przy przekroczeniu dostaniesz 429 i czas oczekiwania w nagłówku Retry-After.
- API tylko czyta. Nie wgrasz nim napisów i niczego nie zmienisz na koncie.
- Wyciekł klucz? Usuń go w ustawieniach konta, przestanie działać od razu.
Pełny opis endpointów, limitów i błędów jest w referencji.