Slug audio : alpha-audio-v1 uniquement. Multipart : champ fichier obligatoire nommé audio (pas file). Optionnels : enable_diarization, enable_postcorrect (booléens formulaire). POST /models/{slug}/transcript : 200 TranscriptResponse si synchrone ; 202 si durée audio ≥ seuil (TRANSCRIPT_AUTO_JOB_THRESHOLD_SECONDS, défaut 60 s) — corps TranscriptJobSubmitResponse avec job_id, status (ex. queued), status_url (chemin relatif à préfixer avec la base URL). POST .../transcript/sync : toujours synchrone 200 si succès. POST .../transcript/jobs : file d’attente async, réponse 202. GET .../transcript/jobs/{job_id} : état (queued | running | succeeded | failed), result si succès. Le champ interne gateway_wall_ms est exclu du JSON client.
/models/{model_slug}/transcript
Request Body
Les paramètres suivants peuvent être inclus dans le corps de la requête :
Paramètres
audio
Fichier audio (multipart, nom de champ : audio).
enable_diarization
false
Optionnel. Active la diarization.
enable_postcorrect
false
Optionnel. Post-correction (nom exact du champ). Désactivée temporairement sur la passerelle ; réactivation prévue sous peu.
Successful Response
Les champs suivants sont retournés dans une réponse réussie :
Champs de réponse
model_slug
Slug du modèle (réponse synchrone).
text
Texte transcrit (réponse 200 ou dans result).
inference_seconds
Durée d’inférence (réponse synchrone).
audio_duration_seconds
Durée audio détectée.
audio_filename
Nom du fichier audio, ou null.
job_id
Identifiant du job (réponse 202).
status_url
Chemin relatif pour le polling (réponse 202) ; préfixer avec la base URL.
status
queued | running | succeeded | failed selon contexte.
result
Objet transcription une fois le job réussi.
error
Message d’erreur si échec du job.
Examples
Exemples de code pour utiliser cet endpoint :
curl -X POST "https://api-endpoints.alphaedge-ai.com/models/alpha-audio-v1/transcript" \
-H "X-API-Key: TA_CLE" \
-F "audio=@/chemin/audio.wav" \
-F "enable_diarization=true"
import requests
url = "https://api-endpoints.alphaedge-ai.com/models/alpha-audio-v1/transcript"
headers = {"X-API-Key": "TA_CLE"}
with open("/chemin/audio.wav", "rb") as f:
files = {"audio": ("audio.wav", f, "audio/wav")}
data = {
"enable_diarization": "true",
}
r = requests.post(url, headers=headers, files=files, data=data, timeout=300)
print(r.status_code)
print(r.json())
import fs from "node:fs";
const form = new FormData();
form.append("audio", new Blob([fs.readFileSync("/chemin/audio.wav")]), "audio.wav");
form.append("enable_diarization", "true");
const res = await fetch("https://api-endpoints.alphaedge-ai.com/models/alpha-audio-v1/transcript", {
method: "POST",
headers: { "X-API-Key": "TA_CLE" },
body: form
});
console.log(res.status, await res.json());
Response
Exemple de réponse de l'API :
HTTP 200 — TranscriptResponse :
{
"model_slug": "alpha-audio-v1",
"text": "…",
"inference_seconds": 1.2,
"enable_diarization": false,
"audio_duration_seconds": 45.3,
"audio_filename": "audio.wav"
}
HTTP 202 — soumission job (TranscriptJobSubmitResponse) :
{
"job_id": "abc123",
"status": "queued",
"status_url": "/models/alpha-audio-v1/transcript/jobs/abc123"
}
GET …/transcript/jobs/{job_id} — TranscriptJobStatusResponse (extrait) :
{
"job_id": "abc123",
"status": "succeeded",
"created_at": "2026-04-27T10:00:00Z",
"updated_at": "2026-04-27T10:00:05Z",
"result": { "model_slug": "alpha-audio-v1", "text": "…" },
"error": null
}