Endpoints publics de l'API pour les uploads, les taches de transcription, les modes de transcription et les reponses.
Base URL:
https://api.videototext.devEnveloppe de reponse
Section intitulée « Enveloppe de reponse »Les reponses reussies utilisent :
{ "data": {}, "meta": {}}Les erreurs utilisent Problem Details :
{ "type": "VALIDATION_ERROR", "title": "Validation failed", "status": 400, "detail": "Invalid request", "errorCode": "VALIDATION_ERROR"}Modes de transcription
Section intitulée « Modes de transcription »| Mode | Credits | Notes |
|---|---|---|
balanced | 1 credit par minute | Mode par defaut |
precision | 2 credits par minute | Option de precision superieure |
Etats des taches
Section intitulée « Etats des taches »| Etat | Signification |
|---|---|
QUEUED | La tache attend de la capacite de traitement. |
PROCESSING | La tache est en cours de transcription. |
SUCCEEDED | La transcription est prete. |
FAILED | La tache a echoue et peut inclure showError. |
CANCELED | La tache a ete annulee. |
POST /v1/uploads
Section intitulée « POST /v1/uploads »Creez une URL d’upload signee.
Requête :
{ "filename": "meeting.mp4", "mimetype": "video/mp4"}Réponse :
{ "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": {}}POST /v1/uploads/{uploadId}/operations/complete
Section intitulée « POST /v1/uploads/{uploadId}/operations/complete »Validez l’objet uploade, lisez la duree du media et creez un asset.
Parametres de chemin :
| Nom | Type | Description |
|---|---|---|
uploadId | UUID | ID de session d’upload retourne par POST /v1/uploads. |
Requête :
{ "fileKey": "uploads/example.mp4", "fileUrl": "https://static.example.com/uploads/example.mp4", "filename": "meeting.mp4", "mimetype": "video/mp4", "fileSize": 10485760}Réponse :
{ "data": { "assetId": "00000000-0000-0000-0000-000000000000" }, "meta": {}}Les erreurs courantes incluent UPLOAD_SESSION_NOT_FOUND, UPLOAD_SESSION_EXPIRED, UPLOAD_SIZE_MISMATCH, UPLOAD_MIMETYPE_MISMATCH et UPLOAD_DURATION_UNREADABLE.
POST /v1/tasks
Section intitulée « POST /v1/tasks »Creez une tache de transcription a partir d’un asset uploade.
Pour une création de tâche sûre en cas de nouvelle tentative, consultez Idempotence.
Requête :
{ "assetId": "00000000-0000-0000-0000-000000000000", "language": "Auto", "timestampMode": "CHUNK", "transcriptionMode": "balanced"}Champs :
| Champ | Type | Obligatoire | Notes |
|---|---|---|---|
assetId | UUID | Oui | Asset retourne a la fin de l’upload. |
language | string | Non | Par defaut, Auto. Les langues prises en charge utilisent des noms en minuscules, comme english, spanish ou chinese. |
timestampMode | string | Non | CHUNK ou WORD. Par defaut, CHUNK. |
transcriptionMode | string | Non | Cle publique du mode : balanced ou precision. Par defaut, balanced. |
Réponse :
{ "data": { "task": { "transcriptId": "00000000-0000-0000-0000-000000000000", "status": "QUEUED", "language": "Auto", "timestampMode": "CHUNK", "transcriptionMode": "balanced", "billedCredits": "1.500000000000" } }, "meta": { "pollAfterMs": 1500 }}Les réponses de création et de détail de tâche incluent toujours transcriptionMode avec la clé publique du mode utilisée pour la facturation et le traitement du résultat.
GET /v1/tasks/{taskId}
Section intitulée « GET /v1/tasks/{taskId} »Retourne l’etat actuel de la tache et les champs de resultat de transcription necessaires aux clients.
Parametres de chemin :
| Nom | Type | Description |
|---|---|---|
taskId | UUID | data.task.transcriptId retourne par POST /v1/tasks. |
Réponse :
{ "data": { "task": { "transcriptId": "00000000-0000-0000-0000-000000000000", "status": "SUCCEEDED", "showError": null, "fullText": "Welcome to the meeting.", "chunks": [ { "seq": 0, "startMs": 0, "endMs": 2200, "text": "Welcome to the meeting.", "speakerKey": null, "speakerName": null, "wordStartIndex": 0, "wordEndIndex": 1 } ], "words": [ { "text": "Welcome", "startMs": 0, "endMs": 600 } ], "sourceDurationMs": 90400, "language": "Auto", "resultLanguage": "english", "timestampMode": "CHUNK", "transcriptionMode": "balanced", "billedCredits": "1.500000000000", "createdAt": "2026-06-06T09:00:00.000Z" } }, "meta": {}}