Utvikler- og AI-integrasjon

Koble FTIR.fun til ethvert AI-verktøy eller app

Gi AI-assistenten din eller din egen kode direkte tilgang til 320,000+ referansespektra, toppresonnering basert på kunnskapsgrafer og litteraturunderbygget tolkning. Velg én av tre tilkoblingsmåter — MCP for AI-assistenter, REST API-et for kode eller en ferdiglaget Skill for plattformer uten kode. Alle alternativene nedenfor har trinnvise instruksjoner skrevet for førstegangsbrukere.

Oppført på

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

MCP og REST API bruker begge én FTIR.fun API-nøkkel. Coze/Doubao bruker en tjenestenøkkel som er konfigurert av plugin-utgiveren, slik at sluttbrukere arbeider gjennom plugin-modulen uten å lime inn en personlig nøkkel. Det tar omtrent ett minutt å skaffe en personlig nøkkel:

  1. Logg inn på FTIR.fun Opprett en gratis konto (nye kontoer inkluderer gratis prøve­kreditter).
  2. Åpne API-nøkkel-dashbordet Gå til Konto → API-nøkler og klikk Generer.
  3. Vis eller kopier API-nøkkelen din Den fulle nøkkelen (den starter med ftir_) forblir tilgjengelig i API-nøkkel-dashbordet. Du kan gå tilbake dit for å vise, kopiere eller tilbakekalle den.
🔑 Klar? Åpne API-nøkkeldashbordet i en ny fane, kom så tilbake og følg stien du valgte ovenfor.

Trinn 1 — Hvilken tilkobling passer for deg?

Alle tre kobler til den samme motoren: 320,000+ spektra, kunnskapsgrafbasert resonnering og litteraturhenvisninger. Du trenger bare én. Velg den veien som passer arbeidsmåten din; MCP er et praktisk alternativ for brukere av AI-assistenter.

Hva din AI faktisk kan gjøre

De enhetlige MCP- og REST-tjenestene viser den samme operasjonskatalogen for FTIR.fun. API-nøkler kan ha et mindre kapabilitetsomfang, mens plattformspesifikke deklarasjoner med hensikt kan publisere bare et delsett. Operasjonene nedenfor deler de samme FTIR.fun-tjenestene.

Oppgave MCP-verktøy REST-endepunkt Si dette til din AI
Les en instrumentfil parse_ftir_spectrum POST /parse-spectrum Analyser sample.spc og list opp de oppdagede toppene.
Konverter native data og bevar metadata convert_native_spectrum POST /native-spectrum/convert Konverter sample.spa til JDX og behold kilde metadata.
Identifiser et ukjent spektrum analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifiser hvilken polymer dette spekteret er.
Send inn en full tri-akse rapport submit_ftir_report POST /ftir/reports Send inn sample.spa for en fullstendig rapport i ATR-modus.
Poll og hent den rapporten get_ftir_report_status GET /ftir/reports/{task_id} Sjekk rapportoppgaven og gi meg lenken når den er ferdig.
Forklar topper explain_peaks POST /ftir/explain_peak_assignments Hva indikerer toppene ved 1715 og 1450 cm-1?
Finn et kjent referansespektrum find_spectra POST /ftir/find_spectra Finn referansespektre for polystyren.
Åpne et tidligere resultat på nytt fetch_result GET /ftir/result/{result_num} Hent resultat 20260528100755416137536.
🎓 Akademisk topptilordning — For prøver med kjent sammensetning tilordner den avanserte FTIR.fun REST/MCP-funksjonaliteten hver målte topp med litteratursporet dokumentasjon. Hver innsending koster 30 poeng eller er kostnadsfri med et aktivt abonnement; statusforespørsler belastes ikke. Beskriv oppgaven naturlig (for eksempel: “Tildel alle målte FTIR-topper for dette spekteret; prøven er kjent PMMA; send rapporten til meg på e-post”) — klienten leverer filen, og du trenger aldri å konstruere JSON eller Base64 selv. Fullførte resultater returnerer både JSON-statusen og beskyttede rapportadresser; rapporter er ikke eksponert på en offentlig nedlastingssti.

Støttede spektrumfilnavnutvidelser (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. Behold den opprinnelige filnavnutvidelsen. Filer som ikke støttes eller ikke kan leses, returnerer supported_extensions og supported_formats. Gyldige sampling_mode-verdier er KBr-pellet, damp, løsemiddel, tynn film, parafinpasta, ATR, diffus refleksjon, mikro-IR og andre. Transmisjon er ikke en gyldig verdi.

find_spectra svareksempel

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": "instrument_import",
     "peaks": [697, 756, 1028, ...], "x": [...], "y": [...]}
  ]
}

explain_peaks svareksempel

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

Hente den fullstendige rapporten (asynkront)

Rask screening (analyze_spectrum) returnerer umiddelbart. Den komplette treaksede rapporten kjører i bakgrunnen og tar vanligvis 30–90 sekunder. Behold task_id og hent status med polling i stedet for å sende inn på nytt.

  1. Send inn Kall submit_ftir_report (MCP) eller POST /ftir/reports (REST). Du får tilbake en task_id og en reservert result_num. Feltet file_base64 er påkrevd; andre felt (sampling_mode, prior_context, language_code, sample_name, sample_order_no) er valgfrie.
    Send inn 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"}'
    Send inn svar
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Avstemning Kall get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} hvert 5–10 sekund til completed er true. Den fullførte responsen inkluderer report_url, et report-objekt (strukturert resultatinnhold, med den detaljerte report_view inni den), og result_num.
    Polleksempel
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Poll svar (pågår)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Poll-svar (fullført)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Åpne den endelige rapporten Åpne hele URL-en https://ftir.fun/outputdata/?num={result_num} i en nettleser for å se hele tri-akse resultatsiden gjengitt av FTIR.fun.
⚠️ Behold task_id og poll til oppgaven er fullført eller mislyktes. Duplikate innsendinger mens oppgaven står i kø eller kjører, sløser med poeng.

Feilsøking

Hva du ser Hva det betyr Hva du skal gjøre
Klienten åpner en autorisasjonsside i nettleseren, eller sier at autorisasjonssiden ikke eksisterer. Klienten din bruker en gammel OAuth-stil serveroppføring. FTIR.fun bruker ikke OAuth — bare en API-nøkkel. Slett den gamle ftirfun-serveroppføringen, lim inn den eksakte konfigurasjonen fra denne siden, last inn klienten på nytt, og start ftirfun på nytt.
401 (MCP) / 401 invalid_api_key (REST) API-nøkkelen mangler, er utløpt, tilbakekalt eller limt inn feil. Start serveren på nytt og lim inn kun den rå nøkkelen (starter med ftir_). Generer en ny nøkkel fra API-nøkkelkontrollpanel om nødvendig.
Serveren starter, men ingen verktøy vises. Klienten har ikke oppdatert katalogen sin, eller konfigurasjonen bruker feil nøkkelnavn. For VS Code, bekreft at mcp.json bruker servers (ikke mcpServers). Deretter stopp og start ftirfun, eller last inn vinduet på nytt.
403 insufficient_balance Kontoen har ikke nok poeng for den analysen. Sjekk saldoen eller abonnementet ditt i FTIR.fun, og prøv igjen.
429 rate_limit_exceeded REST-analyse og parsing tillater 60 forespørsler per minutt per API-nøkkel; REST-resultat og rapportstatuslesing bruker en separat 120 forespørsler per minutt-bøtte; MCP tillater 60 kall per minutt for hver API-nøkkel og verktøy. Vent på gjentaksperioden som verktøyet rapporterer før du kaller igjen.
En rapport forblir i kø eller kjører. Fullstendige rapporter kjøres asynkront og tar lengre tid enn rask screening. Behold samme task_id og send forespørsler. Hvis du har mistet task_id, kan du kalle GET /ftir/tasks for å liste opp de nyeste oppgavene dine og finne det igjen.
422 eller missing_input Forespørselsteksten mangler påkrevde felt eller har ugyldig format. For analyze_spectrum må du oppgi minst ett av: peaks, query eller file_base64. Kontroller at JSON-en din er gyldig, Content-Type er application/json, og at påkrevde felt er til stede. Se eksempelforespørslene ovenfor.
413 file_too_large Den opplastede spektrumfilen overskrider størrelsesgrensen. Eksporter en mindre fil eller bruk bare topposisjoner via feltet spectrum.peaks.

Klar til å bygge?

Den fullstendige REST-referansen har hvert endepunkt, forespørsels- og responsformater, autentisering, hastighetsbegrensninger, feilkoder, MCP-verktøydefinisjoner og kodeeksempler i Python og curl.

Send inn krav Skjema