Integracja deweloperska i AI

Podłącz FTIR.fun do dowolnego narzędzia lub aplikacji AI

Zapewnij swojemu asystentowi AI lub własnemu kodowi bezpośredni dostęp do 320,000+ widm referencyjnych, rozumowania o pikach w grafie wiedzy oraz interpretacji opartej na literaturze. Wybierz jeden z trzech sposobów połączenia — MCP dla asystentów AI, REST API dla kodu lub gotową umiejętność dla platform niewymagających kodowania. Każda z poniższych ścieżek zawiera instrukcje krok po kroku napisane z myślą o początkujących użytkownikach.

Opublikowano

Zanim zaczniesz — uzyskaj klucz API

MCP i REST API korzystają z tego samego klucza API FTIR.fun. Coze/Doubao korzysta z klucza usługi skonfigurowanego przez wydawcę wtyczki, dzięki czemu użytkownicy końcowi korzystają z wtyczki bez wklejania osobistego klucza. Uzyskanie osobistego klucza zajmuje około minuty:

  1. Zaloguj się do FTIR.fun Utwórz bezpłatne konto (nowe konta obejmują bezpłatne kredyty próbne).
  2. Otwórz panel kluczy API Przejdź do Konto → Klucze API i kliknij Generuj.
  3. Wyświetl lub skopiuj swój klucz API Pełny klucz (zaczynający się od ftir_) pozostaje dostępny w panelu API Keys. Możesz tam wrócić, aby go wyświetlić, skopiować lub unieważnić.
🔑 Gotowy? Otwórz panel kluczy API w nowej karcie, a następnie wróć i postępuj zgodnie ze ścieżką wybraną powyżej.

Krok 1 — Które połączenie jest dla Ciebie odpowiednie?

Wszystkie trzy łączą się z tym samym silnikiem: 320,000+ widm, wnioskowanie z wykorzystaniem grafu wiedzy i cytowania literatury. Potrzebujesz tylko jednej opcji. Wybierz ścieżkę odpowiadającą Twojemu sposobowi pracy; MCP to wygodna opcja dla użytkowników asystentów AI.

Co Twoja AI faktycznie może zrobić

Ujednolicone usługi MCP i REST udostępniają ten sam katalog operacji FTIR.fun. Klucze API mogą otrzymywać węższy zakres uprawnień, podczas gdy deklaracje specyficzne dla platformy mogą celowo publikować tylko podzbiór operacji. Poniższe operacje korzystają z tych samych usług FTIR.fun.

Zadanie Narzędzie MCP Punkt końcowy REST Powiedz to swojemu AI
Odczytaj plik instrumentu parse_ftir_spectrum POST /parse-spectrum Przetwórz sample.spc i wymień wykryte piki.
Konwertuj natywne dane i zachowuj metadane convert_native_spectrum POST /native-spectrum/convert Konwertuj sample.spa do JDX i zachowaj metadane źródłowe.
Zidentyfikuj nieznane widmo analyze_ftir_spectrum POST /ftir/analyze_spectrum Zidentyfikuj, jakim polimerem jest to widmo.
Prześlij pełny raport trójosiowy submit_ftir_report POST /ftir/reports Prześlij sample.spa, aby uzyskać pełny raport w trybie ATR.
Odpytywaj i pobieraj ten raport. get_ftir_report_status GET /ftir/reports/{task_id} Sprawdź zadanie raportu i podaj mi link po zakończeniu.
Wyjaśnij piki explain_peaks POST /ftir/explain_peak_assignments Co wskazują piki przy 1715 i 1450 cm-1?
Znajdź znane widmo referencyjne find_spectra POST /ftir/find_spectra Znajdź widma referencyjne dla polistyrenu.
Otwórz ponownie wcześniejszy wynik fetch_result GET /ftir/result/{result_num} Pobierz wynik 20260528100755416137536.
🎓 Akademickie przypisanie pików — W przypadku próbek o znanym składzie zaawansowana funkcja REST/MCP FTIR.fun przypisuje każdemu zmierzonemu pikowi dowody prześledzone w literaturze. Każde zgłoszenie kosztuje 30 punktów lub jest bezpłatne przy aktywnej subskrypcji; zapytania o status nie są naliczane. Opisz zadanie naturalnie (na przykład: „Przypisz wszystkie zmierzone piki FTIR dla tego widma; próbka to znany PMMA; wyślij mi raport e-mailem") — klient dostarcza plik, a Ty nigdy nie musisz samodzielnie konstruować JSON ani Base64. Ukończone wyniki zwracają zarówno status JSON, jak i chronione adresy raportów; raporty nie są udostępniane na publicznej ścieżce pobierania.

Obsługiwane rozszerzenia nazw plików widm (36): .spa, .spc, .sp, .abs, .irf, .irs, .dt, .jws, .jdx, .dx, .asc, .dpt, .opju, .opus, .ispd, .[0-9]+, .xlsx, .xls, .ods, .csv, .dat, .txt, .tsv, .json, .tab, .a2r, .asp, .spe, .map, .bsp, .spg, .srs, .smf, .ird, .fsm, .mat. Zachowaj oryginalne rozszerzenie nazwy pliku. Nieobsługiwane lub nieczytelne pliki zwracają supported_extensions i supported_formats. Prawidłowe wartości sampling_mode to KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR i Others. Transmission nie jest prawidłową wartością.

przykład odpowiedzi find_spectra

odpowiedź find_spectra
{
  "success": true,
  "query": "polystyrene",
  "match_mode": "synonym",
  "match_count": 3,
  "summary": "Found 3 reference spectrum candidates for 'polystyrene'.",
  "results": [
    {"num": 555, "spectrum_number": 555, "name": "PS/PPO",
     "cas": "-", "source_type": "instrument_import",
     "peaks": [697, 756, 1028, ...], "x": [...], "y": [...]}
  ]
}

przykład odpowiedzi explain_peaks

odpowiedź explain_peaks
{
  "success": true,
  "search_mode": "peak_explanation",
  "peak_explanations": [
    {"peaks_cm1": [1715, 1450],
     "assignment": "1715 cm-1 suggests C=O stretching (ester or carboxylic acid)...",
     "evidence_type": "llm_general_knowledge"}
  ],
  "summary": "Peak explanation based on general FTIR knowledge..."
}

Uzyskiwanie pełnego raportu (async)

Szybki screening (analyze_spectrum) zwraca wynik natychmiast. Pełny raport trójosiowy jest generowany w tle i zwykle zajmuje 30–90 sekund. Zachowaj task_id i odpytuj je zamiast ponownie wysyłać żądanie.

  1. Wyślij Wywołaj submit_ftir_report (MCP) lub POST /ftir/reports (REST). Otrzymujesz task_id i zarezerwowane result_num. Pole file_base64 jest wymagane; inne pola (sampling_mode, prior_context, language_code, sample_name, sample_order_no) są opcjonalne.
    Przykład przesyłania (REST)
    curl -X POST https://ftir.fun/ftir/reports \
      -H "X-API-Key: ftir_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{"file_base64": "V2F2ZW51bWJlci...", "filename": "sample.spa", "sampling_mode": "ATR", "language_code": "en"}'
    Prześlij odpowiedź
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Ankieta Wywołaj get_ftir_report_status (MCP) lub GET /ftir/reports/{task_id} co 5–10 sekund, aż completed będzie miało wartość true. Odpowiedź po ukończeniu zawiera report_url, obiekt report (strukturalną treść wyników, z szczegółowym report_view w środku) oraz result_num.
    Przykład sondowania
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Odpowiedź sondowania (w toku)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Odpowiedź poll (zakończone)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Otwórz końcowy raport Otwórz pełny adres URL https://ftir.fun/outputdata/?num={result_num} w przeglądarce, aby wyświetlić pełną stronę wyników tri-axis wyrenderowaną przez FTIR.fun.
⚠️ Zachowaj identyfikator zadania i odpytywanie aż do zakończenia lub niepowodzenia. Duplikowanie zgłoszeń oczekujących w kolejce lub uruchomionych powoduje niepotrzebne zużycie punktów.

Rozwiązywanie problemów

Co widzisz Co to oznacza Co robić
Klient otwiera stronę autoryzacji w przeglądarce lub informuje, że strona autoryzacji nie istnieje. Twój klient używa starego wpisu serwera w stylu OAuth. FTIR.fun nie używa OAuth — tylko klucza API. Usuń stary wpis serwera ftirfun, wklej dokładną konfigurację z tej strony, przeładuj klienta i uruchom ftirfun ponownie.
401 (MCP) / 401 invalid_api_key (REST) Klucz API brakuje, wygasł, został unieważniony lub wklejony nieprawidłowo. Uruchom ponownie serwer i wklej tylko surowy klucz (zaczynający się od ftir_). Wygeneruj nowy klucz z Panel kluczy API jeśli potrzebne.
Serwer uruchamia się, ale nie pojawiają się żadne narzędzia. Klient nie odświeżył swojego katalogu lub konfiguracja używa niewłaściwej nazwy klucza. W przypadku VS Code upewnij się, że mcp.json używa serwerów (nie mcpServers). Następnie zatrzymaj i uruchom ftirfun lub przeładuj okno.
403 insufficient_balance Konto nie ma wystarczającej liczby punktów do tej analizy. Sprawdź swoje saldo lub subskrypcję w FTIR.fun, a następnie spróbuj ponownie.
429 rate_limit_exceeded Analiza i parsowanie REST umożliwiają 60 żądań na minutę na klucz API; odczyty wyników i statusu raportów REST korzystają z osobnego zasobnika 120 żądań na minutę; MCP pozwala na 60 wywołań na minutę dla każdego klucza API i narzędzia. Poczekaj na okres ponowienia zgłoszony przez narzędzie przed ponownym wywołaniem.
Raport pozostaje w kolejce lub jest uruchomiony. Pełne raporty są uruchamiane asynchronicznie i trwają dłużej niż szybkie przeszukiwanie. Zachowaj ten sam task_id i wykonuj odpytywanie. Jeśli utracono task_id, wywołaj GET /ftir/tasks, aby wyświetlić ostatnie zadania i ponownie go znaleźć.
422 lub missing_input Treść żądania nie zawiera wymaganych pól lub ma nieprawidłowy format. Dla analyze_spectrum musisz podać co najmniej jedno z: peaks, query lub file_base64. Sprawdź, czy Twój JSON jest poprawny, Content-Type to application/json, a wymagane pola są obecne. Zobacz przykładowe żądania powyżej.
413 file_too_large Przesłany plik widma przekracza limit rozmiaru. Eksportuj mniejszy plik lub użyj tylko pozycji pików za pomocą pola spectrum.peaks.

Gotowy do budowania?

Pełna dokumentacja REST zawiera każdy punkt końcowy, formaty żądań i odpowiedzi, uwierzytelnianie, limity szybkości, kody błędów, definicje narzędzi MCP oraz przykłady kodu w Pythonie i curl.

Prześlij wymaganie Formularz