การผสานรวมนักพัฒนาและ AI

เชื่อมต่อ FTIR.fun กับเครื่องมือ AI หรือแอปใดๆ

ให้ผู้ช่วย AI หรือโค้ดของคุณเข้าถึงสเปกตรัมอ้างอิงจำนวน 320,000+ รายการ การให้เหตุผลเกี่ยวกับพีคผ่านกราฟความรู้ และการตีความที่อ้างอิงจากเอกสารวิชาการได้โดยตรง เลือกหนึ่งในสามวิธีการเชื่อมต่อ ได้แก่ MCP สำหรับผู้ช่วย AI, REST API สำหรับโค้ด หรือ Skill สำเร็จรูปสำหรับแพลตฟอร์มแบบไม่ต้องเขียนโค้ด ทุกเส้นทางด้านล่างมีคำแนะนำทีละขั้นตอนสำหรับผู้ใช้ครั้งแรก

ระบุไว้เมื่อ

ก่อนเริ่ม — รับคีย์ API ของคุณ

ทั้ง MCP และ REST API ใช้คีย์ API ของ FTIR.fun ร่วมกัน ส่วน Coze/Doubao ใช้ service key ที่กำหนดค่าโดยผู้เผยแพร่ปลั๊กอิน ดังนั้นผู้ใช้ปลายทางจึงทำงานผ่านปลั๊กอินได้โดยไม่ต้องวางคีย์ส่วนตัว การขอคีย์ส่วนตัวใช้เวลาประมาณหนึ่งนาที:

  1. ลงชื่อเข้าใช้ FTIR.fun สร้างบัญชีฟรี (บัญชีใหม่รวมเครดิตทดลองใช้ฟรี)
  2. เปิดแดชบอร์ดคีย์ API ไปที่ บัญชี → คีย์ API และคลิกสร้าง
  3. ดูหรือคัดลอกคีย์ API ของคุณ คีย์แบบเต็ม (ขึ้นต้นด้วย ftir_) ยังคงมีอยู่ในแดชบอร์ด API Keys คุณสามารถกลับไปที่นั่นเพื่อดู คัดลอก หรือเพิกถอนได้
🔑 พร้อมแล้ว? เปิดแดชบอร์ดคีย์ API ในแท็บใหม่ จากนั้นกลับมาและทำตามเส้นทางที่คุณเลือกไว้ด้านบน

ขั้นตอนที่ 1 — การเชื่อมต่อใดที่เหมาะกับคุณ?

ทั้งสามวิธีเชื่อมต่อกับเครื่องมือเดียวกัน ได้แก่ สเปกตรัมจำนวน 320,000+ รายการ การให้เหตุผลด้วยกราฟความรู้ และการอ้างอิงวรรณกรรม คุณต้องใช้เพียงวิธีเดียว เลือกเส้นทางที่สอดคล้องกับวิธีการทำงานของคุณ โดย MCP เป็นตัวเลือกที่สะดวกสำหรับผู้ใช้ผู้ช่วย AI

สิ่งที่ AI ของคุณทำได้จริง

บริการ MCP และ REST แบบรวมศูนย์เปิดให้ใช้แค็ตตาล็อกการดำเนินการของ FTIR.fun เดียวกัน คีย์ API อาจได้รับขอบเขตความสามารถที่แคบกว่า ขณะที่การประกาศเฉพาะแพลตฟอร์มสามารถเผยแพร่เพียงบางส่วนได้โดยตั้งใจ การดำเนินการด้านล่างใช้บริการ FTIR.fun ร่วมกัน

งาน เครื่องมือ MCP จุดสิ้นสุด REST พูดสิ่งนี้กับ AI ของคุณ
อ่านไฟล์เครื่องมือ parse_ftir_spectrum POST /parse-spectrum แยกวิเคราะห์ sample.spc และแสดงรายการพีคที่ตรวจพบ
แปลงข้อมูลดั้งเดิมและรักษาข้อมูลเมตา convert_native_spectrum POST /native-spectrum/convert แปลง sample.spa เป็น JDX และเก็บข้อมูลเมตาของแหล่งที่มา
ระบุสเปกตรัมที่ไม่รู้จัก analyze_ftir_spectrum POST /ftir/analyze_spectrum ระบุว่าสเปกตรัมนี้เป็นพอลิเมอร์ชนิดใด
ส่งรายงานสามแกนแบบเต็ม submit_ftir_report POST /ftir/reports ส่ง sample.spa เพื่อรับรายงานแบบเต็มในโหมด ATR
สอบถามและเรียกดูรายงานนั้น get_ftir_report_status GET /ftir/reports/{task_id} ตรวจสอบงานรายงานและให้ลิงก์แก่ฉันเมื่อเสร็จแล้ว
อธิบายพีค explain_peaks POST /ftir/explain_peak_assignments พีคที่ 1715 และ 1450 cm-1 บ่งบอกถึงอะไร?
ค้นหาสเปกตรัมอ้างอิงที่รู้จัก find_spectra POST /ftir/find_spectra ค้นหาสเปกตรัมอ้างอิงสำหรับโพลิสไตรีน
เปิดผลลัพธ์ก่อนหน้าอีกครั้ง fetch_result GET /ftir/result/{result_num} ดึงผลลัพธ์ 20260528100755416137536.
🎓 การกำหนดพีคเชิงวิชาการ — สำหรับตัวอย่างที่มีองค์ประกอบที่ทราบ ความสามารถขั้นสูงของ FTIR.fun REST/MCP จะระบุพีคที่วัดได้ทุกพีคพร้อมหลักฐานที่ติดตามย้อนกลับไปยังวรรณกรรมได้ การส่งแต่ละครั้งมีค่าใช้จ่าย 30 คะแนน หรือไม่มีค่าใช้จ่ายเมื่อมีการสมัครสมาชิกที่ใช้งานอยู่ ส่วนการสอบถามสถานะไม่มีการเรียกเก็บค่าใช้จ่าย อธิบายงานตามธรรมชาติ (ตัวอย่าง: “กำหนดพีค FTIR ที่วัดได้ทั้งหมดสำหรับสเปกตรัมนี้ ตัวอย่างเป็น PMMA ที่รู้จัก ส่งรายงานทางอีเมลถึงฉัน”) — ไคลเอนต์จัดเตรียมไฟล์และคุณไม่จำเป็นต้องสร้าง JSON หรือ Base64 ด้วยตัวเอง ผลลัพธ์ที่เสร็จสมบูรณ์จะส่งคืนทั้งสถานะ JSON และที่อยู่รายงานที่ป้องกัน; รายงานไม่ถูกเปิดเผยบนเส้นทางดาวน์โหลดสาธารณะ

นามสกุลไฟล์สเปกตรัมที่รองรับ (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. คงนามสกุลไฟล์ต้นฉบับไว้ ไฟล์ที่ไม่รองรับหรือไม่สามารถอ่านได้จะคืนค่า supported_extensions และ supported_formats ค่าที่ถูกต้องสำหรับ sampling_mode คือ เม็ด KBr, ไอ, ตัวทำละลาย, ฟิล์มบาง, พาราฟินมัล, ATR, การสะท้อนแบบกระจาย, ไมโคร IR และอื่นๆ การส่งผ่านไม่ใช่ค่าที่ถูกต้อง

ตัวอย่างการตอบสนองของ find_spectra

การตอบสนองของ 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": [...]}
  ]
}

ตัวอย่างการตอบสนองของ explain_peaks

explain_peaks response
{
  "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..."
}

การรับรายงานแบบเต็ม (อะซิงโครนัส)

การคัดกรองอย่างรวดเร็ว (analyze_spectrum) จะแสดงผลทันที รายงานแบบสามแกนฉบับเต็มจะทำงานเบื้องหลังและโดยทั่วไปใช้เวลา 30–90 วินาที ให้เก็บ task_id ไว้และเรียกตรวจสอบสถานะแทนการส่งคำขอซ้ำ

  1. ส่ง เรียก submit_ftir_report (MCP) หรือ POST /ftir/reports (REST) คุณจะได้รับ task_id และ result_num ที่สงวนไว้ ฟิลด์ file_base64 เป็นฟิลด์บังคับ; ฟิลด์อื่นๆ (sampling_mode, prior_context, language_code, sample_name, sample_order_no) เป็นตัวเลือก
    ตัวอย่างการส่ง (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"}'
    ส่งการตอบสนอง
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...",
     "status": "queued", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
  2. โพล เรียก get_ftir_report_status (MCP) หรือ GET /ftir/reports/{task_id} ทุก 5–10 วินาทีจนกว่า completed จะเป็น true การตอบสนองที่เสร็จสมบูรณ์ประกอบด้วย report_url, ออบเจ็กต์ report (เนื้อหาผลลัพธ์ที่มีโครงสร้าง โดยมี report_view ละเอียดอยู่ภายใน) และ result_num
    ตัวอย่างการสอบถาม
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    การตอบสนองของการสอบถาม (กำลังดำเนินการ)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Poll response (completed)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. เปิดรายงานสุดท้าย เปิด URL เต็ม https://ftir.fun/outputdata/?num={result_num} ในเบราว์เซอร์เพื่อดูหน้าแสดงผลสามแกนที่สมบูรณ์ซึ่งเรนเดอร์โดย FTIR.fun
⚠️ เก็บ task_id ไว้และตรวจสอบสถานะเป็นระยะจนกว่าจะเสร็จสมบูรณ์หรือล้มเหลว การส่งงานซ้ำขณะที่อยู่ในคิวหรือกำลังทำงานจะทำให้สิ้นเปลืองคะแนน

การแก้ไขปัญหา

สิ่งที่คุณเห็น ความหมาย สิ่งที่ต้องทำ
ไคลเอ็นต์เปิดหน้าอนุญาตในเบราว์เซอร์ หรือแจ้งว่าหน้าอนุญาตไม่มีอยู่ ไคลเอนต์ของคุณใช้รายการเซิร์ฟเวอร์แบบ OAuth แบบเก่า FTIR.fun ไม่ใช้ OAuth — ใช้เฉพาะคีย์ API เท่านั้น ลบรายการเซิร์ฟเวอร์ ftirfun เก่า วางคอนฟิกที่แน่นอนจากหน้านี้ โหลดไคลเอนต์ใหม่ และเริ่ม ftirfun อีกครั้ง
401 (MCP) / 401 invalid_api_key (REST) คีย์ API หายไป หมดอายุ ถูกเพิกถอน หรือวางไม่ถูกต้อง รีสตาร์ทเซิร์ฟเวอร์และวางเฉพาะคีย์ดิบ (ขึ้นต้นด้วย ftir_) สร้างคีย์ใหม่จาก แดชบอร์ดคีย์ API หากจำเป็น
เซิร์ฟเวอร์เริ่มต้นแต่ไม่มีเครื่องมือปรากฏขึ้น ไคลเอนต์ยังไม่รีเฟรชแคตตาล็อก หรือการกำหนดค่าใช้ชื่อคีย์ผิด สำหรับ VS Code ให้ยืนยันว่า mcp.json ใช้ servers (ไม่ใช่ mcpServers) จากนั้นหยุดและเริ่ม ftirfun ใหม่ หรือรีโหลดหน้าต่าง
403 insufficient_balance บัญชีมีคะแนนไม่เพียงพอสำหรับการวิเคราะห์นั้น ตรวจสอบยอดคงเหลือหรือการสมัครสมาชิกใน FTIR.fun จากนั้นลองอีกครั้ง
429 rate_limit_exceeded การวิเคราะห์และการแยกวิเคราะห์ REST อนุญาตให้ 60 คำขอต่อนาทีต่อคีย์ API; การอ่านผลลัพธ์ REST และสถานะรายงานใช้บัคเก็ตแยก 120 คำขอต่อนาที; MCP อนุญาตให้ 60 การเรียกต่อนาทีสำหรับแต่ละคีย์ API และเครื่องมือ รอช่วงเวลาลองใหม่ที่รายงานโดยเครื่องมือก่อนเรียกอีกครั้ง
รายงานจะอยู่ในคิวหรือกำลังทำงาน รายงานแบบเต็มทำงานแบบอะซิงโครนัสและใช้เวลานานกว่าการคัดกรองอย่างรวดเร็ว ใช้ task_id เดิมและส่งคำขอสำรวจสถานะ หากคุณสูญเสีย task_id ให้เรียก GET /ftir/tasks เพื่อแสดงรายการงานล่าสุดของคุณและค้นหา task_id อีกครั้ง
422 หรือ missing_input เนื้อหาคำขอขาดฟิลด์ที่จำเป็นหรือมีรูปแบบที่ไม่ถูกต้อง สำหรับ analyze_spectrum คุณต้องระบุอย่างน้อยหนึ่งรายการจาก: peaks, query หรือ file_base64 ตรวจสอบว่า JSON ของคุณถูกต้อง, Content-Type เป็น application/json, และมีฟิลด์ที่จำเป็น ดูตัวอย่างคำขอด้านบน
413 file_too_large ไฟล์สเปกตรัมที่อัปโหลดเกินขีดจำกัดขนาด ส่งออกไฟล์ที่มีขนาดเล็กลงหรือใช้เฉพาะตำแหน่งจุดสูงสุดผ่านฟิลด์ spectrum.peaks

พร้อมที่จะสร้างหรือยัง?

ข้อมูลอ้างอิง REST แบบเต็มมีทุกจุดสิ้นสุด, รูปแบบคำขอและการตอบกลับ, การรับรองความถูกต้อง, ขีดจำกัดอัตรา, รหัสข้อผิดพลาด, คำจำกัดความของเครื่องมือ MCP, และตัวอย่างโค้ดใน Python และ curl

ส่งความต้องการ แบบฟอร์ม