Intégration Développeur & IA

Connectez FTIR.fun à n'importe quel outil ou application IA

Donnez à votre assistant IA ou à votre propre code un accès direct à plus de 130 000 spectres de référence, au raisonnement par pic du graphe de connaissances et à une interprétation fondée sur la littérature. Choisissez l'un des trois moyens de connexion — MCP pour les assistants IA, l'API REST pour le code, ou une compétence prête à l'emploi pour les plateformes sans code. Chaque chemin ci-dessous contient des instructions étape par étape rédigées pour les nouveaux utilisateurs.

Révisé et listé sur

Avant de commencer — obtenez votre clé API

MCP et l'API REST utilisent tous deux une clé API FTIR.fun. Coze/Doubao utilise une clé de service configurée par l'éditeur du plugin, donc les utilisateurs finaux ne collent pas de clé personnelle. L'obtention d'une clé personnelle prend environ une minute :

  1. Connectez-vous à FTIR.fun Créez un compte gratuit si vous n'en avez pas. Les nouveaux comptes incluent des crédits d'essai gratuits.
  2. Ouvrir le tableau de bord des clés API Aller à Compte → Clés API et cliquez sur Générer.
  3. Copiez et enregistrez la clé immédiatement La clé complète (elle commence par ftir_) n'est affichée qu'une seule fois. Stockez-la en lieu sûr. Si vous la perdez, générez-en simplement une nouvelle.
🔑 Prêt ? Ouvrir le tableau de bord des clés API dans un nouvel onglet, puis revenez et suivez le chemin que vous avez choisi ci-dessus.
⚠️ Le serveur MCP hébergé n'accepte qu'une clé API de compte générée dans le tableau de bord des clés API FTIR.fun (commence par ftir_). Les clés maîtres côté serveur sont destinées aux opérateurs REST et ne peuvent pas se connecter au MCP hébergé.

Étape 1 — Quelle connexion vous convient ?

Les trois se connectent au même moteur : 130 000+ spectres, raisonnement par graphe de connaissances et citations de littérature. Vous n'avez besoin que d'un seul. Choisissez selon votre façon de travailler — pas sûr ? MCP est le choix le plus populaire pour quiconque utilise un assistant IA.

Ce que votre IA peut réellement faire

Les distributions actuelles MCP, REST, n8n et LangChain exposent sept opérations. Le plugin Coze publié expose trois outils (analyser, trouver, expliquer), et d'autres modèles peuvent exposer un ensemble déclaré plus restreint ; vérifiez chaque fiche de plateforme avant utilisation. Les opérations ci-dessous partagent les mêmes services FTIR.fun.

Tâche Outil MCP Point de terminaison REST Dites ceci à votre IA
Lire un fichier d'instrument parse_ftir_spectrum POST /parse-spectrum Analysez sample.spc et listez les pics détectés.
Identifier un spectre inconnu analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifiez de quel polymère est ce spectre.
Soumettre un rapport tri-axial complet submit_ftir_report POST /ftir/reports Soumettez sample.spa pour un rapport complet en mode ATR.
Interrogez et récupérez ce rapport get_ftir_report_status GET /ftir/reports/{task_id} Vérifiez la tâche de rapport et donnez-moi le lien une fois terminé.
Expliquer les pics explain_peaks POST /ftir/explain_peak_assignments Que indiquent les pics à 1715 et 1450 cm-1 ?
Trouver un spectre de référence connu find_spectra POST /ftir/find_spectra Trouvez des spectres de référence pour le polystyrène.
Rouvrez un résultat antérieur fetch_result GET /ftir/result/{result_num} Récupérer le résultat 20260528100755416137536.

Fichiers pris en charge : SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Les valeurs valides de sampling_mode sont KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR et Others. Transmission n'est pas une valeur valide. Conservez l'extension de fichier d'origine pour que FTIR.fun choisisse le bon analyseur.

exemple de réponse find_spectra

réponse 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": [...]}
  ]
}

exemple de réponse explain_peaks

réponse 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..."
}

Obtenir le rapport complet (asynchrone)

Le dépistage rapide (analyze_spectrum) renvoie immédiatement. Le rapport tri-axes complet s'exécute en arrière-plan et prend généralement 30 à 90 secondes. Ne soumettez pas à nouveau pendant qu'un rapport est en cours d'exécution — conservez le task_id et interrogez-le.

  1. Soumettre Appelez submit_ftir_report (MCP) ou POST /ftir/reports (REST). Vous recevez un task_id et un result_num réservé. Le champ file_base64 est obligatoire ; les autres champs (sampling_mode, prior_context, language_code, sample_name, sample_order_no) sont facultatifs.
    Exemple de soumission (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"}'
    Soumettre la réponse
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Sondage Appelez get_ftir_report_status (MCP) ou GET /ftir/reports/{task_id} toutes les 5 à 10 secondes jusqu'à ce que completed soit true. La réponse terminée inclut report_url, report_view (contenu structuré du rapport) et result_num.
    Exemple d'interrogation
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Réponse d'interrogation (en cours)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Réponse de sondage (terminée)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Ouvrir le rapport final Ouvrez l'URL complète https://ftir.fun/outputdata/?num={result_num} dans un navigateur pour voir la page complète des résultats tri-axes rendue par FTIR.fun.
⚠️ Ne soumettez pas le même rapport à nouveau lorsqu'il est en file d'attente ou en cours d'exécution. Conservez le task_id et continuez à interroger jusqu'à ce qu'il soit terminé ou échoué. Les soumissions en double gaspillent des points.

Dépannage

Ce que vous voyez Ce que cela signifie Ce qu'il faut faire
Le client ouvre une page d'autorisation dans le navigateur, ou indique que la page d'autorisation n'existe pas. Votre client utilise une ancienne entrée de serveur de type OAuth. FTIR.fun n'utilise pas OAuth — seulement une clé API. Supprimer l'ancienne entrée de serveur ftirfun, coller la configuration exacte de cette page, recharger le client, et relancer ftirfun.
401 (MCP) / 401 invalid_api_key (REST) La clé API est manquante, expirée, révoquée ou collée incorrectement. Redémarrez le serveur et collez uniquement la clé brute (commence par ftir_). Générer une nouvelle clé à partir du Tableau de bord des clés API si nécessaire.
Le serveur démarre mais aucun outil n'apparaît. Le client n'a pas actualisé son catalogue, ou la configuration utilise un nom de clé incorrect. Pour VS Code, confirmez que mcp.json utilise servers (et non mcpServers). Puis arrêtez et redémarrez ftirfun, ou rechargez la fenêtre.
403 insufficient_balance Le compte n'a pas assez de points pour cette analyse. Vérifiez votre solde ou abonnement dans FTIR.fun, puis réessayez.
429 rate_limit_exceeded L'analyse et l'analyse REST autorisent 60 requêtes par minute par clé API ; les lectures de résultat REST et de statut de rapport utilisent un compartiment distinct de 120 requêtes par minute ; MCP autorise 60 appels par minute pour chaque clé API et outil. Attendez la période de nouvelle tentative signalée par l'outil avant d'appeler à nouveau.
Un rapport reste en file d'attente ou en cours d'exécution. Les rapports complets s'exécutent de manière asynchrone et prennent plus de temps qu'un criblage rapide. Conservez le même task_id et continuez à interroger. Ne créez pas de tâches de rapport en double.
422 ou missing_input Le corps de la requête ne contient pas les champs obligatoires ou a un format invalide. Pour analyze_spectrum, vous devez fournir au moins un des éléments suivants : peaks, query ou file_base64. Vérifiez que votre JSON est valide, que Content-Type est application/json et que les champs obligatoires sont présents. Voir les exemples de requêtes ci-dessus.
413 file_too_large Le fichier de spectre téléchargé dépasse la limite de taille. Exportez un fichier plus petit ou utilisez uniquement les positions des pics via le champ spectrum.peaks.

Prêt à construire ?

La référence REST complète contient tous les points de terminaison, les formats de requête et de réponse, l'authentification, les limites de débit, les codes d'erreur, les définitions d'outils MCP et des exemples de code en Python et curl.

Soumettre la demande Formulaire