Documentation de l’API Mixanalytic
Référence officielle de l’API https://mixanalytic.com. Envoyez des fichiers audio et recevez une analyse de mix par IA avec des modules au choix et une réponse compacte ou complète.
URL de base : https://mixanalytic.com/api
Authentification
Envoyez votre clé API dans l’en-tête X-API-Key pour chaque requête.
- 401 clé manquante ou invalide
- 403 clé d’une offre gratuite sans accès à l’API
- 429 limite de fréquence dépassée
Portées : write sert à l’envoi et à l’analyse Mix Analyzer. content lit les données de recherche de contenu expurgées. content_write enregistre des brouillons non publics. Les portées de contenu sont réservées aux administrateurs.
Points de terminaison
| Méthode | Chemin | Fonction |
|---|---|---|
| GET | /api/test-data | Vérification de la connexion et de l’authentification. |
| POST | /api/upload | Envoi et analyse d’un fichier audio. |
| GET | /api/analyze/<file_id> | Nouvelle analyse par identifiant de fichier (si le fichier d’origine existe encore). |
| GET | /api/content/analysis-feed | Flux de recherche expurgé réservé aux administrateurs pour les agents de contenu. |
| POST | /api/content/drafts | Point de terminaison d’enregistrement et de mise à jour des brouillons, réservé aux administrateurs pour les agents de contenu. |
| GET | /api/ai-stats?days=30 | Statistiques d’utilisation des analyses IA. |
Requête d’envoi
POST/api/upload
| Champ | Type | Obligatoire | Remarques |
|---|---|---|---|
| file | multipart file | Oui | Formats autorisés : mp3, wav, flac, m4a, aac, ogg. Maximum : 100MB. |
| modules | string/list | Non | Tous les modules sont sélectionnés par défaut si ce champ est omis. |
| detail_level | string | Non | full (par défaut) ou summary. |
Une valeur detail_level invalide renvoie 400. Les fichiers trop volumineux renvoient 413.
Sélection des modules
Définissez les modules d’analyse renvoyés et calculés avec modules.
Formats pris en charge :
- Chaîne séparée par des virgules : modules=frequency_balance,clarity,mood
- Chaîne représentant un tableau JSON : modules=["frequency_balance","clarity","mood"]
- Clé répétée (requête ou formulaire) : modules=frequency_balance&modules=clarity
- Tous les modules : modules=all ou modules=*
| Module | Description |
|---|---|
| frequency_balance | Évaluation des fréquences et de l’équilibre sur 7 bandes. |
| dynamic_range | Plage dynamique, facteur de crête, PLR. |
| stereo_field | Mesures de largeur, de phase et de corrélation. |
| clarity | Mesures de clarté et de définition spectrales. |
| harmonic_content | Tonalité et complexité harmonique. |
| transients | Données d’attaque, de densité des transitoires et d’impact des basses. |
| 3d_spatial | Cohérence de la hauteur, de la profondeur et de la largeur. |
| surround_compatibility | Compatibilité mono + score de phase. |
| headphone_optimization | Score d’optimisation de l’écoute au casque. |
| speaker_optimization | Score d’optimisation de l’écoute sur enceintes. |
| genre | Classification du genre et niveau de confiance. |
| voice | Présence vocale et caractéristiques de la voix. |
| instruments | Détection d’instruments et informations sur l’arrangement. |
| mood | Profil d’ambiance avec énergie et valence. |
| keywords | Mots-clés et étiquettes sémantiques. |
| loudness | Mesurez les LUFS, les crêtes vraies, la saturation numérique et les cibles du streaming pour garder un master assez fort sans distorsion, crêtes dues aux codecs ou surprises sur les plateformes. |
| noise | Mesurez le bruit de fond, le ronflement secteur, le souffle et les artefacts pour nettoyer les enregistrements avant que le mastering ne les rende plus forts, plus brillants et plus difficiles à masquer. |
| format_quality | Vérifiez l’encodage avec pertes, la coupure spectrale et la résolution en bits pour éviter de faire par erreur le mastering de sources MP3, AAC ou suréchantillonnées déjà dégradées avant la sortie. |
| reference | Référence |
| visualizations | URL des éléments visuels d’analyse générés. |
| ai_insights | Résumé et recommandations générés par un LLM. |
Contrôle de la taille des réponses
Utilisez detail_level :
- full (par défaut) : réponse complète
- summary : réponse compacte pour les clients frontend ou mobiles
Exemples
1) Envoi + analyse complète
2) Envoi + modules sélectionnés
3) Envoi + modules sélectionnés + réponse résumée
4) Point de terminaison de test
5) JavaScript côté client
Métadonnées standard des réponses
Les réponses d’analyse réussies incluent :
- requested_modules
- returned_modules
- detail_level
- available_modules
Codes d’erreur
| Statut | Signification | Cause habituelle |
|---|---|---|
| 400 | Requête incorrecte | Module ou detail_level invalide, champ file manquant, fichier vide. |
| 401 | Non autorisé | Clé API manquante, invalide ou expirée. |
| 403 | Interdit | Accès à l’API non autorisé pour cette offre de compte. |
| 404 | Introuvable | /api/analyze/<file_id> fichier devenu indisponible (suppression pour confidentialité). |
| 413 | Données trop volumineuses | Fichier de plus de 100MB. |
| 429 | Limite de fréquence dépassée | Trop de requêtes par minute, par heure ou par jour. |
| 500 | Erreur serveur | Échec de l’analyse ou de l’exécution. |
Remarques pour le frontend
- Pour les clients web ou mobiles, privilégiez detail_level=summary.
- Demandez uniquement les modules nécessaires au premier affichage pour réduire la latence et le volume des réponses.
- Gérez 429 et 500 avec de nouvelles tentatives et un délai progressif.
- N’exposez pas de clés de production à longue durée de vie dans des bundles publics.