Aller à la référence de l’API

Intégration API

Des médias aux mots. Au cœur de votre workflow.

Sur cette page

Présentation

Transformez vos fichiers audio et vidéo en transcriptions et sous-titres grâce à une API REST simple.

Envoyez une URL de média, suivez la transcription et récupérez du JSON structuré ou un fichier de sous-titres prêt à l’emploi.

Requêtes HTTPSRéponses JSONTâches asynchrones

URL de base

https://api.taption.com/v1POST/transcriptsGET/transcripts/{id}

Votre première transcription

La transcription s’effectue en arrière-plan. La création d’une tâche renvoie une réponse immédiate ; consultez son état jusqu’à ce que le résultat soit prêt.

  1. Créer une tâche

    Envoyez POST /transcripts avec une URL de média directe et publique. Conservez l’id renvoyé.

  2. Suivre la progression

    Interrogez GET /transcripts/{id} toutes les 15 à 30 secondes jusqu’à ce que status soit complete ou error.

  3. Utiliser votre transcription

    Lisez le JSON dans data ou téléchargez le fichier via export_url si vous demandez du SRT ou du VTT.

État de la tâche

initializing

En file d’attente, en attente de démarrage. Continuez les requêtes de suivi.

transcribing

Votre média est en cours de transcription. Continuez les requêtes de suivi.

complete

Prêt. Lisez le résultat ou téléchargez le fichier.

error

La tâche a échoué. Lisez message et arrêtez les requêtes de suivi.

Considérez tout autre état comme « en cours ». De nouveaux états intermédiaires peuvent être ajoutés.

Authentification

Envoyez votre clé API dans l’en-tête Authorization de chaque requête, exactement telle qu’elle s’est affichée lors de sa création.

Authorization: <your api key>

N’ajoutez pas le préfixe Bearer.

Les nouvelles clés commencent par tp_live_. La clé complète n’est affichée qu’une seule fois, lors de sa création. Si vous la perdez, révoquez-la et créez-en une nouvelle ; une clé révoquée cesse immédiatement de fonctionner.

Un abonnement actif et une clé API avec les autorisations requises sont nécessaires.

Conservez votre clé sur votre serveur. Elle donne accès aux transcriptions et à l’utilisation de votre compte. Ne l’exposez jamais dans le code du navigateur ni dans un dépôt public.

Créer une clé API

Créer une transcription

POST/transcripts

Lancez une tâche de transcription pour un fichier média accessible via une URL publique. La réponse est renvoyée dès sa mise en file d’attente, avec status: "initializing".

Taption télécharge le fichier directement. Les liens vers des pages de partage, comme un aperçu Google Drive ou Dropbox, ne fonctionnent pas.

media_urlstringobligatoire

Lien de téléchargement direct de votre fichier média.

2048 caractères maximum
extensionstringobligatoire

Le format du fichier média.

mp3wavm4aaacflacwmaopusmp4
languagestringobligatoire

Langue parlée dans le média, sous forme de balise de langue. Consultez la référence des langues.

Voir les balises de langue
namestring

Nom affiché pour la transcription. Par défaut, le nom de fichier dans `media_url` est utilisé. Les noms plus longs sont tronqués à 200 caractères.

200 caractères maximum
export_typestring

Format de sortie. La valeur par défaut est json, qui renvoie le contenu de la transcription analysé dans data. srt et vtt renvoient un lien de fichier dans export_url.

jsonsrtvtt
Par défaut : json
max_charinteger

Nombre maximal de caractères par segment de sous-titre. La valeur par défaut est `16` pour le chinois, le japonais, le coréen et le cantonais, et `65` pour les autres langues. Les valeurs hors de 1–200 sont ignorées au profit de la valeur par défaut.

1–200

Réponses

200

La tâche a été créée et mise en file d’attente. Conservez l’`id` pour consulter son état.

400

Le corps de la requête n’est pas valide. Corrigez la requête avant de réessayer. Seul le premier problème trouvé est signalé.

401

La clé API est absente, non valide ou non configurée pour l’accès à l’API.

403

Un abonnement actif et une clé API avec les autorisations requises sont nécessaires.

429

Limite du compte atteinte ; aucune tâche créée. Par défaut : Premium 10 soumissions/minute et 2 tâches inachevées ; Corp 30/minute et 10 tâches inachevées, pour toutes les clés. Les limites peuvent changer. Les consultations de statut sont exclues.

500

Erreur serveur inattendue. Réessayez en augmentant le délai de façon exponentielle.

503

Les limites de soumission sont temporairement indisponibles (`api_limits_unavailable` ; aucune transcription n’a été créée), ou la mise en file a échoué ou n’a pas pu être confirmée. Respectez Retry-After s’il est présent. Si un `id` est retourné, vérifiez son statut avant de réessayer : il peut être `error` ou la tâche peut être déjà en cours de traitement. Une nouvelle tentative crée une nouvelle transcription.

Récupérer une transcription

GET/transcripts/{id}

Récupérez l’état actuel et le résultat d’une transcription. Interrogez toutes les 15 à 30 secondes tant que la tâche est en cours.

Avec json ou sans type d’export spécifié, le résultat final apparaît dans data. Avec srt ou vtt, téléchargez le fichier via export_url.

idstringobligatoire
L’ID de transcription renvoyé par POST /transcripts.256 caractères maximum

Une transcription échouée renvoie également HTTP 200 avec status: "error". Vérifiez l’état de la tâche en plus du code HTTP.

Réponses

200

L’état actuel de la transcription. Cela ne signifie pas que la tâche a réussi ; lisez `status`.

401

La clé API est absente, non valide ou non configurée pour l’accès à l’API.

403

Un abonnement actif et une clé API avec les autorisations requises sont nécessaires.

404

Aucune transcription avec cet ID n’existe dans votre compte. Une transcription appartenant à un autre compte renvoie la même réponse.

500

Erreur serveur inattendue. Réessayez en augmentant le délai de façon exponentielle.

L’objet transcription

Les requêtes de création et de consultation de l’état renvoient un objet JSON. Ses champs décrivent la tâche et, lorsqu’il est prêt, son résultat.

idstring
L’ID de transcription. Utilisez-le avec `GET /transcripts/{id}`.
statusstring
État de la tâche : `initializing`, `transcribing`, `complete` ou `error`. Considérez toute autre valeur comme « en cours ».
dataJSON
Export JSON analysé une fois prêt pour json ou si export_type est omis ; sinon, une chaîne vide.
export_urlstring
Lien de téléchargement d’un export srt ou vtt. Vide tant que le résultat n’est pas prêt. Absent des réponses d’état pour json ou si export_type est omis.
messagestring
Détails supplémentaires sur l’état actuel. Pendant `transcribing`, il peut s’agir d’une étape comme `ANALYZING` ou `FINALIZING`. Lorsque `status` est `error`, ce champ décrit l’échec. Destiné à être lu par des personnes ; ne l’analysez pas par programme.
error_codestring
Code facultatif lisible par machine indiquant une limite de soumission.
limitinteger
Limite applicable au compte, incluse dans les réponses HTTP 429.

Erreurs et nouvelles tentatives

Utilisez le code d’état HTTP pour décider de la suite. Le champ message est destiné à être lu par des personnes ; sa formulation peut changer.

Les réponses de l’API contiennent un en-tête X-Request-Id. Indiquez-le lorsque vous contactez le support au sujet d’une requête.

Codes d’erreur HTTP9 codes
Erreurs HTTP et conseils pour réessayer
HTTPCe qui s’est passéÉtape suivante
400Corps de requête non valide.Corrigez d’abord la requête.
401Clé API absente, non valide ou révoquée.Vérifiez votre clé API.
403Un abonnement actif et une clé API avec les autorisations requises sont nécessaires.Vérifiez votre abonnement et les autorisations de la clé API.
404Transcription introuvable dans votre compte.Vérifiez l’ID de transcription.
405Méthode HTTP incorrecte.Utilisez la méthode documentée.
429Limite de soumissions ou de tâches inachevées atteinte.Respectez Retry-After et attendez qu’une place se libère.
500Erreur serveur inattendue.Augmentez le délai de façon exponentielle.
503Limites de soumission indisponibles, ou mise en file échouée ou non confirmée.Vérifiez tout ID de tâche retourné avant de réessayer ; respectez Retry-After.
504Le délai de la requête a expiré.Augmentez le délai ; évitez les tâches en double.

Les erreurs de limite API renvoient HTTP 429 avec du JSON et Retry-After en secondes. L’hébergement peut aussi renvoyer 429, 504 ou 400 sans JSON. Vérifiez le statut HTTP avant de lire le corps.

Les requêtes de création ne sont pas idempotentes. Réessayer un POST /transcripts ayant expiré peut créer une autre transcription. Si une réponse 503 contient un ID de tâche, vérifiez cette tâche avant de la soumettre à nouveau : elle peut avoir échoué ou être déjà en cours de traitement.

Langues

Définissez language sur la langue parlée dans votre média. Utilisez la balise exacte ci-dessous, y compris tout suffixe de région ou de système d’écriture de sortie.

Langues prises en charge74 langues
Balises de langue prises en charge pour la transcription
LangueBalise
Afrikaans (South Africa)af-ZA
Arabic (Egypt)ar-EG
Armenian (Armenia)hy-AM
Assamese (India)as-IN
Azerbaijani (Azerbaijan)az-AZ
Bengali (India)bn-IN
Bosnian (Bosnia and Herzegovina)bs-BA
Bulgarian (Bulgaria)bg-BG
Burmese (Myanmar)my-MM
Cantonese, Simplified Chinese output (Hong Kong)yue-Hant-HK-zh
Cantonese, Traditional Chinese output (Hong Kong)yue-Hant-HK-TW-zh
Cantonese, Simplified Cantonese output (Hong Kong)yue-Hant-HK
Cantonese, Traditional Cantonese output (Hong Kong)yue-Hant-HK-TW
Catalan (Spain)ca-ES
Chinese (China)zh
Chinese (Taiwan)zh-TW
Chinese & English (Simplified)zh-EN
Chinese & English (Traditional)zh-EN-TW
Croatian (Croatia)hr-HR
Czech (Czech Republic)cs-CZ
Danish (Denmark)da-DK
Dutch (Belgium)nl-BE
English (Australia)en-AU
English (United Kingdom)en-GB
English (United States)en-US
Estonian (Estonia)et-EE
Filipino (Philippines)tl-PH
Finnish (Finland)fi-FI
French (France)fr-FR
Galician (Spain)gl-ES
German (Germany)de-DE
Greek (Greece)el-GR
Gujarati (India)gu-IN
Hebrew (Israel)iw-IL
Hindi (India)hi-IN
Hungarian (Hungary)hu-HU
Icelandic (Iceland)is-IS
Indonesian (Indonesia)id-ID
Italian (Italy)it-IT
Japanese (Japan)ja-JP
Kannada (India)kn-IN
Kazakh (Kazakhstan)kk-KZ
Khmer (Cambodia)km-KH
Korean (South Korea)ko-KR
Latvian (Latvia)lv-LV
Lithuanian (Lithuania)lt-LT
Macedonian (North Macedonia)mk-MK
Malay (Malaysia)ms-MY
Malayalam (India)ml-IN
Marathi (India)mr-IN
Nepali (Nepal)ne-NP
Norwegian (Norway)no-NO
Odia (India)or-IN
Persian (Iran)fa-IR
Polish (Poland)pl-PL
Portuguese (Portugal, Brazil)pt-PT_pt-BR
Punjabi, Gurmukhi (India)pa-IN
Romanian (Romania)ro-RO
Russian (Russia)ru-RU
Serbian (Serbia)sr-SR
Slovak (Slovakia)sk-SK
Slovenian (Slovenia)sl-SI
Spanish (Spain)es-ES
Swahili (Kenya)sw-KE
Swedish (Sweden)sv-SE
Tamil (India)ta-IN
Telugu (India)te-IN
Thai (Thailand)th-TH
Turkish (Turkey)tr-TR
Ukrainian (Ukraine)uk-UA
Urdu (Pakistan)ur-PK
Uzbek (Uzbekistan)uz-UZ
Vietnamese (Vietnam)vi-VN
Zulu (South Africa)zu-ZA

Cette liste suit les paramètres linguistiques de Taption et peut évoluer. Le sélecteur de langue de Taption fait référence.

Retour à la présentation