Przejdź do treści
fansuby

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

  1. 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_…".

  2. 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.

  3. 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 -L jest potrzebne, bo pobieranie przekierowuje. Gdy nazwa pliku jest nietypowa, dodaj anilistId (liczba z adresu anilist.co/anime/154587) i episode.

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.

Odpowiedź (skrócona)
{
  "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ć?

Zasady w skrócie

  • Klucz wysyłasz w nagłówku Authorization: Bearer fsb_… albo X-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.

↑↓ wybórEnter otwórz