Documentation développeur

API REST et Model Context Protocol

API REST

API Fast Transcriber

Créez des tâches de transcription pour des liens publics ou des médias importés, puis récupérez du texte structuré et des segments horodatés.

Les médias importés sont envoyés directement vers le stockage d’objets. Les fichiers volumineux ne passent pas par le corps d’une requête Next.js.

URL de base

text
https://fast-transcriber.com/api/v1

Le document OpenAPI 3.1 lisible par machine est disponible à l’adresse /api/v1/openapi.

Authentification

Envoyez une clé API Fast Transcriber active dans l’en-tête Authorization au format Bearer. Le secret complet n’est affiché qu’une seule fois, lors de sa création.

http
Authorization: Bearer ft_live_replace_me

Points de terminaison

MéthodeCheminRôle
POST/uploadsPréparer une importation directe
POST/uploads/multipartTerminer une importation multipart
DELETE/uploads/multipartAnnuler une importation multipart
POST/transcriptionsMettre en file d’attente une URL ou un fichier importé
GET/transcriptionsLister les tâches récentes
GET/transcriptions/{id}Récupérer le statut et le résultat

Transcrire une URL

Fournissez exactement un champ source_url. Les liens publics compatibles utilisent le même processus de résolution des liens que la fonctionnalité du navigateur.

bash
curl --request POST https://fast-transcriber.com/api/v1/transcriptions \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "source_url": "https://www.youtube.com/watch?v=example",
    "speaker_diarization": false
  }'

Une requête réussie renvoie 202 Accepted ainsi qu’un en-tête Location contenant l’URL à interroger.

Importer un fichier

Demandez d’abord une cible présignée en indiquant le nom exact du fichier, sa taille en octets et son type MIME.

bash
curl --request POST https://fast-transcriber.com/api/v1/uploads \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "filename": "interview.mp3",
    "content_type": "audio/mpeg",
    "size": 1234567
  }'
  1. Envoyez les octets vers la cible simple ou multipart renvoyée.
  2. Conservez la clé de stockage et le fournisseur de stockage renvoyés.
  3. Mettez une transcription en file d’attente avec cette référence d’importation.

Avant la mise en file d’attente, le serveur vérifie le propriétaire de l’objet, sa taille stockée et son type de média. Les clés créées pour un autre compte sont refusées.

Résultats

Interrogez l’URL de la tâche jusqu’à ce que status soit completed ou failed. Les tâches terminées comprennent le texte et les segments horodatés.

json
{
  "data": {
    "id": "95c3fdd8-...",
    "filename": "interview.mp3",
    "status": "completed",
    "created_at": "2026-08-24T16:30:00.000Z",
    "duration_seconds": 1842,
    "text": "Completed transcript text...",
    "segments": []
  }
}

Erreurs

Chaque erreur de l’API utilise une enveloppe stable contenant un code et un message.

json
{
  "error": {
    "code": "daily_limit_reached",
    "message": "You've reached your daily upload limit."
  }
}
400Requête ou source non valide
401Clé API absente, non valide ou révoquée
403Fonctionnalité indisponible avec l’offre actuelle
413Le fichier dépasse la limite du compte
429Limite d’utilisation quotidienne atteinte
503Service de traitement indisponible

Limites

Les tâches de l’API partagent les limites de l’offre du compte avec celles du navigateur. Les requêtes de liste acceptent un paramètre limit compris entre 1 et 100, avec une valeur par défaut de 25. L’identification des intervenants nécessite l’offre Pro.