Integrasi Pengembang & AI

Hubungkan FTIR.fun ke Alat atau Aplikasi AI Apa Pun

Berikan kepada asisten AI Anda atau kode Anda sendiri akses langsung ke 320,000+ spektrum referensi, penalaran puncak berbasis graf pengetahuan, dan interpretasi yang didukung literatur. Pilih salah satu dari tiga cara untuk terhubung — MCP untuk asisten AI, REST API untuk kode, atau Skill siap pakai untuk platform tanpa kode. Setiap jalur di bawah ini dilengkapi petunjuk langkah demi langkah yang ditulis untuk pengguna pertama kali.

Terdaftar pada

Sebelum Anda mulai — dapatkan kunci API Anda

MCP dan REST API sama-sama menggunakan satu kunci API FTIR.fun. Coze/Doubao menggunakan kunci layanan yang dikonfigurasi oleh penerbit plugin, sehingga pengguna akhir dapat menggunakan plugin tanpa menempelkan kunci pribadi. Mendapatkan kunci pribadi memerlukan waktu sekitar satu menit:

  1. Masuk ke FTIR.fun Buat akun gratis (akun baru mencakup kredit uji coba gratis).
  2. Buka dasbor Kunci API Buka Akun → Kunci API dan klik Hasilkan.
  3. Lihat atau salin kunci API Anda Kunci lengkap (dimulai dengan ftir_) tetap tersedia di dasbor Kunci API. Anda dapat kembali ke sana untuk melihat, menyalin, atau mencabutnya.
🔑 Siap? Buka Dasbor Kunci API di tab baru, lalu kembali dan ikuti jalur yang Anda pilih di atas.

Langkah 1 — Koneksi mana yang tepat untuk Anda?

Ketiganya terhubung ke mesin yang sama: 320,000+ spektrum, penalaran grafik pengetahuan, dan sitasi literatur. Anda hanya memerlukan satu. Pilih jalur yang sesuai dengan cara kerja Anda; MCP adalah opsi yang praktis bagi pengguna asisten AI.

Apa yang sebenarnya dapat dilakukan AI Anda

Layanan MCP dan REST terpadu menyediakan katalog operasi FTIR.fun yang sama. Kunci API mungkin menerima cakupan kemampuan yang lebih kecil, sementara deklarasi khusus platform dapat dengan sengaja hanya memublikasikan sebagian. Operasi di bawah ini menggunakan layanan FTIR.fun yang sama.

Tugas Alat MCP Titik akhir REST Katakan ini ke AI Anda
Baca file instrumen parse_ftir_spectrum POST /parse-spectrum Parsing sample.spc dan daftarkan puncak yang terdeteksi.
Konversi data asli dan pertahankan metadata convert_native_spectrum POST /native-spectrum/convert Ubah sample.spa menjadi JDX dan pertahankan metadata sumber.
Identifikasi spektrum yang tidak diketahui analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifikasi polimer apa spektrum ini.
Kirim laporan tiga sumbu lengkap submit_ftir_report POST /ftir/reports Kirimkan sample.spa untuk laporan lengkap dalam mode ATR.
Periksa dan ambil laporan tersebut get_ftir_report_status GET /ftir/reports/{task_id} Periksa tugas laporan dan beri saya tautannya setelah selesai.
Jelaskan puncak explain_peaks POST /ftir/explain_peak_assignments Apa yang ditunjukkan oleh puncak pada 1715 dan 1450 cm-1?
Temukan spektrum referensi yang dikenal find_spectra POST /ftir/find_spectra Temukan spektrum referensi untuk polistirena.
Buka kembali hasil sebelumnya fetch_result GET /ftir/result/{result_num} Ambil hasil 20260528100755416137536.
🎓 Asignasi Puncak Akademik — Untuk sampel dengan komposisi yang telah diketahui, kapabilitas REST/MCP FTIR.fun tingkat lanjut menetapkan setiap puncak yang terukur dengan bukti yang ditelusuri melalui literatur. Setiap pengiriman dikenai biaya 30 poin, atau gratis dengan langganan aktif; kueri status tidak dikenai biaya. Jelaskan tugas secara alami (misalnya: “Tetapkan semua puncak FTIR yang diukur untuk spektrum ini; sampelnya adalah PMMA yang diketahui; kirim laporan melalui email kepada saya”) — klien menyediakan file dan Anda tidak perlu membuat JSON atau Base64 sendiri. Hasil yang selesai mengembalikan status JSON dan alamat laporan yang dilindungi; laporan tidak diekspos di jalur unduhan publik.

Ekstensi nama file spektrum yang didukung (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. Pertahankan ekstensi nama file asli. File yang tidak didukung atau tidak dapat dibaca mengembalikan supported_extensions dan supported_formats. Nilai sampling_mode yang valid adalah KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR, dan Others. Transmission bukan nilai yang valid.

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": "instrument_import",
     "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 lengkap (async)

Penyaringan cepat (analyze_spectrum) mengembalikan hasil segera. Laporan tri-sumbu lengkap berjalan di latar belakang dan biasanya memerlukan waktu 30–90 detik. Simpan task_id dan lakukan polling, bukan mengirimkan ulang permintaan.

  1. Kirim Panggil submit_ftir_report (MCP) atau POST /ftir/reports (REST). Anda akan menerima task_id dan result_num yang dicadangkan. Bidang file_base64 wajib diisi; bidang lainnya (sampling_mode, prior_context, language_code, sample_name, sample_order_no) bersifat opsional.
    Kirim contoh (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"}'
    Kirim respons
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Jajak Pendapat Panggil get_ftir_report_status (MCP) atau GET /ftir/reports/{task_id} setiap 5–10 detik hingga completed menjadi true. Respons yang selesai mencakup report_url, objek report (konten hasil terstruktur, dengan report_view terperinci di dalamnya), dan result_num.
    Contoh polling
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Respons polling (sedang berlangsung)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Respons polling (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 lengkap https://ftir.fun/outputdata/?num={result_num} di browser untuk melihat halaman hasil tri-sumbu lengkap yang dirender oleh FTIR.fun.
⚠️ Pertahankan task_id dan lakukan polling hingga selesai atau gagal. Pengiriman duplikat saat berada dalam antrean atau sedang berjalan akan membuang poin.

Pemecahan masalah

Apa yang Anda lihat Apa artinya Apa yang harus dilakukan
Klien membuka halaman otorisasi browser, atau mengatakan halaman otorisasi tidak ada. Klien Anda menggunakan entri server bergaya OAuth lama. FTIR.fun tidak menggunakan OAuth — hanya kunci API. Hapus entri server ftirfun lama, tempel konfigurasi persis dari halaman ini, muat ulang klien, dan mulai ftirfun lagi.
401 (MCP) / 401 invalid_api_key (REST) Kunci API tidak ada, kedaluwarsa, dicabut, atau ditempel dengan salah. Mulai ulang server dan tempel hanya kunci mentah (diawali dengan ftir_). Buat kunci baru dari Dasbor Kunci API jika diperlukan.
Server mulai tetapi tidak ada alat yang muncul. Klien belum memperbarui katalognya, atau konfigurasi menggunakan nama kunci yang salah. Untuk VS Code, pastikan mcp.json menggunakan servers (bukan mcpServers). Kemudian hentikan dan mulai ftirfun, atau muat ulang jendela.
403 insufficient_balance Akun tidak memiliki cukup poin untuk analisis tersebut. Periksa saldo atau langganan Anda di FTIR.fun, lalu coba lagi.
429 rate_limit_exceeded Analisis dan penguraian REST memungkinkan 60 permintaan per menit per kunci API; pembacaan hasil REST dan status laporan menggunakan kuota terpisah 120 permintaan per menit; MCP memungkinkan 60 panggilan per menit untuk setiap kunci API dan alat. Tunggu periode percobaan ulang yang dilaporkan oleh alat sebelum memanggil lagi.
Laporan tetap dalam antrean atau sedang berjalan. Laporan lengkap berjalan secara asinkron dan membutuhkan waktu lebih lama daripada pemeriksaan cepat. Pertahankan task_id yang sama dan lakukan polling. Jika task_id hilang, panggil GET /ftir/tasks untuk mencantumkan tugas terbaru Anda dan menemukannya kembali.
422 atau missing_input Isi permintaan tidak memiliki bidang yang diperlukan atau formatnya tidak valid. Untuk analyze_spectrum, Anda harus menyediakan setidaknya satu dari: peaks, query, atau file_base64. Pastikan JSON Anda valid, Content-Type adalah application/json, dan bidang yang diperlukan ada. Lihat contoh permintaan di atas.
413 file_too_large File spektrum yang diunggah melebihi batas ukuran. Ekspor file yang lebih kecil atau gunakan hanya posisi puncak melalui field spectrum.peaks.

Siap membangun?

Referensi REST lengkap memiliki setiap endpoint, format permintaan dan respons, autentikasi, batas kecepatan, kode kesalahan, definisi alat MCP, dan contoh kode dalam Python dan curl.

Kirim Persyaratan Formulir