Ce guide parcourt le flux API complet : creer un upload, envoyer le fichier media, terminer l’upload, creer une tache de transcription et interroger les resultats.
Rendez-vous sur Video To Text pour gerer votre compte, creer des cles API et revenir a l’espace de travail du produit.
Definissez l’URL de base de l’API et la cle :
export VTT_API_BASE_URL="https://api.videototext.dev"export VTT_API_KEY="vtt_xxxxx"1. Creer un upload
Section intitulée « 1. Creer un upload »Creez une URL d’upload signee pour le fichier media.
curl -X POST "https://api.videototext.dev/v1/uploads" \ -H "Authorization: Bearer $VTT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "filename": "meeting.mp4", "mimetype": "video/mp4" }'La reponse inclut les champs necessaires pour les etapes suivantes :
{ "data": { "uploadUrl": "https://storage.example.com/signed-upload-url", "fileKey": "uploads/example.mp4", "fileUrl": "https://static.example.com/uploads/example.mp4", "uploadId": "00000000-0000-0000-0000-000000000000", "expiresAt": "2026-06-06T10:00:00.000Z" }, "meta": {}}2. Uploader le fichier
Section intitulée « 2. Uploader le fichier »Uploadez le fichier binaire directement vers uploadUrl. Utilisez la meme valeur Content-Type que celle fournie lors de la creation de l’upload.
curl -X PUT "https://storage.example.com/signed-upload-url" \ -H "Content-Type: video/mp4" \ --data-binary "@meeting.mp4"3. Terminer l’upload
Section intitulée « 3. Terminer l’upload »Terminez la session d’upload afin que Video To Text puisse valider l’objet et creer un asset.
curl -X POST "https://api.videototext.dev/v1/uploads/$UPLOAD_ID/operations/complete" \ -H "Authorization: Bearer $VTT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "fileKey": "uploads/example.mp4", "fileUrl": "https://static.example.com/uploads/example.mp4", "filename": "meeting.mp4", "mimetype": "video/mp4", "fileSize": 10485760 }'La reponse retourne l’assetId utilise pour creer une tache de transcription.
{ "data": { "assetId": "00000000-0000-0000-0000-000000000000" }, "meta": {}}4. Creer une tache de transcription
Section intitulée « 4. Creer une tache de transcription »Creez la tache a partir de l’asset uploade. Le mode par defaut est balanced.
curl -X POST "https://api.videototext.dev/v1/tasks" \ -H "Authorization: Bearer $VTT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "assetId": "00000000-0000-0000-0000-000000000000", "language": "Auto", "timestampMode": "CHUNK", "transcriptionMode": "balanced" }'Utilisez precision lorsque le workflow privilegie la precision plutot que le cout.
La reponse retourne data.task.transcriptId ; utilisez cette valeur comme TASK_ID lors du polling.
| Mode | Ideal pour |
|---|---|
balanced | Transcription rapide et rentable pour la plupart des workflows de production. |
precision | Transcription plus precise lorsque la qualite compte plus que le cout. |
5. Interroger la tache
Section intitulée « 5. Interroger la tache »Interrogez l’endpoint de tache jusqu’a ce que status devienne SUCCEEDED, FAILED ou CANCELED.
curl "https://api.videototext.dev/v1/tasks/$TASK_ID" \ -H "Authorization: Bearer $VTT_API_KEY"Les taches reussies retournent le texte de transcription, les champs publics de timing par segment, les timestamps par mot, les details du fichier source et les credits factures.