API de détection audio IA
Documentation complète pour intégrer l'API de détection audio IA de TruthScan dans vos applications.
Essayez sans code en visitant notre endpoint FastAPI : https://detect-audio.truthscan.com/docs
Authentification
TruthScan utilise des clés API pour autoriser l'accès à l'API. Vous pouvez obtenir votre clé API en haut de la page dans notre portail développeur.
TruthScan attend que la clé API soit incluse dans toutes les requêtes API au serveur dans un corps de requête qui ressemble à ceci :
{
"key": "YOUR API KEY GOES HERE"
}Vous devez remplacer YOUR API KEY GOES HERE par votre clé API personnelle.
Détecteur audio IA
Détecter (processus en 3 étapes)
Le workflow de détection audio IA consiste en les étapes suivantes :
- Obtenir une URL de téléchargement pré-signée
- Télécharger l'audio
- Soumettre l'audio pour détection
1. Obtenir une URL de téléchargement pré-signée
Commencez par demander une URL pré-signée à l'API. Cette URL vous permet de télécharger en toute sécurité votre fichier audio sur le serveur de stockage.
Formats de fichiers supportés
MP3, WAV, M4A, FLAC, OGG, MP4
Note importante
Il est nécessaire de supprimer les espaces du nom de fichier audio lors de la demande d'une URL pré-signée.
GET https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3Exemple de requête
curl -X GET 'https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3' \
--header 'apikey: YOUR API KEY GOES HERE'Exemple de réponse
{
"status": "success",
"presigned_url": "https://audio-presigned-upload.ai-assets-cdn.com?file_name=581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...",
"file_path": "/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250901-090201_example.mp3"
}2. Télécharger l'audio
Utilisez la 'presigned_url' fournie pour télécharger votre audio via une requête PUT. Assurez-vous que le type de contenu correct est défini selon votre format audio.
Note importante
Il est nécessaire de supprimer les espaces du nom de fichier audio lors du téléchargement de l'audio.
Exemple de requête
curl -X PUT 'https://audio-presigned-upload.ai-assets-cdn.com?file_name=581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...' \
--header 'Content-Type: audio/<FILE_FORMAT - mp3, wav, m4a, flac, ogg, mp4>' \
--header 'x-amz-acl: private' \
--data-binary '@example.mp3' # AttachmentLimites de taille de fichier
- Taille minimale de fichier : 1KB
- Taille maximale de fichier : 10MB
Assurez-vous que le format de fichier reste cohérent pendant le processus de téléchargement. Un téléchargement réussi renverra un code de statut 200.
3. Soumettre l'audio pour détection IA
Après le téléchargement, soumettez l'audio pour détection IA en référençant le 'file_path' de l'étape précédente.
POST https://detect-audio.truthscan.com/detectExemple de requête
curl -X 'POST' \
'https://detect-audio.truthscan.com/detect' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"key": "YOUR-API-KEY-GOES-HERE",
"url": "<FILE_PATH>",
"document_type": "Audio",
"analyzeUpToSeconds": 60
}'Le 'FILE_PATH' fait référence au chemin obtenu de la réponse dans l'étape initiale, 'Obtenir une URL de téléchargement pré-signée'.
Paramètres optionnels
analyzeUpToSeconds: Analyser jusqu'à N secondes depuis le début (par défaut : 60)document_type: Type de document (par défaut : 'Audio')email: Email optionnel pour traitement
Exemple de réponse
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"status": "pending"
}La réponse inclut un ID unique pour suivre le statut de détection.
Interroger le statut et les résultats de détection
Pour vérifier le statut et récupérer les résultats, utilisez l'endpoint /query avec l'ID.
POST https://detect-audio.truthscan.com/queryExemple de requête
curl -X 'POST' \
'https://detect-audio.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": "ID-GOES-HERE"
}'Exemple de réponse
{
"id": "00fee5ff-a55b-42fb-b7c7-d14f05ae0769",
"status": "done",
"result": 0.873,
"result_details": {
"is_valid": true,
"message": "processed",
"original_duration": 123.45,
"is_truncated": true,
"truncated_duration": 60.0,
"mean_ai_prob": 0.873,
"individual_chunks_ai_prob": [0.81, 0.90, 0.91]
}
}Détails des résultats
is_valid: Indique si le fichier audio est valide (true/false)message: Message de traitementoriginal_duration: Durée en secondes de l'audio originalis_truncated: Si l'audio a été tronqué pour analysetruncated_duration: Durée analysée si tronquéemean_ai_prob: Score de probabilité IA globalindividual_chunks_ai_prob: Scores de probabilité IA par chunk
Le champ "status" sera l'un de : "pending" (traitement en file d'attente), "analyzing" (détection IA en cours), "done" (résultats disponibles), ou "failed" (traitement échoué).
Vérifier les crédits utilisateur
Cet endpoint accepte l'apikey de l'utilisateur via l'en-tête. Et renvoie les détails de crédit de l'utilisateur.
GET https://detect-audio.truthscan.com/check-user-creditsExemple de requête
curl -X 'GET' \
'https://detect-audio.truthscan.com/check-user-credits' \
-H 'apikey: YOUR API KEY GOES HERE' \
-H 'accept: application/json' \
-H 'Content-Type: application/json'Exemple de réponse
{
"baseCredits": 10000,
"boostCredits": 1000,
"credits": 11000
}Vérification de santé
Vérifier le statut de santé du serveur API.
GET https://detect-audio.truthscan.com/healthExemple de requête
curl -X 'GET' \
'https://detect-audio.truthscan.com/health' \
-H 'accept: application/json'Exemple de réponse
{
"status": "healthy"
}Erreurs
La plupart des erreurs proviendront de paramètres incorrects envoyés à l'API. Vérifiez doublement les paramètres de chaque appel API pour vous assurer qu'il est correctement formaté, et essayez d'exécuter le code d'exemple fourni.
Les codes d'erreur génériques que nous utilisons sont conformes à la norme REST :
| Code d'erreur | Signification |
|---|---|
| 400 | Requête invalide -- Votre requête est invalide. |
| 403 | Interdit -- La clé API est invalide, ou il n'y a pas suffisamment de crédits pour le traitement audio. |
| 404 | Non trouvé -- La ressource spécifiée n'existe pas. |
| 405 | Méthode non autorisée -- Vous avez essayé d'accéder à une ressource avec une méthode invalide. |
| 406 | Non acceptable -- Vous avez demandé un format qui n'est pas JSON. |
| 410 | Disparu -- La ressource à cet endpoint a été supprimée. |
| 422 | Corps de requête invalide -- Votre corps de requête est formaté incorrectement ou invalide ou a des paramètres manquants. |
| 429 | Trop de requêtes -- Vous envoyez trop de requêtes ! Ralentissez ! |
| 500 | Erreur serveur interne -- Nous avons eu un problème avec notre serveur. Réessayez plus tard. |
| 503 | Service indisponible -- Nous sommes temporairement hors ligne pour maintenance. Veuillez réessayer plus tard. |
Problèmes courants et solutions
Problèmes d'authentification
"Échec de vérification utilisateur" (403)
Cause: Clé API invalide ou expirée
Solution:
- Vérifiez que votre clé API est correcte
- Vérifiez si votre clé API est active dans votre compte
- Essayez de régénérer votre clé API
"Pas assez de crédits" (403)
Cause: Crédits insuffisants pour le traitement audio
Solution:
- Vérifiez vos crédits restants en utilisant /check-user-credits
- Achetez des crédits supplémentaires si nécessaire
- Utilisez analyzeUpToSeconds pour analyser moins d'audio et consommer moins de crédits
Problèmes de validation d'entrée
"Format de fichier non supporté" (400)
Cause: Format audio non supporté ou invalide soumis
Solution:
- Vérifiez que le format audio est supporté (MP3, WAV, M4A, FLAC, OGG, MP4)
- Assurez-vous que le fichier n'est pas corrompu
- Vérifiez l'en-tête Content-Type lors du téléchargement
"Fichier trop volumineux" (400)
Cause: La taille du fichier dépasse la limite de 10MB
Solution:
- Compressez ou convertissez l'audio à moins de 10MB
- Vérifiez la taille du fichier avant le téléchargement
- Utilisez des formats plus efficaces comme MP3 lorsque possible
Problèmes de traitement
"Traitement audio trop long"
Cause: Le traitement audio a pris trop de temps ou un timeout s'est produit
Solution:
- Essayez avec un fichier audio plus petit ou une durée plus courte
- Utilisez analyzeUpToSeconds pour analyser uniquement les premières secondes
- Vérifiez si le service connaît une charge élevée
- Réessayez la requête après quelques minutes
Statut "failed" dans la réponse /query
Cause: Le traitement a échoué pour diverses raisons
Solution:
- Vérifiez si l'audio répond aux exigences minimales (1KB - 10MB)
- Vérifiez que l'audio est dans un format supporté
- Vérifiez que le téléchargement s'est terminé avec succès avant de soumettre pour détection
- Contactez le support si le problème persiste
Problèmes de téléchargement
"Échec du téléchargement audio" (403/400)
Cause: URL pré-signée invalide ou expirée, ou problèmes avec le serveur de stockage
Solution:
- Assurez-vous d'utiliser l'URL pré-signée immédiatement après l'avoir reçue (peut expirer)
- Vérifiez que l'en-tête Content-Type est correct pour le format audio
- Supprimez les espaces du nom de fichier avant le téléchargement
- Essayez de générer une nouvelle URL pré-signée si la actuelle a expiré
"URL pré-signée invalide" (400)
Cause: Nom de fichier avec espaces ou URL pré-signée expirée/corrompue
Solution:
- Supprimez tous les espaces du nom de fichier avant de demander une URL pré-signée
- Utilisez uniquement des caractères alphanumériques, tirets et underscores dans le nom de fichier
- Générez une nouvelle URL pré-signée si nécessaire
Besoin d'aide ?
Pour plus d'informations sur l'utilisation de notre API ou pour le support technique, veuillez nous contacter.
Questions fréquemment posées sur l'API
Trouvez des réponses aux questions les plus courantes sur notre API de détection audio IA.