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 over 130 000 referansespektre, kunnskapsgraf-toppresonnement og litteraturbasert tolkning. Velg én av tre måter å koble til på — MCP for AI-assistenter, REST API for kode, eller en ferdiglaget Skill for plattformer uten koding. Hver vei nedenfor har steg-for-steg-instruksjoner skrevet for førstegangsbrukere.

Anmeldt og oppført på

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

MCP og REST API-en bruker begge én FTIR.fun API-nøkkel. Coze/Doubao bruker en tjenestenøkkel konfigurert av programtilleggets utgiver, så sluttbrukere limer ikke inn en personlig nøkkel. Det tar omtrent ett minutt å få en personlig nøkkel:

  1. Logg inn på FTIR.fun Opprett en gratis konto hvis du ikke har en. Nye kontoer inkluderer gratis prøvekreditter.
  2. Åpne API-nøkkel-dashbordet Gå til Konto → API-nøkler og klikk Generer.
  3. Kopier og lagre nøkkelen umiddelbart Den fullstendige nøkkelen (den starter med ftir_) vises bare én gang. Oppbevar den trygt. Hvis du mister den, generer du bare en ny.
🔑 Klar? Åpne API-nøkkeldashbordet i en ny fane, kom så tilbake og følg stien du valgte ovenfor.
⚠️ Den hosted MCP-serveren godtar kun en konto-API-nøkkel generert i FTIR.fun API-nøkkeldashboard (starter med ftir_). Server-side master-nøkler er for REST-operatører og kan ikke logge inn på hosted MCP.

Trinn 1 — Hvilken tilkobling passer for deg?

Alle tre kobler til samme motor: 130 000+ spektre, kunnskapsgrafresonnering og litteratursiteringer. Du trenger bare én. Velg ut fra hvordan du jobber — usikker? MCP er det mest populære valget for alle som bruker en AI-assistent.

Hva din AI faktisk kan gjøre

De nåværende MCP-, REST-, n8n- og LangChain-distribusjonene eksponerer syv operasjoner. Den publiserte Coze-plugin-en eksponerer tre verktøy (analyser, finn, forklar), og andre maler kan eksponere et mindre deklarert sett; sjekk hvert plattformkort før bruk. 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.
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.

Støttede filer: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Gyldige sampling_mode-verdier er KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR og Others. Transmission er ikke en gyldig verdi. Behold den opprinnelige filutvidelsen slik at FTIR.fun velger riktig parser.

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": "direct_read:spa",
     "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. Hele tri-akse rapporten kjører i bakgrunnen og tar vanligvis 30–90 sekunder. Ikke send inn på nytt mens en rapport kjører — behold task_id og poll den.

  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"}
  2. Avstemning Kall get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} hvert 5–10 sekund til completed er true. Det fullførte svaret inkluderer report_url, report_view (strukturert rapportinnhold) 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.
⚠️ Ikke send inn den samme rapporten igjen mens den er i kø eller kjører. Behold task_id og fortsett å polle til den er fullført eller mislyktes. Duplikatinnsendinger kaster bort 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 fortsett å polle. Ikke opprett dupliserte rapportoppgaver.
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 forespørsel Skjema