Utvecklare och AI-integration

Anslut FTIR.fun till alla AI-verktyg eller appar

Ge din AI-assistent eller din egen kod direkt åtkomst till över 130 000 referensspektra, kunskapsgrafs toppresonemang och litteraturbaserad 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 väg nedan har steg-för-steg-instruktioner skrivna för förstagångsanvändare.

Granskad och 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änstnyckel som konfigurerats av plugin-utgivaren, så slutanvändare klistrar inte in en personlig nyckel. Att få en personlig nyckel tar ungefär en minut:

  1. Logga in på FTIR.fun Skapa ett gratis konto om du inte har ett. Nya konton inkluderar kostnadsfria provkrediter.
  2. Öppna instrumentpanelen för API-nycklar Gå till Konto → API-nycklar och klicka på Generera.
  3. Kopiera och spara nyckeln omedelbart Hela nyckeln (den börjar med ftir_) visas endast en gång. Förvara den på en säker plats. Om du förlorar den, generera bara en ny.
🔑 Redo? Öppna instrumentpanelen för API-nycklar i en ny flik, kom sedan tillbaka och följ den väg du valde ovan.
⚠️ Den värdbaserade MCP-servern accepterar endast en konto-API-nyckel som genererats i FTIR.funs instrumentpanel för API-nycklar (börjar med ftir_). Serversidans huvudnycklar är för REST-operatörer och kan inte logga in på värdbaserad MCP.

Steg 1 — Vilken anslutning passar dig?

Alla tre ansluter till samma motor: 130 000+ spektra, kunskapsgrafsresonemang och litteraturcitat. Du behöver bara en. Välj efter hur du arbetar — osäker? MCP är det populäraste valet för alla som använder en AI-assistent.

Vad din AI faktiskt kan göra

De nuvarande MCP-, REST-, n8n- och LangChain-distributionerna exponerar sju operationer. Det publicerade Coze-plugin-programmet exponerar tre verktyg (analysera, hitta, förklara), och andra mallar kan exponera en mindre deklarerad uppsättning; kontrollera varje plattformskort före användning. 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.
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.

Filformat som stöds: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. 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. Behåll den ursprungliga filändelsen så att FTIR.fun väljer rätt tolk.

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": "direct_read:spa",
     "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)

Snabb screening (analyze_spectrum) returnerar omedelbart. Den fullständiga triaxelrapporten körs i bakgrunden och tar vanligtvis 30–90 sekunder. Skicka inte igen medan en rapport körs — behåll task_id och polla den.

  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"}
  2. Omröstning Anropa get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} var 5–10 sekund tills completed är true. Det färdiga svaret innehåller report_url, report_view (strukturerat rapportinnehåll) 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.
⚠️ Skicka inte samma rapport igen medan den är i kö eller körs. Behåll task_id och fortsätt polla tills den är klar eller misslyckad. Dubbla inskickningar 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 fortsätt polla. Skapa inte dubbla rapportuppgifter.
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 begäran Formulär