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 peste 130.000 de spectre de referință, raționament pe bază de graf de cunoștințe pentru vârfuri și interpretare susținută de literatură. Alegeți una din trei moduri de conectare — MCP pentru asistenți AI, REST API pentru cod sau un Skill gata făcut pentru platforme fără cod. Fiecare cale de mai jos are instrucțiuni pas cu pas scrise pentru utilizatorii începători.

Revizuit și listat pe

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

Atât MCP cât și API-ul REST folosesc o singură cheie API FTIR.fun. Coze/Doubao folosește o cheie de serviciu configurată de editorul pluginului, astfel încât utilizatorii finali nu lipesc o cheie personală. Obținerea unei chei personale durează aproximativ un minut:

  1. Autentifică-te la FTIR.fun Creați un cont gratuit dacă nu aveți unul. Conturile noi includ credite de probă gratuite.
  2. Deschideți tabloul de bord al cheilor API Accesați Cont → Chei API și faceți clic pe Generare.
  3. Copiați și salvați cheia imediat Cheia completă (începe cu ftir_) este afișată o singură dată. Stocați-o într-un loc sigur. Dacă o pierdeți, generați una nouă.
🔑 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.
⚠️ Serverul MCP găzduit acceptă doar o cheie API de cont generată în Tabloul de bord al cheilor API FTIR.fun (începe cu ftir_). Cheile master de pe server sunt pentru operatorii REST și nu se pot autentifica la MCP găzduit.

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

Toate trei se conectează la același motor: 130.000+ spectre, raționament pe graf de cunoștințe și citări bibliografice. Ai nevoie doar de unul. Alege în funcție de cum lucrezi — nu ești sigur? MCP este cea mai populară alegere pentru oricine folosește un asistent AI.

Ce poate face de fapt AI-ul tău

Distribuțiile actuale MCP, REST, n8n și LangChain expun șapte operațiuni. Pluginul Coze publicat expune trei instrumente (analyze, find, explain), iar alte șabloane pot expune un set declarat mai mic; verificați fiecare card de platformă înainte de utilizare. Operațiunile de mai jos împart 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.
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.

Fișiere suportate: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. 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ă. Păstrați extensia originală a fișierului pentru ca FTIR.fun să selecteze analizorul corect.

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": "direct_read:spa",
     "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. Raportul complet tri-axial rulează în fundal și durează de obicei 30–90 de secunde. Nu retrimiteți cât timp un raport este în derulare — păstrați task_id și interogați-l.

  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"}
  2. Sondaj Apelați 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, report_view (conținut structurat al raportului) ș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.
⚠️ Nu trimiteți din același raport cât timp este în așteptare sau în desfășurare. Păstrați task_id și continuați să interogați până când este finalizat sau a eșuat. Trimiterile duplicate irosesc 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 continuați să interogați. Nu creați sarcini de raport duplicate.
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 cererea Formular