Udvikler & AI-integration

Forbind FTIR.fun til ethvert AI-værktøj eller -app

Giv din AI-assistent eller din egen kode direkte adgang til 130.000+ referencespektre, vidensgraf-toptolkning og litteraturunderstøttet fortolkning. Vælg en af tre måder at forbinde på — MCP til AI-assistenter, REST API til kode eller en færdiglavet Skill til no-code-platforme. Hver vej nedenfor har trin-for-trin-instruktioner skrevet til førstegangsbrugere.

Anmeldt og opført på

Før du starter — få din API-nøgle

MCP og REST API'en bruger begge én FTIR.fun API-nøgle. Coze/Doubao bruger en servicenøgle konfigureret af plugin-udgiveren, så slutbrugere indsætter ikke en personlig nøgle. At få en personlig nøgle tager cirka et minut:

  1. Log ind på FTIR.fun Opret en gratis konto, hvis du ikke har en. Nye konti inkluderer gratis prøvekreditter.
  2. Åbn API-nøgle-dashboardet Gå til Konto → API-nøgler og klik på Generer.
  3. Kopier og gem nøglen med det samme Den fulde nøgle (den starter med ftir_) vises kun én gang. Opbevar den et sikkert sted. Hvis du mister den, skal du bare generere en ny.
🔑 Klar? Åbn API-nøgle-dashboardet i en ny fane, kom så tilbage og følg den sti, du valgte ovenfor.
⚠️ Den hosted MCP-server accepterer kun en konto-API-nøgle genereret i FTIR.fun API Keys Dashboard (starter med ftir_). Server-side master-nøgler er til REST-operatører og kan ikke logge ind på hosted MCP.

Trin 1 — Hvilken forbindelse er rigtig for dig?

Alle tre forbinder til samme motor: 130.000+ spektre, knowledge-graph ræsonnement og litteraturcitater. Du behøver kun én. Vælg efter hvordan du arbejder — usikker? MCP er det mest populære valg for alle, der bruger en AI-assistent.

Hvad din AI rent faktisk kan gøre

De nuværende MCP-, REST-, n8n- og LangChain-distributioner eksponerer syv operationer. Den publicerede Coze-plugin eksponerer tre værktøjer (analyser, find, forklar), og andre skabeloner kan eksponere et mindre deklareret sæt; tjek hvert platformskort før brug. Operationerne nedenfor deler de samme FTIR.fun-tjenester.

Opgave MCP-værktøj REST-endpoint Sig dette til din AI
Læs en instrumentfil parse_ftir_spectrum POST /parse-spectrum Pars sample.spc og list de detekterede toppe.
Identificer et ukendt spektrum analyze_ftir_spectrum POST /ftir/analyze_spectrum Identificer hvilken polymer dette spektrum er.
Indsend en fuld tri-akse rapport submit_ftir_report POST /ftir/reports Indsend sample.spa for en fuld rapport i ATR-tilstand.
Afstem og hent den rapport get_ftir_report_status GET /ftir/reports/{task_id} Kontrollér rapportopgaven og giv mig linket, når den er færdig.
Forklar toppe explain_peaks POST /ftir/explain_peak_assignments Hvad indikerer toppene ved 1715 og 1450 cm-1?
Find et kendt referencespektrum find_spectra POST /ftir/find_spectra Find referencespektre for polystyren.
Genåbn et tidligere resultat fetch_result GET /ftir/result/{result_num} Hent resultat 20260528100755416137536.

Understøttede filer: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Gyldige sampling_mode-værdier er KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR og Others. Transmission er ikke en gyldig værdi. Behold den originale filtypenavn, så FTIR.fun vælger den korrekte parser.

find_spectra-svar eksempel

find_spectra-svar
{
  "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": [...]}
  ]
}

explain_peaks-svar eksempel

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..."
}

Få den fulde rapport (async)

Hurtig screening (analyze_spectrum) returnerer straks. Den fulde tri-akse rapport kører i baggrunden og tager typisk 30–90 sekunder. Indsend ikke igen, mens en rapport kører — gem task_id og polle den.

  1. Indsend Kald submit_ftir_report (MCP) eller POST /ftir/reports (REST). Du får et task_id og et reserveret result_num tilbage. Feltet file_base64 er påkrævet; andre felter (sampling_mode, prior_context, language_code, sample_name, sample_order_no) er valgfrie.
    Indsend eksempel (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"}'
    Indsend svar
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Afstemning Kald get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} hvert 5–10 sekund, indtil completed er true. Det fuldførte svar inkluderer report_url, report_view (struktureret rapportindhold) og result_num.
    Polle eksempel
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Polle svar (i gang)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Poll-svar (fuldført)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Åbn den endelige rapport Åbn den fulde URL https://ftir.fun/outputdata/?num={result_num} i en browser for at se den komplette tri-akse resultatside renderet af FTIR.fun.
⚠️ Indsend ikke den samme rapport igen, mens den er i kø eller kører. Gem task_id og bliv ved med at polle, indtil den er fuldført eller mislykkedes. Dublerede indsendelser spilder point.

Fejlfinding

Hvad du ser Hvad det betyder Hvad skal du gøre
Klienten åbner en browserautorisationsside eller siger, at autorisationssiden ikke findes. Din klient bruger en gammel OAuth-serverindgang. FTIR.fun bruger ikke OAuth — kun en API-nøgle. Slet den gamle ftirfun-serverindgang, indsæt den nøjagtige konfiguration fra denne side, genindlæs klienten, og start ftirfun igen.
401 (MCP) / 401 invalid_api_key (REST) API-nøglen mangler, er udløbet, tilbagekaldt eller indsat forkert. Genstart serveren og indsæt kun den rå nøgle (starter med ftir_). Generer en ny nøgle fra API-nøgler dashboard om nødvendigt.
Serveren starter, men der vises ingen værktøjer. Klienten har ikke opdateret sit katalog, eller konfigurationen bruger det forkerte nøglenavn. For VS Code, bekræft at mcp.json bruger servers (ikke mcpServers). Stop derefter og start ftirfun, eller genindlæs vinduet.
403 insufficient_balance Kontoen har ikke nok point til den analyse. Tjek din saldo eller abonnement i FTIR.fun, og prøv igen.
429 rate_limit_exceeded REST-analyse og -parsing tillader 60 anmodninger pr. minut pr. API-nøgle; REST-resultat- og rapportstatus-læsninger bruger en separat bucket på 120 anmodninger pr. minut; MCP tillader 60 kald pr. minut for hver API-nøgle og værktøj. Vent på den genforsøgsperiode, som værktøjet rapporterer, før du kalder igen.
En rapport forbliver i kø eller kører. Fuldstændige rapporter kører asynkront og tager længere tid end hurtig screening. Behold den samme task_id og fortsæt polling. Opret ikke duplikerede rapporteringsopgaver.
422 eller missing_input Anmodningens brødtekst mangler påkrævede felter eller har ugyldigt format. For analyze_spectrum skal du angive mindst én af: peaks, query eller file_base64. Kontrollér, at din JSON er gyldig, Content-Type er application/json, og at påkrævede felter er til stede. Se eksempelanmodningerne ovenfor.
413 file_too_large Den uploadede spektrumfil overskrider størrelsesgrænsen. Eksporter en mindre fil eller brug kun peak-positioner via feltet spectrum.peaks.

Klar til at bygge?

Den fulde REST-reference har alle endepunkter, anmodnings- og svarformater, autentificering, rate limits, fejlkoder, MCP-værktøjsdefinitioner og kodeeksempler i Python og curl.

Indsend anmodning Formular