Utvecklare och AI-integration

Anslut FTIR.fun till alla AI-verktyg eller appar

Ge din AI-assistent eller din egen kod direkt åtkomst till 320,000+ referensspektra, toppanalys baserad på kunskapsgrafer och litteraturstödd tolkning. Välj ett av tre sätt att ansluta – MCP för AI-assistenter, REST API för kod eller en färdig Skill för plattformar utan kod. Varje alternativ nedan har steg-för-steg-instruktioner skrivna för förstagångsanvändare.

Listad på

Innan du börjar — hämta din API-nyckel

MCP och REST API använder båda en FTIR.fun-API-nyckel. Coze/Doubao använder en tjänstenyckel som konfigureras av plugin-utgivaren, så slutanvändare arbetar via pluginet utan att klistra in en personlig nyckel. Det tar ungefär en minut att skaffa en personlig nyckel:

  1. Logga in på FTIR.fun Skapa ett kostnadsfritt konto (nya konton inkluderar kostnadsfria testkrediter).
  2. Öppna instrumentpanelen för API-nycklar Gå till Konto → API-nycklar och klicka på Generera.
  3. Visa eller kopiera din API-nyckel Den fullständiga nyckeln (den börjar med ftir_) finns kvar i instrumentpanelen för API-nycklar. Du kan återvända dit för att visa, kopiera eller återkalla den.
🔑 Redo? Öppna instrumentpanelen för API-nycklar i en ny flik, kom sedan tillbaka och följ den väg du valde ovan.

Steg 1 — Vilken anslutning passar dig?

Alla tre ansluter till samma motor: 320,000+ spektra, kunskapsgrafsbaserat resonemang och litteraturreferenser. Du behöver bara en. Välj den väg som passar ditt arbetssätt; MCP är ett smidigt alternativ för användare av AI-assistenter.

Vad din AI faktiskt kan göra

De enhetliga MCP- och REST-tjänsterna exponerar samma FTIR.fun-operationskatalog. API-nycklar kan ha ett mindre behörighetsomfång, medan plattformsspecifika deklarationer avsiktligt kan publicera endast en delmängd. Operationerna nedan delar samma FTIR.fun-tjänster.

Uppgift MCP-verktyg REST-slutpunkt Säg detta till din AI
Läs en instrumentfil parse_ftir_spectrum POST /parse-spectrum Tolka sample.spc och lista de detekterade topparna.
Konvertera inbyggd data och bevara metadata convert_native_spectrum POST /native-spectrum/convert Konvertera sample.spa till JDX och behåll källmetadata.
Identifiera ett okänt spektrum analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifiera vilken polymer detta spektrum är.
Skicka en fullständig triax-rapport submit_ftir_report POST /ftir/reports Skicka sample.spa för en fullständig rapport i ATR-läge.
Polla och hämta den rapporten get_ftir_report_status GET /ftir/reports/{task_id} Kontrollera rapportuppgiften och ge mig länken när den är klar.
Förklara toppar explain_peaks POST /ftir/explain_peak_assignments Vad indikerar topparna vid 1715 och 1450 cm-1?
Hitta ett känt referensspektrum find_spectra POST /ftir/find_spectra Hitta referensspektra för polystyren.
Öppna ett tidigare resultat igen fetch_result GET /ftir/result/{result_num} Hämta resultat 20260528100755416137536.
🎓 Akademisk topptilldelning — För prover med känd sammansättning tilldelar den avancerade REST/MCP-funktionen i FTIR.fun varje uppmätt topp med litteraturspårad evidens. Varje inskickning kostar 30 poäng eller är kostnadsfri med en aktiv prenumeration; statusförfrågningar debiteras inte. Beskriv uppgiften naturligt (till exempel: ”Tilldela alla uppmätta FTIR-toppar för detta spektrum; provet är känt PMMA; e-posta rapporten till mig”) — klienten tillhandahåller filen och du behöver aldrig konstruera JSON eller Base64 själv. Slutförda resultat returnerar både JSON-status och skyddade rapportadresser; rapporter exponeras inte på en offentlig nedladdningssökväg.

Stödda filändelser för spektrum (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. Behåll den ursprungliga filändelsen. Filer som inte stöds eller inte kan läsas returnerar supported_extensions och supported_formats. Giltiga sampling_mode-värden är KBr-pellet, ånga, lösningsmedel, tunn film, paraffinmull, ATR, diffus reflektans, mikro-IR och andra. Transmission är inte ett giltigt värde.

exempel på svar från find_spectra

svar från 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": [...]}
  ]
}

exempel på svar från explain_peaks

explain_peaks-svar
{
  "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..."
}

Hämtar den fullständiga rapporten (async)

Snabbscreening (analyze_spectrum) returnerar omedelbart. Den fullständiga treaxliga rapporten körs i bakgrunden och tar vanligtvis 30–90 sekunder. Spara task_id och hämta status genom att fråga efter den i stället för att skicka in uppgiften igen.

  1. Skicka Anropa submit_ftir_report (MCP) eller POST /ftir/reports (REST). Du får tillbaka ett task_id och ett reserverat result_num. Fältet file_base64 är obligatoriskt; andra fält (sampling_mode, prior_context, language_code, sample_name, sample_order_no) är valfria.
    Exempel på inskickning (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"}'
    Skicka svar
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Omröstning Anropa get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} var 5–10:e sekund tills completed är true. Det slutförda svaret innehåller report_url, ett report-objekt (strukturerat resultatinnehåll, med den detaljerade report_view inuti) och result_num.
    Exempel på polling
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Poll-svar (pågående)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Poll-svar (slutfört)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Öppna den slutgiltiga rapporten Öppna den fullständiga webbadressen https://ftir.fun/outputdata/?num={result_num} i en webbläsare för att visa den fullständiga triaxelresultatsidan som renderats av FTIR.fun.
⚠️ Behåll task_id och fråga regelbundet tills processen är klar eller har misslyckats. Dubbla inskickningar medan processen står i kö eller körs slösar poäng.

Felsökning

Vad du ser Vad det betyder Vad du ska göra
Klienten öppnar en webbläsarauktoriseringssida, eller säger att auktoriseringssidan inte finns. Din klient använder en gammal OAuth-liknande serverpost. FTIR.fun använder inte OAuth — endast en API-nyckel. Ta bort den gamla ftirfun-serverposten, klistra in den exakta konfigurationen från denna sida, ladda om klienten och starta ftirfun igen.
401 (MCP) / 401 invalid_api_key (REST) API-nyckeln saknas, har gått ut, har återkallats eller har klistrats in felaktigt. Starta om servern och klistra endast in den råa nyckeln (börjar med ftir_). Generera en ny nyckel från API-nyckeldashboard om det behövs.
Servern startar men inga verktyg visas. Klienten har inte uppdaterat sin katalog, eller så använder konfigurationen fel nyckelnamn. För VS Code, bekräfta att mcp.json använder servers (inte mcpServers). Stoppa sedan och starta ftirfun, eller ladda om fönstret.
403 insufficient_balance Kontot har inte tillräckligt med poäng för den analysen. Kontrollera ditt saldo eller prenumeration i FTIR.fun, försök sedan igen.
429 rate_limit_exceeded REST-analys och tolkning tillåter 60 förfrågningar per minut per API-nyckel; REST-resultat och rapportstatusläsningar använder en separat bucket på 120 förfrågningar per minut; MCP tillåter 60 anrop per minut för varje API-nyckel och verktyg. Vänta på återförsöksperioden som verktyget rapporterar innan du anropar igen.
En rapport förblir i kö eller körs. Fullständiga rapporter körs asynkront och tar längre tid än snabbgranskning. Behåll samma task_id och polla. Om du har tappat bort task_id, anropa GET /ftir/tasks för att lista dina senaste uppgifter och hitta det igen.
422 eller missing_input Begärandets brödtext saknar obligatoriska fält eller har ogiltigt format. För analyze_spectrum måste du ange minst ett av: peaks, query eller file_base64. Kontrollera att din JSON är giltig, Content-Type är application/json och obligatoriska fält finns. Se exempelbegäranden ovan.
413 file_too_large Den uppladdade spektrumfilen överskrider storleksgränsen. Exportera en mindre fil eller använd endast toppositioner via fältet spectrum.peaks.

Redo att bygga?

Den fullständiga REST-referensen har alla endpoints, förfrågnings- och svarsformat, autentisering, hastighetsbegränsningar, felkoder, MCP-verktygsdefinitioner och kodexempel i Python och curl.

Skicka krav Formulär