Pagsasama ng Developer at AI

Ikonekta ang FTIR.fun sa Anumang AI Tool o App

Bigyan ang iyong AI assistant o sarili mong code ng direktang access sa 320,000+ reference spectra, peak reasoning mula sa knowledge graph, at interpretasyong sinusuportahan ng literatura. Pumili ng isa sa tatlong paraan ng pagkonekta — MCP para sa mga AI assistant, REST API para sa code, o isang handa nang Skill para sa mga no-code platform. Ang bawat landas sa ibaba ay may sunod-sunod na tagubiling isinulat para sa mga unang gagamit.

Nakalista noong

Bago ka magsimula — kunin ang iyong API key

Parehong gumagamit ang MCP at REST API ng isang FTIR.fun API key. Gumagamit ang Coze/Doubao ng service key na kino-configure ng publisher ng plugin, kaya ginagamit ng mga end user ang plugin nang hindi nagpe-paste ng personal na key. Tumatagal nang humigit-kumulang isang minuto ang pagkuha ng personal na key:

  1. Mag-sign in sa FTIR.fun Gumawa ng libreng account (may kasamang libreng trial credit ang mga bagong account).
  2. Buksan ang API Keys dashboard Pumunta sa Account → API Keys at i-click ang Generate.
  3. Tingnan o kopyahin ang iyong API key Ang buong key (nagsisimula ito sa ftir_) ay nananatiling available sa dashboard ng API Keys. Maaari kang bumalik doon upang tingnan, kopyahin, o bawiin ito.
🔑 Handa na? Buksan ang API Keys Dashboard sa isang bagong tab, pagkatapos ay bumalik at sundan ang landas na iyong pinili sa itaas.

Hakbang 1 — Aling koneksyon ang tama para sa iyo?

Lahat ng tatlo ay kumokonekta sa iisang engine: 320,000+ spectrum, pangangatwiran gamit ang knowledge graph, at mga pagsipi sa literatura. Isa lamang ang kailangan mo. Piliin ang landas na naaayon sa paraan ng iyong pagtatrabaho; maginhawang opsyon ang MCP para sa mga gumagamit ng AI assistant.

Kung ano ang aktwal na magagawa ng iyong AI

Ang pinag-isang MCP at REST services ay naglalantad ng parehong katalogo ng mga operasyon ng FTIR.fun. Maaaring makatanggap ang mga API key ng mas maliit na saklaw ng kakayahan, habang maaaring sadyang maglathala ang mga deklarasyong partikular sa platform ng isang subset lamang. Ang mga operasyon sa ibaba ay gumagamit ng parehong mga serbisyo ng FTIR.fun.

Gawain MCP tool REST endpoint Sabihin ito sa iyong AI
Basahin ang isang instrument file parse_ftir_spectrum POST /parse-spectrum I-parse ang sample.spc at ilista ang mga natukoy na peak.
I-convert ang katutubong data at panatilihin ang metadata convert_native_spectrum POST /native-spectrum/convert I-convert ang sample.spa sa JDX at panatilihin ang source metadata.
Kilalanin ang isang hindi kilalang spectrum analyze_ftir_spectrum POST /ftir/analyze_spectrum Kilalanin kung anong polymer ang spectrum na ito.
Isumite ang isang buong tri-axis na ulat submit_ftir_report POST /ftir/reports Isumite ang sample.spa para sa isang buong ulat sa ATR mode.
I-poll at kunin ang ulat na iyon get_ftir_report_status GET /ftir/reports/{task_id} Suriin ang report task at ibigay sa akin ang link kapag tapos na.
Ipaliwanag ang mga peak explain_peaks POST /ftir/explain_peak_assignments Ano ang ipinapahiwatig ng mga peak sa 1715 at 1450 cm-1?
Maghanap ng kilalang reference spectrum find_spectra POST /ftir/find_spectra Hanapin ang reference spectra para sa polystyrene.
Buksan muli ang isang naunang resulta fetch_result GET /ftir/result/{result_num} Kunin ang resulta 20260528100755416137536
🎓 Akademikong Pagtatalaga ng Peak — Para sa mga sample na may kilalang komposisyon, itinatalaga ng advanced na FTIR.fun REST/MCP capability ang bawat nasukat na peak gamit ang ebidensiyang nasusubaybayan sa literatura. Ang bawat submission ay nagkakahalaga ng 30 puntos, o libre kapag may aktibong subscription; hindi sinisingil ang mga query sa status. Ilarawan ang task nang natural (halimbawa: “I-assign ang lahat ng nasukat na FTIR peaks para sa spectrum na ito; ang sample ay kilalang PMMA; i-email ang ulat sa akin”) — ang client ang nagbibigay ng file at hindi mo na kailangang gumawa ng JSON o Base64 mismo. Ang mga natapos na resulta ay nagbabalik ng parehong JSON status at protektadong report address; ang mga ulat ay hindi nakalantad sa pampublikong download path.

Mga sinusuportahang ekstensyon ng filename ng spectrum (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. Panatilihin ang orihinal na ekstensyon ng filename. Ang mga hindi sinusuportahan o hindi mababasang file ay nagbabalik ng supported_extensions at supported_formats. Ang mga wastong halaga ng sampling_mode ay KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR, at Others. Ang Transmission ay hindi wastong halaga.

halimbawa ng tugon ng find_spectra

tugon ng 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": [...]}
  ]
}

halimbawa ng tugon ng explain_peaks

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

Pagkuha ng buong report (async)

Agad na nagbabalik ng resulta ang mabilisang screening (analyze_spectrum). Tumatakbo sa background ang buong tri-axis report at karaniwang tumatagal ng 30–90 segundo. Panatilihin ang task_id at i-poll ito sa halip na muling isumite.

  1. Isumite Tawagan ang submit_ftir_report (MCP) o POST /ftir/reports (REST). Makakakuha ka ng task_id at isang reserved na result_num. Ang file_base64 field ay kinakailangan; ang ibang field (sampling_mode, prior_context, language_code, sample_name, sample_order_no) ay opsyonal.
    Halimbawa ng pagsusumite (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"}'
    Isumite ang tugon
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Botohan Tawagan ang get_ftir_report_status (MCP) o GET /ftir/reports/{task_id} tuwing 5–10 segundo hanggang ang completed ay true. Ang natapos na tugon ay may kasamang report_url, isang report object (structured result content, kasama ang detalyadong report_view sa loob nito), at result_num.
    Halimbawa ng poll
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Tugon ng poll (nagpapatuloy)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Tugon ng poll (natapos)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Buksan ang huling report Buksan ang buong URL https://ftir.fun/outputdata/?num={result_num} sa isang browser upang makita ang kumpletong tri-axis result page na nirender ng FTIR.fun.
⚠️ Panatilihin ang task_id at mag-poll hanggang makumpleto o mabigo. Ang mga duplicate na submission habang naka-queue o tumatakbo ay nagsasayang ng points.

Pag-troubleshoot

Kung ano ang nakikita mo Kung ano ang ibig sabihin nito Ano ang gagawin
Binubuksan ng client ang isang pahina ng awtorisasyon ng browser, o sinasabing wala ang pahina ng awtorisasyon. Ang iyong client ay gumagamit ng lumang OAuth-style server entry. Ang FTIR.fun ay hindi gumagamit ng OAuth — API key lamang. Tanggalin ang lumang ftirfun server entry, i-paste ang eksaktong config mula sa pahinang ito, i-reload ang client, at simulan muli ang ftirfun.
401 (MCP) / 401 invalid_api_key (REST) Ang API key ay nawawala, nag-expire, binawi, o hindi tama ang pagkaka-paste. I-restart ang server at i-paste lamang ang raw key (nagsisimula sa ftir_). Bumuo ng bagong key mula sa Dashboard ng mga API Key kung kinakailangan.
Nagsimula ang server ngunit walang lumilitaw na mga tool. Ang client ay hindi nirefresh ang catalog nito, o ang config ay gumagamit ng maling key name. Para sa VS Code, kumpirmahin ang mcp.json ay gumagamit ng servers (hindi mcpServers). Pagkatapos, ihinto at simulan ang ftirfun, o i-reload ang window.
403 insufficient_balance Ang account ay walang sapat na puntos para sa analysis na iyon. Suriin ang iyong balanse o subscription sa FTIR.fun, pagkatapos ay subukan muli.
429 rate_limit_exceeded Ang REST analysis at parsing ay nagpapahintulot ng 60 na kahilingan bawat minuto bawat API key; ang REST result at report-status reads ay gumagamit ng hiwalay na 120 kahilingan bawat minutong bucket; ang MCP ay nagpapahintulot ng 60 tawag bawat minuto para sa bawat API key at tool. Maghintay para sa retry period na iniulat ng tool bago tumawag muli.
Ang isang ulat ay nananatiling naka-queue o tumatakbo. Ang buong reports ay tumatakbo nang asynchronously at mas matagal kaysa quick screening. Panatilihin ang parehong task_id at magsagawa ng polling. Kung nawala mo ang task_id, tawagan ang GET /ftir/tasks upang ilista ang iyong mga kamakailang task at hanapin itong muli.
422 o missing_input Ang request body ay kulang sa mga kinakailangang field o may hindi valid na format. Para sa analyze_spectrum, dapat kang magbigay ng kahit isa sa: peaks, query, o file_base64. Suriin na valid ang iyong JSON, Content-Type ay application/json, at ang mga kinakailangang field ay naroroon. Tingnan ang mga halimbawang request sa itaas.
413 file_too_large Ang na-upload na spectrum file ay lumampas sa limitasyon ng laki. Mag-export ng mas maliit na file o gamitin lamang ang peak positions sa pamamagitan ng spectrum.peaks field.

Handa nang bumuo?

Ang buong REST reference ay mayroong bawat endpoint, format ng request at response, authentication, rate limits, error codes, MCP tool definitions, at mga halimbawa ng code sa Python at curl.

Isumite ang Kinakailangan Formularyo