Video transcription API

API de transcription vidéo : les caractéristiques techniques

Ce que l’API accepte, ce qu’elle renvoie, ses limites et son modèle de facturation. Sans superlatifs : les éléments dont vous avez besoin pour décider en dix minutes.

requête
# 1. Réserver un upload pour un MP4
curl -X POST https://api.techtuel.com/v1/uploads \
  -H "Authorization: Bearer $TECHTUEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content_type": "video/mp4", "filename": "demo.mp4", "size_bytes": 84200000 }'
# => { "upload_id": "up_abc123", "put_url": "https://s3.fr-par.scw.cloud/…",
#      "put_headers": { … }, "expires_at": "2026-07-21T10:15:00Z" }

# 2. PUT le fichier sur put_url avec put_headers, puis créer le job
curl -X POST https://api.techtuel.com/v1/transcriptions \
  -H "Authorization: Bearer $TECHTUEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "upload_id": "up_abc123" }'
réponse
{
  "id": "job_c204",
  "status": "completed",
  "title": "demo.mp4",
  "language": "fr",
  "detected_language": "fr",
  "translated": false,
  "minutes": 18,
  "source_kind": "upload",
  "source_url": "",
  "transcript": "Dans cette démo, nous allons…",
  "segments": [
    { "start_seconds": 0, "text": "Dans cette démo, nous allons" },
    { "start_seconds": 7.9, "text": "configurer le connecteur" }
  ]
}

Évaluer une API de transcription vidéo se résume à une poignée de questions concrètes : qu’est-ce que j’envoie, quelles limites vais-je heurter, quelle forme a la réponse, où sont mes fichiers et combien ça coûte. Cette page y répond directement, sans détour marketing.

Entrées. Deux voies. Une URL — vidéo distante, page contenant un lecteur, fichier vidéo direct — via source_url ou audio_url. Ou un fichier que vous téléversez : POST /v1/uploads avec content_type, filename et size_bytes renvoie put_url, put_headers et un upload_id, que vous passez ensuite au job. Formats vidéo acceptés : MP4, MPEG, WebM, QuickTime, MKV jusqu’à 1 Gio, soit environ 30 min en 1080p ; formats audio : MP3, M4A, AAC, OGG, Opus, WAV, WebM, FLAC jusqu’à 200 Mio, soit les 2 h complètes. Les URLs distantes échappent à ces limites de taille — seule la durée maximale de 2 h s’applique, c’est la voie à privilégier pour une vidéo longue.

Traitement et sortie. POST /v1/transcribe renvoie la transcription dans la réponse ; au-delà de la fenêtre d’attente (30 s par défaut, ?wait= jusqu’à 120), il renvoie un 202 avec un id de job que vous récupérez ensuite sur GET /v1/transcriptions/{id} — ce qui sera le cas courant pour une vidéo longue. La réponse contient title, language, detected_language, translated, minutes (la durée facturable), source_kind, transcript et segments — chaque segment étant une paire start_seconds / text. Les timestamps sont au niveau du segment, pas du mot. Il n’y a pas d’identification des locuteurs. Le paramètre ?format=txt|json|srt|vtt choisit la forme rendue.

Langues, données et coût. La langue est détectée automatiquement ; preferred_language (ISO 639-1) demande le transcript dans une autre langue, et la réponse indique par translated si la traduction a bien eu lieu. Les fichiers téléversés sont supprimés après traitement, le traitement et l’hébergement sont européens. La facturation est en crédits : deux crédits par minute d’audio transcrite, arrondie à la minute supérieure, et un seul crédit pour une vidéo dont les sous-titres existent déjà.

Pourquoi cette API

Limites annoncées

Upload vidéo jusqu’à 1 Gio, audio jusqu’à 200 Mio, 120 req/min par clé sur le plan Pro. Pas de surprise à l’intégration.

Sortie contractuelle

Une enveloppe JSON stable — status, title, language, minutes, transcript, segments — plus txt, srt et vtt via ?format=.

Fichiers supprimés, hébergement européen

Les médias téléversés sont supprimés après traitement. Traitement et stockage restent en Europe, ce qui simplifie l’analyse RGPD.

Tarifs lisibles

Gratuit100 crédits/mois, soit ≈ 50 min de vidéo transcrite
Pro2000 crédits/mois (≈ 1000 min), 120 req/min par clé

Questions fréquentes

Quels formats vidéo sont acceptés et jusqu’à quelle taille ?+

MP4, MPEG, WebM, QuickTime et MKV, jusqu’à 1 Gio en téléversement — environ 30 min en 1080p. Les fichiers audio (MP3, M4A, AAC, OGG, Opus, WAV, WebM, FLAC) vont jusqu’à 200 Mio, soit les 2 h complètes. Une vidéo plus longue n’a pas à être téléversée : passée par URL, seule la durée maximale s’applique.

Les timestamps sont-ils au mot ou au segment ?+

Au segment. Chaque segment expose start_seconds et son texte. C’est la granularité utilisée pour générer les sous-titres SRT/VTT et pour naviguer dans un lecteur.

L’API identifie-t-elle les différents intervenants ?+

Non. Il n’y a pas de diarisation ni d’étiquetage de locuteurs. La sortie est un transcript continu découpé en segments horodatés.

Quelles langues sont prises en charge ?+

La langue parlée est détectée automatiquement et exposée dans detected_language. preferred_language, en ISO 639-1, demande le transcript dans une autre langue ; translated indique si la traduction a bien été produite.

Combien coûte une transcription vidéo ?+

Deux crédits par minute d’audio transcrite, arrondie à la minute supérieure. Une vidéo dont les sous-titres existent déjà ne coûte qu’un crédit, quelle que soit sa durée.

Autres façons d'intégrer l'API

Essai gratuit, sans carte bancaire

Générez une clé API et transcrivez votre première source en moins d'une minute. Quota mensuel gratuit pour tester en conditions réelles.

Commencer avec l'API