Tích hợp nhà phát triển & AI

Kết nối FTIR.fun với bất kỳ công cụ hoặc ứng dụng AI nào

Cấp cho trợ lý AI hoặc mã của bạn quyền truy cập trực tiếp vào 320,000+ phổ tham chiếu, suy luận đỉnh dựa trên đồ thị tri thức và diễn giải dựa trên tài liệu. Chọn một trong ba cách kết nối — MCP cho trợ lý AI, REST API cho mã hoặc Skill có sẵn cho các nền tảng không cần mã. Mỗi tùy chọn bên dưới đều có hướng dẫn từng bước dành cho người dùng lần đầu.

Được liệt kê vào

Trước khi bắt đầu — lấy khóa API của bạn

MCP và REST API đều sử dụng một khóa API FTIR.fun. Coze/Doubao sử dụng khóa dịch vụ do nhà phát hành plugin cấu hình, vì vậy người dùng cuối có thể sử dụng plugin mà không cần dán khóa cá nhân. Việc lấy khóa cá nhân mất khoảng một phút:

  1. Đăng nhập vào FTIR.fun Tạo tài khoản miễn phí (tài khoản mới bao gồm tín dụng dùng thử miễn phí).
  2. Mở bảng điều khiển API Keys Đi đến Tài khoản → API Keys và nhấp vào Tạo.
  3. Xem hoặc sao chép khóa API của bạn Khóa đầy đủ (bắt đầu bằng ftir_) vẫn có sẵn trong bảng điều khiển API Keys. Bạn có thể quay lại đó để xem, sao chép hoặc thu hồi.
🔑 Sẵn sàng? Mở Bảng điều khiển Khóa API trong một tab mới, sau đó quay lại và làm theo đường dẫn bạn đã chọn ở trên.

Bước 1 — Kết nối nào phù hợp với bạn?

Cả ba đều kết nối với cùng một công cụ: 320,000+ phổ, suy luận bằng đồ thị tri thức và trích dẫn tài liệu. Bạn chỉ cần một lựa chọn. Hãy chọn phương thức phù hợp với cách bạn làm việc; MCP là một tùy chọn thuận tiện cho người dùng trợ lý AI.

Những gì AI của bạn thực sự có thể làm

Các dịch vụ MCP và REST hợp nhất cung cấp cùng một danh mục thao tác của FTIR.fun. Khóa API có thể chỉ nhận được phạm vi khả năng nhỏ hơn, trong khi các khai báo dành riêng cho nền tảng có thể chủ ý chỉ công bố một tập hợp con. Các thao tác dưới đây sử dụng chung các dịch vụ FTIR.fun.

Nhiệm vụ Công cụ MCP Điểm cuối REST Nói điều này với AI của bạn
Đọc tệp thiết bị parse_ftir_spectrum POST /parse-spectrum Phân tích sample.spc và liệt kê các đỉnh phát hiện được.
Chuyển đổi dữ liệu bản địa và bảo quản siêu dữ liệu convert_native_spectrum POST /native-spectrum/convert Chuyển đổi sample.spa sang JDX và giữ siêu dữ liệu nguồn.
Xác định phổ chưa biết analyze_ftir_spectrum POST /ftir/analyze_spectrum Xác định polymer mà phổ này là.
Gửi báo cáo ba trục đầy đủ submit_ftir_report POST /ftir/reports Gửi sample.spa để có báo cáo đầy đủ ở chế độ ATR.
Truy vấn và lấy báo cáo đó get_ftir_report_status GET /ftir/reports/{task_id} Kiểm tra tác vụ báo cáo và cung cấp cho tôi liên kết khi hoàn thành.
Giải thích các đỉnh explain_peaks POST /ftir/explain_peak_assignments Các đỉnh tại 1715 và 1450 cm-1 chỉ ra điều gì?
Tìm phổ tham chiếu đã biết find_spectra POST /ftir/find_spectra Tìm phổ tham chiếu cho polystyrene.
Mở lại kết quả trước đó fetch_result GET /ftir/result/{result_num} Lấy kết quả 20260528100755416137536.
🎓 Gán đỉnh học thuật — Đối với các mẫu có thành phần đã biết, chức năng REST/MCP nâng cao của FTIR.fun gán mọi đỉnh đo được cùng với bằng chứng được truy xuất từ tài liệu tham khảo. Mỗi lần gửi tiêu tốn 30 điểm hoặc được miễn phí khi có gói đăng ký đang hoạt động; các truy vấn trạng thái không bị tính phí. Mô tả tác vụ một cách tự nhiên (ví dụ: "Gán tất cả các đỉnh FTIR đo được cho phổ này; mẫu được biết là PMMA; gửi báo cáo qua email cho tôi") — máy khách cung cấp tệp và bạn không bao giờ cần tự xây dựng JSON hoặc Base64. Kết quả hoàn thành trả về cả trạng thái JSON và địa chỉ báo cáo được bảo vệ; báo cáo không được hiển thị trên đường dẫn tải xuống công khai.

Phần mở rộng tên tệp phổ được hỗ trợ (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. Giữ nguyên phần mở rộng tên tệp gốc. Các tệp không được hỗ trợ hoặc không đọc được sẽ trả về supported_extensions và supported_formats. Các giá trị sampling_mode hợp lệ là KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR và Others. Transmission không phải là giá trị hợp lệ.

ví dụ phản hồi find_spectra

phản hồi 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": [...]}
  ]
}

ví dụ phản hồi explain_peaks

phản hồi 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..."
}

Đang lấy báo cáo đầy đủ (bất đồng bộ)

Sàng lọc nhanh (analyze_spectrum) trả về ngay lập tức. Báo cáo đầy đủ theo ba trục chạy trong nền và thường mất 30–90 giây. Hãy giữ lại task_id và thăm dò trạng thái thay vì gửi lại yêu cầu.

  1. Gửi Gọi submit_ftir_report (MCP) hoặc POST /ftir/reports (REST). Bạn nhận lại task_id và result_num đã được dành riêng. Trường file_base64 là bắt buộc; các trường khác (sampling_mode, prior_context, language_code, sample_name, sample_order_no) là tùy chọn.
    Ví dụ gửi (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"}'
    Gửi phản hồi
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. Truy vấn Gọi get_ftir_report_status (MCP) hoặc GET /ftir/reports/{task_id} mỗi 5–10 giây cho đến khi completed là true. Phản hồi hoàn thành bao gồm report_url, một đối tượng report (nội dung kết quả có cấu trúc, với report_view chi tiết bên trong) và result_num.
    Ví dụ polling
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Phản hồi poll (đang tiến hành)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Phản hồi thăm dò (đã hoàn thành)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Mở báo cáo cuối cùng Mở URL đầy đủ https://ftir.fun/outputdata/?num={result_num} trong trình duyệt để xem trang kết quả tri-axis hoàn chỉnh được hiển thị bởi FTIR.fun.
⚠️ Giữ task_id và thăm dò cho đến khi hoàn tất hoặc thất bại. Việc gửi trùng lặp khi tác vụ đang xếp hàng hoặc đang chạy sẽ làm lãng phí điểm.

Khắc phục sự cố

Những gì bạn thấy Ý nghĩa của nó Phải làm gì
Máy khách mở trang ủy quyền trình duyệt hoặc thông báo trang ủy quyền không tồn tại. Máy khách của bạn đang sử dụng mục nhập máy chủ kiểu OAuth cũ. FTIR.fun không sử dụng OAuth — chỉ có khóa API. Xóa mục nhập máy chủ ftirfun cũ, dán cấu hình chính xác từ trang này, tải lại máy khách và khởi động lại ftirfun.
401 (MCP) / 401 invalid_api_key (REST) Khóa API bị thiếu, hết hạn, bị thu hồi hoặc dán không chính xác. Khởi động lại máy chủ và dán chỉ khóa thô (bắt đầu bằng ftir_). Tạo khóa mới từ Bảng điều khiển khóa API nếu cần.
Máy chủ khởi động nhưng không có công cụ nào xuất hiện. Máy khách chưa làm mới danh mục của nó hoặc cấu hình sử dụng tên khóa sai. Đối với VS Code, xác nhận mcp.json sử dụng servers (không phải mcpServers). Sau đó dừng và khởi động lại ftirfun, hoặc tải lại cửa sổ.
403 insufficient_balance Tài khoản không đủ điểm cho phân tích đó. Kiểm tra số dư hoặc gói đăng ký của bạn trong FTIR.fun, sau đó thử lại.
429 rate_limit_exceeded Phân tích và phân tích cú pháp REST cho phép 60 yêu cầu mỗi phút cho mỗi khóa API; đọc kết quả REST và báo cáo trạng thái sử dụng một nhóm riêng 120 yêu cầu mỗi phút; MCP cho phép 60 cuộc gọi mỗi phút cho mỗi khóa API và công cụ. Chờ khoảng thời gian thử lại do công cụ báo cáo trước khi gọi lại.
Một báo cáo đang ở trạng thái xếp hàng hoặc đang chạy. Các báo cáo đầy đủ chạy bất đồng bộ và mất nhiều thời gian hơn so với sàng lọc nhanh. Giữ nguyên task_id và thực hiện thăm dò. Nếu bạn đã mất task_id, hãy gọi GET /ftir/tasks để liệt kê các tác vụ gần đây và tìm lại task_id.
422 hoặc missing_input Nội dung yêu cầu thiếu các trường bắt buộc hoặc có định dạng không hợp lệ. Đối với analyze_spectrum, bạn phải cung cấp ít nhất một trong: peaks, query, hoặc file_base64. Kiểm tra JSON của bạn hợp lệ, Content-Type là application/json và các trường bắt buộc có mặt. Xem các yêu cầu ví dụ ở trên.
413 file_too_large Tệp phổ đã tải lên vượt quá giới hạn kích thước. Xuất tệp nhỏ hơn hoặc chỉ sử dụng vị trí đỉnh qua trường spectrum.peaks.

Sẵn sàng xây dựng?

Tài liệu tham khảo REST đầy đủ có mọi endpoint, định dạng yêu cầu và phản hồi, xác thực, giới hạn tốc độ, mã lỗi, định nghĩa công cụ MCP và ví dụ mã trong Python và curl.

Gửi yêu cầu Biểu mẫu