Integrare dezvoltator și AI

Conectează FTIR.fun la orice unealtă sau aplicație AI

Oferiți asistentului dumneavoastră AI sau propriului cod acces direct la 320,000+ spectre de referință, raționament bazat pe vârfuri în grafuri de cunoștințe și interpretare susținută de literatura de specialitate. Alegeți una dintre cele trei modalități de conectare — MCP pentru asistenți AI, API REST pentru cod sau un Skill gata pregătit pentru platforme fără cod. Fiecare opțiune de mai jos include instrucțiuni pas cu pas, concepute pentru utilizatorii aflați la prima utilizare.

Listat la

Înainte de a începe — obțineți cheia API

MCP și API-ul REST utilizează ambele aceeași cheie API FTIR.fun. Coze/Doubao utilizează o cheie de serviciu configurată de editorul pluginului, astfel încât utilizatorii finali lucrează prin plugin fără să introducă o cheie personală. Obținerea unei chei personale durează aproximativ un minut:

  1. Autentifică-te la FTIR.fun Creați un cont gratuit (conturile noi includ credite gratuite pentru perioada de probă).
  2. Deschideți tabloul de bord al cheilor API Accesați Cont → Chei API și faceți clic pe Generare.
  3. Vizualizați sau copiați cheia dvs. API Cheia completă (începe cu ftir_) rămâne disponibilă în panoul de control al cheilor API. Puteți reveni acolo pentru a o vizualiza, copia sau revoca.
🔑 Gata? Deschideți Tabloul de bord al cheilor API într-o filă nouă, apoi reveniți și urmați calea pe care ați ales-o mai sus.

Pasul 1 — Care conexiune este potrivită pentru dumneavoastră?

Toate trei se conectează la același motor: 320,000+ spectre, raționament bazat pe grafuri de cunoștințe și citări din literatura de specialitate. Aveți nevoie de unul singur. Alegeți calea care corespunde modului dumneavoastră de lucru; MCP este o opțiune convenabilă pentru utilizatorii asistenților AI.

Ce poate face de fapt AI-ul tău

Serviciile MCP și REST unificate expun același catalog de operațiuni FTIR.fun. Cheile API pot primi un domeniu de capabilități mai restrâns, în timp ce declarațiile specifice platformei pot publica intenționat doar un subset. Operațiunile de mai jos utilizează aceleași servicii FTIR.fun.

Sarcină Instrument MCP Endpoint REST Spuneți acest lucru AI-ului dvs.
Citește un fișier de instrument parse_ftir_spectrum POST /parse-spectrum Analizează sample.spc și listează vârfurile detectate.
Convertește datele native și păstrează metadatele convert_native_spectrum POST /native-spectrum/convert Convertește sample.spa la JDX și păstrează metadata-ul sursă.
Identificați un spectru necunoscut analyze_ftir_spectrum POST /ftir/analyze_spectrum Identificați ce polimer este acest spectru.
Trimiteți un raport complet pe trei axe submit_ftir_report POST /ftir/reports Trimiteți sample.spa pentru un raport complet în modul ATR.
Interogați și preluați acel raport. get_ftir_report_status GET /ftir/reports/{task_id} Verificați sarcina raportului și dați-mi link-ul când este gata.
Explică vârfurile explain_peaks POST /ftir/explain_peak_assignments Ce indică vârfurile la 1715 și 1450 cm-1?
Găsiți un spectru de referință cunoscut find_spectra POST /ftir/find_spectra Găsiți spectre de referință pentru polistiren.
Redeschide un rezultat anterior fetch_result GET /ftir/result/{result_num} Obțineți rezultatul 20260528100755416137536.
🎓 Atribuirea vârfurilor academice — Pentru probele cu o compoziție cunoscută, capabilitatea avansată FTIR.fun REST/MCP atribuie fiecărui vârf măsurat dovezi urmărite în literatura de specialitate. Fiecare trimitere costă 30 puncte sau este gratuită cu un abonament activ; interogările privind starea nu sunt taxate. Descrie sarcina în mod natural (de exemplu: „Atribuie toate vârfurile FTIR măsurate pentru acest spectru; proba este PMMA cunoscut; trimite-mi raportul prin e-mail”) — clientul furnizează fișierul și nu trebuie să construiești niciodată JSON sau Base64. Rezultatele finalizate returnează atât starea JSON, cât și adresele protejate ale raportului; rapoartele nu sunt expuse pe o cale publică de descărcare.

Extensii de nume de fișier spectru acceptate (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. Păstrați extensia originală a numelui de fișier. Fișierele neacceptate sau ilizibile returnează supported_extensions și supported_formats. Valorile valide pentru sampling_mode sunt KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR și Others. Transmission nu este o valoare validă.

exemplu de răspuns find_spectra

răspuns 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": [...]}
  ]
}

exemplu de răspuns explain_peaks

Răspunsul 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..."
}

Obținerea raportului complet (async)

Screeningul rapid (analyze_spectrum) returnează imediat rezultatul. Raportul complet pe trei axe rulează în fundal și durează de obicei 30–90 de secunde. Păstrați task_id și interogați-l în loc să retrimiteți solicitarea.

  1. Trimiteți Apelați submit_ftir_report (MCP) sau POST /ftir/reports (REST). Primiți înapoi un task_id și un result_num rezervat. Câmpul file_base64 este obligatoriu; celelalte câmpuri (sampling_mode, prior_context, language_code, sample_name, sample_order_no) sunt opționale.
    Exemplu de trimitere (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"}'
    Trimiteți răspunsul
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Sondaj Apelează get_ftir_report_status (MCP) sau GET /ftir/reports/{task_id} la fiecare 5–10 secunde până când completed este true. Răspunsul finalizat include report_url, un obiect report (conținut structurat al rezultatului, cu report_view detaliat în interior) și result_num.
    Exemplu de interogare
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Răspuns la interogare (în curs)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Răspunsul de sondare (finalizat)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Deschideți raportul final Deschideți URL-ul complet https://ftir.fun/outputdata/?num={result_num} într-un browser pentru a vedea pagina completă a rezultatelor tri-axiale redată de FTIR.fun.
⚠️ Păstrează task_id și interoghează periodic până la finalizare sau eșec. Trimiterile duplicate în timp ce sarcina este în așteptare sau rulează consumă inutil puncte.

Depanare

Ceea ce vedeți Ce înseamnă Ce trebuie să faceți
Clientul deschide o pagină de autorizare în browser sau spune că pagina de autorizare nu există. Clientul tău folosește o intrare de server în stil OAuth vechi. FTIR.fun nu folosește OAuth — doar o cheie API. Ștergeți intrarea veche a serverului ftirfun, lipiți configurația exactă de pe această pagină, reîncărcați clientul și porniți din nou ftirfun.
401 (MCP) / 401 invalid_api_key (REST) Cheia API lipsește, a expirat, a fost revocată sau lipită incorect. Reporniți serverul și lipiți doar cheia brută (începe cu ftir_). Generați o cheie nouă din Tabloul de bord al cheilor API dacă este necesar.
Serverul pornește, dar nu apar instrumente. Clientul nu și-a reîmprospătat catalogul, sau configurația folosește un nume de cheie greșit. Pentru VS Code, confirmați că mcp.json folosește servers (nu mcpServers). Apoi opriți și porniți ftirfun, sau reîncărcați fereastra.
403 insufficient_balance Contul nu are suficiente puncte pentru acea analiză. Verificați soldul sau abonamentul în FTIR.fun, apoi reîncercați.
429 rate_limit_exceeded Analiza și parsarea REST permit 60 de solicitări pe minut per cheie API; citirile rezultatelor REST și a stării rapoartelor utilizează un bucket separat de 120 de solicitări pe minut; MCP permite 60 de apeluri pe minut pentru fiecare cheie API și instrument. Așteaptă perioada de reîncercare raportată de instrument înainte de a apela din nou.
Un raport rămâne în coadă sau în curs de execuție. Rapoartele complete rulează asincron și durează mai mult decât verificarea rapidă. Păstrați același task_id și interogați periodic. Dacă ați pierdut task_id, apelați GET /ftir/tasks pentru a lista sarcinile recente și a-l identifica din nou.
422 sau missing_input Corpul cererii nu conține câmpurile obligatorii sau are un format invalid. Pentru analyze_spectrum, trebuie să furnizați cel puțin unul dintre: peaks, query sau file_base64. Verificați că JSON-ul este valid, Content-Type este application/json și câmpurile obligatorii sunt prezente. Vedeți exemplele de cereri de mai sus.
413 file_too_large Fișierul spectru încărcat depășește limita de dimensiune. Exportați un fișier mai mic sau utilizați doar pozițiile vârfurilor prin câmpul spectrum.peaks.

Pregătit să construiți?

Referința completă REST conține fiecare endpoint, formatele cererii și răspunsului, autentificarea, limitele de rată, codurile de eroare, definițiile instrumentelor MCP și exemple de cod în Python și curl.

Trimiteți cerința Formular