Integrasi Pembangun & AI

Sambungkan FTIR.fun ke Mana-mana Alat atau Aplikasi AI

Berikan pembantu AI atau kod anda sendiri akses terus kepada lebih 130,000 spektrum rujukan, penaakulan puncak graf pengetahuan, dan tafsiran berasaskan literatur. Pilih satu daripada tiga cara untuk menyambung — MCP untuk pembantu AI, REST API untuk kod, atau Skill siap sedia untuk platform tanpa kod. Setiap laluan di bawah mempunyai arahan langkah demi langkah yang ditulis untuk pengguna kali pertama.

Disemak & disenaraikan pada

Sebelum anda mula — dapatkan kunci API anda

MCP dan API REST kedua-duanya menggunakan satu kunci API FTIR.fun. Coze/Doubao menggunakan kunci perkhidmatan yang dikonfigurasikan oleh penerbit plugin, jadi pengguna akhir tidak menampal kunci peribadi. Mendapatkan kunci peribadi mengambil masa kira-kira satu minit:

  1. Log masuk ke FTIR.fun Buat akaun percuma jika anda tidak mempunyai satu. Akaun baharu termasuk kredit percubaan percuma.
  2. Buka papan pemuka Kunci API Pergi ke Akaun → Kunci API dan klik Jana.
  3. Salin dan simpan kunci dengan segera Kunci penuh (ia bermula dengan ftir_) ditunjukkan hanya sekali. Simpan di tempat yang selamat. Jika anda hilang, hanya jana yang baharu.
🔑 Sedia? Buka Papan Pemuka Kunci API dalam tab baharu, kemudian kembali dan ikuti laluan yang anda pilih di atas.
⚠️ Pelayan MCP yang dihoskan hanya menerima kunci API akaun yang dijana dalam Papan Pemuka Kunci API FTIR.fun (bermula dengan ftir_). Kunci induk sebelah pelayan adalah untuk pengendali REST dan tidak boleh log masuk ke MCP yang dihoskan.

Langkah 1 — Sambungan mana yang sesuai untuk anda?

Ketiga-tiga bersambung ke enjin yang sama: 130,000+ spektrum, penaakulan graf pengetahuan, dan petikan literatur. Anda hanya perlukan satu. Pilih berdasarkan cara anda bekerja — tidak pasti? MCP adalah pilihan paling popular untuk sesiapa yang menggunakan pembantu AI.

Apa yang AI anda boleh lakukan sebenarnya

Pengagihan MCP, REST, n8n, dan LangChain semasa mendedahkan tujuh operasi. Plugin Coze yang diterbitkan mendedahkan tiga alat (analisis, cari, terangkan), dan templat lain mungkin mendedahkan set yang lebih kecil; periksa setiap kad platform sebelum digunakan. Operasi di bawah berkongsi perkhidmatan FTIR.fun yang sama.

Tugas Alat MCP Titik akhir REST Katakan ini kepada AI anda
Baca fail instrumen parse_ftir_spectrum POST /parse-spectrum Hurai sample.spc dan senaraikan puncak yang dikesan.
Kenal pasti spektrum yang tidak diketahui analyze_ftir_spectrum POST /ftir/analyze_spectrum Kenal pasti polimer apakah spektrum ini.
Hantar laporan tri-paksi penuh submit_ftir_report POST /ftir/reports Hantar sample.spa untuk laporan penuh dalam mod ATR.
Undi dan ambil laporan tersebut get_ftir_report_status GET /ftir/reports/{task_id} Semak tugasan laporan dan beri saya pautan setelah selesai.
Terangkan puncak explain_peaks POST /ftir/explain_peak_assignments Apakah yang ditunjukkan oleh puncak pada 1715 dan 1450 cm-1?
Cari spektrum rujukan yang diketahui find_spectra POST /ftir/find_spectra Cari spektrum rujukan untuk polistirena.
Buka semula hasil terdahulu fetch_result GET /ftir/result/{result_num} Ambil keputusan 20260528100755416137536.

Fail yang disokong: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Nilai sampling_mode yang sah ialah KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR, dan Others. Penghantaran bukan nilai yang sah. Simpan sambungan fail asal supaya FTIR.fun memilih penghurai yang betul.

contoh respons find_spectra

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

contoh respons explain_peaks

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

Mendapatkan laporan penuh (tak segerak)

Saringan cepat (analyze_spectrum) mengembalikan segera. Laporan tri-paksi penuh berjalan di latar belakang dan biasanya mengambil masa 30–90 saat. Jangan hantar semula semasa laporan berjalan — simpan task_id dan pollingnya.

  1. Hantar Panggil submit_ftir_report (MCP) atau POST /ftir/reports (REST). Anda akan mendapat task_id dan result_num yang dikhaskan. Medan file_base64 diperlukan; medan lain (sampling_mode, prior_context, language_code, sample_name, sample_order_no) adalah pilihan.
    Contoh hantar (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"}'
    Hantar respons
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Undian Panggil get_ftir_report_status (MCP) atau GET /ftir/reports/{task_id} setiap 5–10 saat sehingga completed adalah true. Respons yang lengkap termasuk report_url, report_view (kandungan laporan berstruktur), dan result_num.
    Contoh polling
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Respons polling (dalam proses)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Jawapan undian (selesai)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Buka laporan akhir Buka URL penuh https://ftir.fun/outputdata/?num={result_num} dalam pelayar untuk melihat halaman hasil tri-paksi lengkap yang diberikan oleh FTIR.fun.
⚠️ Jangan hantar laporan yang sama semasa ia dalam barisan atau berjalan. Simpan task_id dan teruskan polling sehingga ia selesai atau gagal. Penghantaran yang sama membuang mata.

Penyelesaian Masalah

Apa yang anda lihat Apa maksudnya Apa yang perlu dilakukan
Klien membuka halaman pengesahan penyemak imbas, atau mengatakan halaman pengesahan tidak wujud. Klien anda menggunakan entri pelayan gaya OAuth lama. FTIR.fun tidak menggunakan OAuth — hanya kunci API. Padam entri pelayan ftirfun lama, tampal konfigurasi tepat dari halaman ini, muat semula klien, dan mulakan ftirfun semula.
401 (MCP) / 401 invalid_api_key (REST) Kunci API hilang, tamat tempoh, dibatalkan, atau ditampal dengan salah. Mulakan semula pelayan dan tampal hanya kunci mentah (bermula dengan ftir_). Jana kunci baharu daripada Papan Pemuka Kunci API jika perlu.
Pelayan bermula tetapi tiada alat muncul. Pelanggan tidak menyegarkan katalognya, atau konfigurasi menggunakan nama kunci yang salah. Untuk VS Code, sahkan mcp.json menggunakan pelayan (bukan mcpPelayan). Kemudian hentikan dan mulakan ftirfun, atau muat semula tetingkap.
403 insufficient_balance Akaun tidak mempunyai mata yang mencukupi untuk analisis itu. Semak baki atau langganan anda di FTIR.fun, kemudian cuba lagi.
429 rate_limit_exceeded Analisis dan penghuraian REST membenarkan 60 permintaan seminit bagi setiap kunci API; bacaan hasil REST dan status laporan menggunakan baldi 120 permintaan seminit yang berasingan; MCP membenarkan 60 panggilan seminit bagi setiap kunci API dan alat. Tunggu tempoh percubaan semula yang dilaporkan oleh alat sebelum memanggil lagi.
Laporan kekal dalam baris gilir atau berjalan. Laporan penuh berjalan secara tak segerak dan mengambil masa lebih lama daripada saringan pantas. Kekalkan task_id yang sama dan teruskan polling. Jangan buat tugas laporan pendua.
422 atau missing_input Badan permintaan tidak mengandungi medan yang diperlukan atau mempunyai format yang tidak sah. Untuk analyze_spectrum, anda mesti menyediakan sekurang-kurangnya satu daripada: peaks, query, atau file_base64. Pastikan JSON anda sah, Content-Type adalah application/json, dan medan yang diperlukan ada. Lihat contoh permintaan di atas.
413 file_too_large Fail spektrum yang dimuat naik melebihi had saiz. Eksport fail yang lebih kecil atau gunakan hanya kedudukan puncak melalui medan spectrum.peaks.

Bersedia untuk membina?

Rujukan REST penuh mempunyai setiap titik akhir, format permintaan dan respons, pengesahan, had kadar, kod ralat, definisi alat MCP, dan contoh kod dalam Python dan curl.

Hantar Permohonan Borang