Integrazione Sviluppatore e AI

Connetti FTIR.fun a qualsiasi strumento o app AI

Dai al tuo assistente AI o al tuo codice l'accesso diretto a 320,000+ spettri di riferimento, al ragionamento sui picchi basato sul grafo della conoscenza e all'interpretazione supportata dalla letteratura. Scegli uno dei tre modi per connetterti — MCP per gli assistenti AI, l'API REST per il codice o una Skill pronta all'uso per le piattaforme senza codice. Ogni percorso riportato di seguito include istruzioni dettagliate passo passo, scritte per gli utenti alle prime armi.

Elencato su

Prima di iniziare — ottieni la tua chiave API

MCP e l'API REST utilizzano entrambi una chiave API FTIR.fun. Coze/Doubao utilizza una chiave di servizio configurata dal publisher del plugin, pertanto gli utenti finali utilizzano il plugin senza incollare una chiave personale. Ottenere una chiave personale richiede circa un minuto:

  1. Accedi a FTIR.fun Crea un account gratuito (i nuovi account includono crediti di prova gratuiti).
  2. Apri il cruscotto delle chiavi API Vai a Account → Chiavi API e clicca su Genera.
  3. Visualizza o copia la tua chiave API La chiave completa (inizia con ftir_) rimane disponibile nel pannello delle chiavi API. Puoi tornare lì per visualizzarla, copiarla o revocarla.
🔑 Pronto? Apri il Pannello delle Chiavi API in una nuova scheda, poi torna indietro e segui il percorso scelto sopra.

Passo 1 — Quale connessione è giusta per te?

Tutti e tre si connettono allo stesso motore: 320,000+ spettri, ragionamento basato sul grafo della conoscenza e citazioni bibliografiche. Ne serve uno solo. Scegli il percorso più adatto al tuo modo di lavorare; MCP è un'opzione pratica per gli utenti di assistenti AI.

Cosa può fare realmente la tua IA

I servizi MCP e REST unificati espongono lo stesso catalogo di operazioni di FTIR.fun. Le chiavi API possono ricevere un ambito di funzionalità più ristretto, mentre le dichiarazioni specifiche della piattaforma possono pubblicare intenzionalmente solo un sottoinsieme. Le operazioni riportate di seguito condividono gli stessi servizi FTIR.fun.

Attività Strumento MCP Endpoint REST Dì questo al tuo AI
Leggi un file strumento parse_ftir_spectrum POST /parse-spectrum Analizza sample.spc ed elenca i picchi rilevati.
Converti i dati nativi e conserva i metadati convert_native_spectrum POST /native-spectrum/convert Converti sample.spa in JDX e mantieni i metadati di origine.
Identifica uno spettro sconosciuto analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifica di quale polimero è questo spettro.
Invia un report completo a tre assi submit_ftir_report POST /ftir/reports Invia sample.spa per un report completo in modalità ATR.
Interroga e recupera quel report get_ftir_report_status GET /ftir/reports/{task_id} Controlla il compito del rapporto e dammi il link quando è pronto.
Spiega i picchi explain_peaks POST /ftir/explain_peak_assignments Cosa indicano i picchi a 1715 e 1450 cm-1?
Trova uno spettro di riferimento noto find_spectra POST /ftir/find_spectra Trova spettri di riferimento per polistirene.
Riapri un risultato precedente fetch_result GET /ftir/result/{result_num} Recupera il risultato 20260528100755416137536.
🎓 Assegnazione dei picchi accademici — Per i campioni con composizione nota, la funzionalità avanzata REST/MCP di FTIR.fun assegna ogni picco misurato sulla base di evidenze tracciate nella letteratura. Ogni invio costa 30 punti oppure è gratuito con un abbonamento attivo; le richieste di stato non comportano costi. Descrivi l'attività in modo naturale (ad esempio: “Assegna tutti i picchi FTIR misurati per questo spettro; il campione è noto PMMA; inviami il report via email”) — il client fornisce il file e non devi mai costruire JSON o Base64 da solo. I risultati completati restituiscono sia lo stato JSON che gli indirizzi protetti del report; i report non sono esposti su un percorso di download pubblico.

Estensioni dei nomi file spettrali supportate (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. Mantieni l'estensione del file originale. I file non supportati o illeggibili restituiscono supported_extensions e supported_formats. I valori validi di sampling_mode sono KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR e Others. Transmission non è un valore valido.

esempio di risposta find_spectra

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

esempio di risposta explain_peaks

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

Ottenere il report completo (asincrono)

Lo screening rapido (analyze_spectrum) restituisce immediatamente il risultato. Il report completo sui tre assi viene eseguito in background e richiede in genere 30–90 secondi. Conserva il task_id e controllalo periodicamente invece di inviarlo nuovamente.

  1. Invia Chiama submit_ftir_report (MCP) o POST /ftir/reports (REST). Riceverai un task_id e un result_num riservato. Il campo file_base64 è obbligatorio; gli altri campi (sampling_mode, prior_context, language_code, sample_name, sample_order_no) sono opzionali.
    Esempio di invio (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"}'
    Invia risposta
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Sondaggio Chiama get_ftir_report_status (MCP) o GET /ftir/reports/{task_id} ogni 5-10 secondi finché completed non è true. La risposta completata include report_url, un oggetto report (contenuto dei risultati strutturato, con il dettagliato report_view al suo interno) e result_num.
    Esempio di polling
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Risposta di polling (in corso)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Risposta poll (completato)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Apri il report finale Apri l'URL completo https://ftir.fun/outputdata/?num={result_num} in un browser per visualizzare la pagina dei risultati tri-assiali completa renderizzata da FTIR.fun.
⚠️ Conserva il task_id ed esegui il polling fino al completamento o al fallimento. Invii duplicati mentre è in coda o in esecuzione sprecano punti.

Risoluzione dei problemi

Cosa vedi Cosa significa Cosa fare
Il client apre una pagina di autorizzazione del browser, o dice che la pagina di autorizzazione non esiste. Il tuo client sta usando una vecchia voce di server stile OAuth. FTIR.fun non usa OAuth — solo una chiave API. Elimina la vecchia voce del server ftirfun, incolla la configurazione esatta da questa pagina, ricarica il client e avvia di nuovo ftirfun.
401 (MCP) / 401 invalid_api_key (REST) La chiave API è mancante, scaduta, revocata o incollata in modo errato. Riavvia il server e incolla solo la chiave grezza (inizia con ftir_). Genera una nuova chiave dal Dashboard delle chiavi API se necessario.
Il server si avvia ma non compaiono strumenti. Il client non ha aggiornato il suo catalogo, o la configurazione utilizza il nome della chiave sbagliato. Per VS Code, conferma che mcp.json utilizza servers (non mcpServers). Quindi ferma e riavvia ftirfun, o ricarica la finestra.
403 insufficient_balance L'account non ha abbastanza punti per quell'analisi. Controlla il tuo saldo o abbonamento su FTIR.fun, poi riprova.
429 rate_limit_exceeded L'analisi e l'analisi REST consentono 60 richieste al minuto per chiave API; le letture dei risultati REST e dello stato del report utilizzano un bucket separato di 120 richieste al minuto; MCP consente 60 chiamate al minuto per ogni chiave API e strumento. Attendi il periodo di riprova segnalato dallo strumento prima di chiamare di nuovo.
Un report rimane in coda o in esecuzione. I report completi vengono eseguiti in modo asincrono e richiedono più tempo rispetto allo screening rapido. Mantieni lo stesso task_id ed esegui il polling. Se hai perso il task_id, chiama GET /ftir/tasks per elencare le attività recenti e ritrovarlo.
422 oppure missing_input Il corpo della richiesta non contiene i campi obbligatori o ha un formato non valido. Per analyze_spectrum, è necessario fornire almeno uno tra: peaks, query o file_base64. Controlla che il tuo JSON sia valido, Content-Type sia application/json e che i campi obbligatori siano presenti. Vedi gli esempi di richiesta sopra.
413 file_too_large Il file dello spettro caricato supera il limite di dimensione. Esporta un file più piccolo o usa solo le posizioni dei picchi tramite il campo spectrum.peaks.

Pronto a costruire?

Il riferimento REST completo contiene ogni endpoint, formati di richiesta e risposta, autenticazione, limiti di frequenza, codici di errore, definizioni degli strumenti MCP ed esempi di codice in Python e curl.

Invia Richiesta Modulo