Exporter des sous-titres
Téléchargez des sous-titres dans vos formats préférés et suivez en temps réel le statut de vos projets de transcription.
/api/v1/export/:projectIdcurl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt"
}'Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| Paramètres de base | |||
id | String | Yes | L'identifiant unique du projet passé dans le chemin de l'URL. |
output | String | No | Format de sous-titres ou ressource média souhaité pour l'exportation. Options : srt, vtt, ass, txt, json, mp4 | Par défaut : srt |
burnId | String | No | Demander explicitement le statut/résultat d'un identifiant de tâche d'incrustation spécifique. |
language | String | No | Langue cible pour les sous-titres. Plage : N'importe quel code traduit ou 'original' | Par défaut : original |
| Support multi-langues (Nouveau) | |||
languages | Array | No | Tableau de configurations pour afficher plusieurs langues dans le même fichier. Limite : Max 3 langues | Par défaut : Par défaut : ASS, VTT |
- language | String | Yes* | Le code pour cet emplacement de langue (ex : 'zh' ou 'original'). |
- lineBreakRules | Object | No | Surcharges de segmentation par langue. |
- styleSettings | Object | No | Style par langue (Principalement pour ASS). |
| Règles de segmentation (lineBreakRules) | |||
lineBreakRules | Object | No | Objet imbriqué pour la logique de segmentation des sous-titres. |
- maxChars | Number | No | Nombre maximal de caractères autorisés par ligne. Plage : 5 - 100 | Par défaut : 45 |
- maxWords | Number | No | Nombre maximal de mots autorisés par ligne de sous-titre. Plage : 1 - 20 | Par défaut : 10 |
- balanceLines | Boolean | No | Équilibre la longueur des lignes pour les sous-titres multi-lignes. Par défaut : true |
- sentenceSplit | Boolean | No | Préfère couper les lignes à la fin des phrases. Par défaut : true |
- gapThreshold | Number | No | Écart maximal (secondes) entre les mots sur une ligne. Plage : 0.1 - 2.0 | Par défaut : 0.4 |
| Bases du style (styleSettings) | |||
uppercase | Boolean | No | Forcer tout le texte en majuscules. |
styleSettings | Object | No | Objet imbriqué pour les surcharges de style visuel. |
- preset | String | No | Appliquer un style prédéfini comme base. Options : standard-stream, classic-apple, etc. |
- fontSize | Number | No | Taille de la police en ratio par rapport à la hauteur de la vidéo. Par défaut : 0.045 (approx 48px) |
- fontFamily | String | No | Nom de la police standard utilisée pour le rendu. Par défaut : Nom de la police standard utilisée pour le rendu. |
- bold | Boolean | No | Appliquer un poids gras au texte. Plage : true | false | Par défaut : false |
- italic | Boolean | No | Appliquer un style italique au texte. Plage : true | false | Par défaut : false |
| Couleurs & Bordures | |||
- primaryColor | Hex | No | Code hexadécimal de la couleur principale du texte. Par défaut : #FFFFFF |
- secondaryColor | Hex | No | Couleur secondaire (utilisée pour les effets karaoké). Par défaut : #00FFFF |
- outlineColor | Hex | No | Couleur du contour du texte. Par défaut : #000000 |
- outline | Number | No | Épaisseur du contour (Ratio par rapport à la hauteur). Par défaut : 0.002 |
- shadow | Number | No | Profondeur de l'ombre (Ratio par rapport à la hauteur). Par défaut : 0.001 |
| Positionnement (Ratios 0-1) | |||
- alignment | Number | No | Code d'alignement ASS (1-9). Bas-Centre est 2. Plage : 1 - 9 | Par défaut : 2 |
- posX | Number | No | Position horizontale (0 = Gauche, 1 = Droite). Plage : 0.0 - 1.0 | Par défaut : 0.5 |
- posY | Number | No | Ratio de position verticale (0 = Haut, 1 = Bas). Par défaut : 0.88. Plage : 0.0 - 1.0 | Par défaut : 0.88 |
- marginV | Number | No | Ratio de marge verticale depuis le bas/haut. Par défaut : 0.056. Plage : 0.0 - 0.5 | Par défaut : 0.056 |
| Animation & Effets | |||
- fadeIn | Number | No | Durée du fondu d'entrée en millisecondes. Plage : 0ms - 5000ms | Par défaut : 0 |
- fadeOut | Number | No | Durée du fondu de sortie en millisecondes. Plage : 0ms - 5000ms | Par défaut : 0 |
- karaoke | String | No | Type de balise karaoké (k, kf, ko, ks). Options : k, kf, ko, ks | Par défaut : none |
curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "srt",
"language": "fr",
"lineBreakRules": {
"maxChars": 25,
"maxWords": 5,
"balanceLines": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"lineBreakRules": {
"maxChars": 30
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"primaryColor": "#FF0000",
"bold": true
}
}'curl -X POST https://api.srtgen.com/api/v1/export/proj_8k2n9m1b \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"output": "ass",
"languages": [
{
"language": "original",
"styleSettings": {
"preset": "classic-apple",
"fontSize": 40,
"posY": 0.85
}
},
{
"language": "zh",
"lineBreakRules": {
"maxChars": 16,
"balanceLines": false
},
"styleSettings": {
"preset": "standard-stream",
"fontSize": 55,
"posY": 0.7
}
}
]
}'Structure de la réponse
1. État de traitement
Si le projet est encore en cours de traitement par notre moteur d'IA ou en attente, vous recevrez une mise à jour indiquant son état actuel.
Cela vous permet d'implémenter un simple sondage (polling) sur votre frontend en utilisant le même point de terminaison jusqu'à ce que le statut soit completed.
{ "projectId": "proj_abc123", "status": "processing", "message": "AI is generating..." }
2. État terminé
Une fois finalisée, la réponse inclut le contenu des sous-titres dans le format demandé.
Chaque format est optimisé pour son cas d'utilisation :
{ "success": true, "projectId": "proj_abc123", "status": "completed", "format": "srt", "content": "1\\n00:00:01,000 --> 00:00:03,000\\nHello..." }
Codes d'erreur
| Statut | Code d'erreur | Description |
|---|---|---|
| 400 | param_not_valid | Un paramètre fourni est en dehors de sa plage autorisée. |
| 401 | unauthorized | La clé API est manquante ou invalide. |
| 404 | not_found | L'identifiant du projet n'existe pas. |
| 500 | export_error | Une erreur est survenue lors du formatage. |
| 500 | project_fetch_failed | Échec de la récupération des données du projet. |
| 500 | server_error | Une erreur interne inattendue du serveur est survenue. |
{ "success": false, "error": "unauthorized", "message": "La clé API fournie est invalide ou a expiré." }