Coupez depuis vos propres outils
Trois appels : déposer, suivre, télécharger. Le même moteur, les mêmes préréglages, les mêmes exports que l'outil en ligne. Idéal pour un flux de publication de podcast, n8n, Make ou un script.
La clé API se génère dans votre espace (offre Pro). Ouvrir mon espace →
Authentification
Authorization: Bearer mac_xxxxxxxxxxxxxxxxxxxxxxxxUn en-tête Bearer avec la clé de votre espace. Toutes les réponses sont en JSON.
Déposer un fichier
Soit une URL publique (nous téléchargeons le fichier), soit le fichier lui-même en corps de requête. L'analyse démarre aussitôt ; avec autoExport (par défaut), le rendu s'enchaîne ; avec transcribe, la transcription passe avant et les hésitations sont coupées.
# depuis une URL publique
curl -X POST https://make-autocut.com/api/v1/jobs \
-H "Authorization: Bearer mac_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://exemple.com/episode-12.mp3",
"preset": "podcast",
"params": { "keepSilenceMs": 350 },
"export": { "format": "mp3_320", "normalize": "podcast", "denoise": true },
"transcribe": true,
"autoExport": true
}'
# ou le fichier lui-même, en flux
curl -X POST https://make-autocut.com/api/v1/jobs \
-H "Authorization: Bearer mac_…" \
-H "X-Filename: episode-12.mp3" \
-H 'X-Options: {"preset":"podcast","autoExport":true}' \
--data-binary @episode-12.mp3Réponse 202. L'identifiant sert à suivre le traitement :
{
"id": "5f1c…",
"status": "analyzing",
"progress": 0,
"input": { "name": "episode-12.mp3", "type": "audio", "duration": null },
"params": { "thresholdDb": -38, "minSilenceSec": 0.8, "keepSilenceMs": 350, "minSpeechMs": 150 },
"export": { "format": "mp3_320", "normalize": "podcast", "denoise": true, "rumble": false, "cutFillers": false },
"output": null
}Suivre et récupérer
GET https://make-autocut.com/api/v1/jobs/{id}
{
"status": "done",
"plan": { "stats": { "originalSec": 1830.4, "finalSec": 1412.9, "savedSec": 417.5, "savedPct": 22.8, "cutsCount": 96 }, "cuts": [...], "keep": [...] },
"transcript": { "status": "done", "language": "fr", "fillers": [{ "word": "euh", "start": 12.41, "end": 12.9, "kind": "filler" }] },
"output": { "url": "https://make-autocut.com/api/v1/jobs/{id}/download", "format": "mp3", "duration": 1412.9, "name": "episode-12-autocut.mp3" },
"timelines": { "fcpxml": "…", "premiere": "…", "edl": "…", "otio": "…", "csv": "…" }
}Interrogez toutes les quelques secondes jusqu'à status = done. Le fichier rendu et les timelines sont des URL authentifiées par la même clé. Les fichiers restent 7 jours.
Modifier les réglages, relancer
PATCH https://make-autocut.com/api/v1/jobs/{id}
{ "params": { "thresholdDb": -42 }, "export": { "normalize": "youtube" }, "action": "export" }
# lancer la transcription (hésitations)
PATCH https://make-autocut.com/api/v1/jobs/{id}
{ "action": "transcribe" }Paramètres
| Paramètre | Valeurs | Effet |
|---|---|---|
thresholdDb | −70 … −10 | Seuil sous lequel c'est un silence (dB). Absent : calculé d'après le fichier. |
minSilenceSec | 0,2 … 10 | Durée minimale d'un silence pour être coupé (s). |
keepSilenceMs | 0 … 2000 | Durée à laquelle chaque silence est ramené (ms). 0 = suppression totale. |
minSpeechMs | 0 … 2000 | Îlot de parole plus court que ça entre deux coupes : coupé aussi (ms). |
preset | podcast · youtube · cours · interview · radical | Point de départ par usage (réglages + normalisation). |
export.format | mp3 · mp3_320 · wav · m4a · mp4 · mp4_hq | Conteneur et codec de sortie. mp4 seulement pour une vidéo. |
export.normalize | none · podcast (−16 LUFS) · youtube (−14 LUFS) | Normalisation EBU R128 en deux passes. |
export.denoise / rumble / cutFillers | true · false | Réduction de bruit, coupe-bas 70 Hz, coupe des hésitations (après transcription). |
Limites
- Fichiers jusqu'à 4 Go et 3 heures.
- Une transcription à la fois par serveur : comptez environ une minute par minute d'audio.
- 50 fichiers listés par GET /api/v1/jobs ; suppression par DELETE.
- Les fichiers rendus expirent après 7 jours, les originaux après 24 h.
Erreurs
Codes HTTP : 401 clé absente ou invalide · 402 offre Pro requise · 404 fichier inconnu · 409 traitement en cours · 413 fichier trop volumineux · 415 format non pris en charge · 422 rien à garder · 501 transcription indisponible. Le corps porte un champ error lisible.