Utilisez l'opération SubmitVideoTranslationJob pour soumettre des tâches de traduction vidéo et l'opération GetSmartHandleJob pour en récupérer les résultats. Cette rubrique détaille les paramètres de requête et de réponse pour ces deux opérations.
Disponibilité
| Type de traduction | Régions prises en charge |
|---|---|
| Traduction de sous-titres | Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Hangzhou), Singapour, États-Unis (Silicon Valley) |
| Traduction vocale | Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Hangzhou), Singapour, États-Unis (Silicon Valley) |
| Traduction avec synchronisation labiale | Chine (Shanghai), Singapour |
SubmitVideoTranslationJob
Pour distinguer les types de traduction, configurez les paramètres booléens suivants :
Traduction de sous-titres : définissez les paramètres
NeedSpeechTranslateetNeedFaceTranslatesurfalse. Configurez les paramètres de sous-titrage dans le champSubtitleTranslate.Traduction vocale : définissez le paramètre
NeedSpeechTranslatesurtrueet le paramètreNeedFaceTranslatesurfalse. Configurez les paramètres vocaux dans le champSpeechTranslate.Traduction avec synchronisation labiale : définissez le paramètre
NeedFaceTranslatesurtrueet le paramètreNeedSpeechTranslatesurfalse. Configurez les paramètres de synchronisation labiale dans le champFaceTranslate.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| InputConfig | String | Oui | Configurations d'entrée sous forme de chaîne JSON. |
| OutputConfig | String | Oui | Configurations de sortie sous forme de chaîne JSON. |
| EditingConfig | String | Oui | Configurations de traduction sous forme de chaîne JSON. |
| Title | String | Non | Nom de la tâche. |
| Description | String | Non | Description de la tâche. |
| UserData | String | Non | Informations personnalisées sous forme de chaîne JSON. Longueur maximale : 512 caractères. Prend en charge la configuration de l'URL de rappel. |
InputConfig
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Type | String | Oui | Type d'entrée. Valeurs valides : Video, Audio, Subtitle. Consultez les contraintes relatives aux types d'entrée. |
| Video | String | Conditionnel | ID ou URL du fichier vidéo. Obligatoire lorsque le paramètre Type est défini sur Video. Accepte un ID de ressource multimédia, une URL OSS associée au compte Alibaba Cloud actuel ou une URL accessible publiquement. |
| Audio | String | Conditionnel | ID ou URL du fichier audio. Obligatoire lorsque le paramètre Type est défini sur Audio. Accepte un ID de ressource multimédia, une URL OSS associée au compte Alibaba Cloud actuel ou une URL accessible publiquement. Formats pris en charge : MP3, WAV. |
| Subtitle | String | Conditionnel | ID ou URL du fichier de sous-titres. Obligatoire lorsque le paramètre Type est défini sur Subtitle. Accepte un ID de ressource multimédia, une URL OSS associée au compte Alibaba Cloud actuel ou une URL accessible publiquement. Format pris en charge : SRT. |
Contraintes relatives aux types d'entrée
| Type de traduction | Types d'entrée pris en charge |
|---|---|
Traduction de sous-titres (NeedSpeechTranslate=false, NeedFaceTranslate=false) |
Video, Subtitle |
Traduction vocale (NeedSpeechTranslate=true) |
Video, Audio |
Traduction avec synchronisation labiale (NeedFaceTranslate=true) |
Video uniquement |
OutputConfig
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| OutputTarget | String | Non | Destination de sortie. Valeur par défaut : OSS. Valeurs valides : OSS (enregistrement dans OSS), VOD (enregistrement dans ApsaraVideo VOD). |
| MediaURL | String | Oui | URL OSS associée au compte Alibaba Cloud actuel. Le chemin doit inclure l'extension du fichier. Extensions prises en charge : mp4 (lorsque InputConfig.Type=Video), wav (lorsque InputConfig.Type=Audio), srt (lorsque InputConfig.Type=Subtitle). |
| StorageLocation | String | Conditionnel | Obligatoire lorsque le paramètre OutputTarget est défini sur VOD. Spécifiez l'emplacement de stockage sans préfixes de protocole tels que http:// ou https://. Exemple : outin-***<b>c7d2a3811eb83da00163e0</b>***.oss-cn-shanghai.aliyuncs.com. |
| FileName | String | Conditionnel | Obligatoire lorsque le paramètre OutputTarget est défini sur VOD. Nom du fichier avec extension. Extensions prises en charge : mp4, wav, srt. |
| Width | Integer | Non | Largeur de la vidéo de sortie en pixels. Par défaut, la largeur de la vidéo source est conservée. |
| Height | Integer | Non | Hauteur de la vidéo de sortie en pixels. Par défaut, la hauteur de la vidéo source est conservée. |
| Video | JSONObject | Non | Configurations de la vidéo de sortie, telles que les paramètres CRF et le codec. Exemple : {"Crf": 27}. |
EditingConfig
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| SourceLanguage | String | Oui | Code de la langue source (par exemple, zh). Consultez les valeurs valides pour SourceLanguage. |
| TargetLanguage | String | Oui | Code de la langue cible. Séparez plusieurs langues par des virgules. Exemple : en,ja,id. Consultez les valeurs valides pour TargetLanguage. |
| DetextArea | String | Non | Configuration de la suppression des sous-titres. Si ce paramètre n'est pas spécifié, les sous-titres sources sont conservés. Valeurs valides : Auto (détection automatique de la zone des sous-titres) ou un tableau à deux dimensions [[x, y, width, height], ...] spécifiant une ou plusieurs zones de suppression. Dans le tableau, x représente le ratio de la distance horizontale entre le coin supérieur gauche de la zone et le coin supérieur gauche de la vidéo, y le ratio de la distance verticale, width le ratio de la largeur et height le ratio de la hauteur. Toutes les valeurs sont comprises entre 0 et 1. |
| SupportEditing | Boolean | Non | Active la post-édition pour corriger les traductions. Valeur par défaut : false. |
| BilingualSubtitle | Boolean | Non | Génère des sous-titres bilingues dans la vidéo de sortie. Pris en charge par les trois types de traduction. Valeur par défaut : false. |
| SubtitleTranslate | String | Non | Configurations de traduction des sous-titres sous forme de chaîne JSON. Obligatoire pour la traduction de sous-titres. |
| NeedSpeechTranslate | Boolean | Non | Active la traduction vocale. Valeur par défaut : false. |
| SpeechTranslate | String | Non | Configurations de traduction vocale sous forme de chaîne JSON. La traduction vocale s'exécute lorsque le paramètre NeedSpeechTranslate est défini sur true ou lorsque ce paramètre est spécifié. |
| NeedFaceTranslate | Boolean | Non | Active la traduction avec synchronisation labiale. Valeur par défaut : false. |
| FaceTranslate | String | Non | Configurations de traduction avec synchronisation labiale sous forme de chaîne JSON. La synchronisation labiale s'exécute lorsque le paramètre NeedFaceTranslate est défini sur true ou lorsque ce paramètre est spécifié. |
| TextSource | String | Non | Méthode de source des sous-titres. Consultez les valeurs valides pour TextSource. |
| CustomParameter | String | Non | Paramètres personnalisés permettant de contrôler les effets de la traduction vidéo. Consultez la section CustomParameter. |
| HotwordLibraryIdList | String | Non | Liste des IDs de bibliothèques de mots clés, séparés par des virgules. Exemple : "**<b>b4549d46c88681030f6e</b><b>,</b><b>549d46c88b4681030f6e</b>**". Consultez la section Bibliothèques de mots clés personnalisées. |
| FECanvas | JSON | Non | Dimensions de la toile de prévisualisation frontale pour l'adaptation de la taille de police des sous-titres. Exemple : {"Width": 1080, "Height": 1920}. La taille de police rendue est calculée comme suit : FontSize x Math.min(outputWidth/feWidth, outputHeight/feHeight). Par exemple, avec FECanvas={"Width": 1080, "Height": 1920}, FontSize=100 et une résolution de sortie de 720x1280, la taille de police rendue sera égale à 100 x Math.min(720/1080, 1280/1920) = 67. |
Pour produire une vidéo de sortie sans sous-titres, définissez le paramètre SubtitleTrackClip.FontSize sur 0 .
Valeurs valides pour SourceLanguage
| Traduction de sous-titres (TextSource=OCR ou OCR_ASR) | Traduction de sous-titres (TextSource=ASR) | Source SRT externe | Traduction vocale | Traduction avec synchronisation labiale |
|---|---|---|---|---|
| zh (chinois), en (anglais) | zh (chinois), en (anglais), fr (français), tr (turc) | zh, en, ja, ko, yue, de, fr, es, ar, it, az, be, bg, bs, bn, cs, cy, da, et, fa, hi, hbs, hu, id, is, lt, lv, mi, mn, mr, ms, mt, ne, nl, no, pl, pt, ro, ru, sk, sl, sq | Identique à la source SRT externe | Identique à la source SRT externe |
Valeurs valides pour TargetLanguage
Traduction de sous-titres :
zh (chinois), zh-tw (chinois traditionnel), en (anglais), ja (japonais), id (indonésien), es (espagnol), pt (portugais), ar (arabe), fr (français), tr (turc), yue (cantonais), de (allemand), ko (coréen), ru (russe), th (thaï), vi (vietnamien), ms (malais)
Dialectes chinois : sichuan (Sichuan), dongbei (Nord-Est), henan (Henan), shanghai (Shanghai), tianjin (Tianjin), beijing (Pékin), chongqing (Chongqing), hunan (Hunan), taiwan (hakka), shanxi (Shanxi), shaanxi (Shaanxi)
Traduction vocale :
zh (chinois), zh-tw (chinois traditionnel), en (anglais), ja (japonais), ko (coréen), yue (cantonais), de (allemand), fr (français), es (espagnol), ar (arabe), tr (turc), ru (russe), pt (portugais), vi (vietnamien), ms (malais), th (thaï), id (indonésien)
Dialectes chinois : sichuan (Sichuan), tianjin (Tianjin)
Traduction avec synchronisation labiale :
en (anglais) uniquement
Valeurs valides pour TextSource
| Valeur | Description | Valeur par défaut pour |
|---|---|---|
ASR |
Reconnaît les sous-titres via la reconnaissance automatique de la parole (ASR). | - |
OCR |
Reconnaît les sous-titres via la reconnaissance optique de caractères (OCR). Définissez la zone de reconnaissance via le paramètre OcrArea. |
Traduction de sous-titres |
OCR_ASR |
Privilégie l'OCR. En cas d'échec, bascule vers l'ASR. Définissez la zone de reconnaissance via le paramètre OcrArea. |
Traduction vocale et avec synchronisation labiale |
ALL |
Privilégie le texte et la chronologie transcrits par ASR, puis affine avec l'OCR pour corriger les imprécisions. Disponible uniquement pour la traduction de sous-titres. | - |
SubtitleFile |
Utilise un fichier SRT externe spécifié dans le champ InputConfig.Subtitle. |
- |
SubtitleTranslate
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| OcrArea | String | Non | Zone de reconnaissance OCR. Si ce paramètre n'est pas spécifié, la zone des sous-titres est détectée automatiquement. Valeurs valides : Auto ou un tableau à une dimension [x, y, width, height] où x représente le ratio de la distance horizontale entre le coin supérieur gauche de la zone et le coin supérieur gauche de la vidéo, y le ratio de la distance verticale, width le ratio de la largeur et height le ratio de la hauteur. Toutes les valeurs sont comprises entre 0 et 1. Contrairement au paramètre DetextArea, une seule zone peut être spécifiée. |
| SubtitleConfig | String | Non | Style des sous-titres de sortie sous forme de chaîne JSON. Les paramètres suivent la spécification SubtitleTrackClip dans la timeline. Définissez le paramètre FontSize sur 0 pour masquer les sous-titres. |
SpeechTranslate
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| OcrArea | String | Non | Zone de reconnaissance OCR. Même format que le paramètre SubtitleTranslate.OcrArea. |
| CustomSrtType | String | Conditionnel | Obligatoire si le champ InputConfig.Subtitle est spécifié. Indique le type de sous-titre d'entrée. Valeurs valides : SourceSrt (langue source), TargetSrt (langue cible), BilingualSrtSrcFirst (bilingue, cible sous la source), BilingualSrtTgtFirst (bilingue, source sous la cible). Consultez les exemples de format SRT. |
| SubtitleTimeForce | Boolean | Non | Traduit uniquement l'audio contenu dans la plage temporelle des sous-titres. Valeur par défaut : false. Valide uniquement lorsque le paramètre TextSource est défini sur OCR ou OCR_ASR. |
| SubtitleConfig | String | Non | Style des sous-titres de sortie. Même format que le paramètre SubtitleTranslate.SubtitleConfig. |
| OriginalJobId | String | Non | ID de la tâche initiale pour la resoumission après post-édition. Utilisez la valeur SpeechTranslationJobId renvoyée par la tâche initiale (lorsque le paramètre SupportEditing est défini sur true). Le résultat de la traduction initiale est disponible via le champ SpeechTranslatedSubtitleURL. Modifiez le fichier SRT et transmettez l'URL au champ InputConfig.Subtitle. |
| SkipSong | Integer | Non | Ignore la traduction des sections musicales chantées. Valeurs valides : 0 (valeur par défaut, traduit toute la parole détectée, y compris les voix chantées), 1 (identifie et exclut les voix chantées). L'algorithme de détection musicale n'est pas précis à 100 %. Définissez ce paramètre sur 1 uniquement si la vidéo source contient du chant. |
FaceTranslate
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| OcrArea | String | Non | Zone de reconnaissance OCR. Même format que le paramètre SubtitleTranslate.OcrArea. |
| CustomSrtType | String | Conditionnel | Obligatoire si le champ InputConfig.Subtitle est spécifié. Mêmes valeurs valides que pour le paramètre SpeechTranslate.CustomSrtType. |
| SubtitleTimeForce | Boolean | Non | Même comportement que le paramètre SpeechTranslate.SubtitleTimeForce. |
| SubtitleConfig | String | Non | Style des sous-titres de sortie. Même format que le paramètre SubtitleTranslate.SubtitleConfig. |
| SpeechDurationThres | Float | Non | Durée minimale du segment en secondes pour le traitement de synchronisation labiale. Les segments plus courts que ce seuil ignorent la synchronisation labiale. Valeur par défaut : 1. Ne peut pas dépasser la durée totale de la vidéo source. |
| FacialClarity | Float | Non | Niveau de netteté du visage. Plage valide : 0 à 1. Valeur par défaut : 1 (netteté maximale). Utilisez une valeur plus faible pour les vidéos source de basse résolution. |
Exemples de format SRT
Pour une traduction du chinois vers l'anglais :
SourceSrt (langue source uniquement) :
1
00:00:01,000 --> 00:00:05,000
你好,世界!
TargetSrt (langue cible uniquement) :
1
00:00:01,000 --> 00:00:05,000
Hello,World!
BilingualSrtSrcFirst (cible sous la source) :
1
00:00:01,000 --> 00:00:05,000
你好,世界!
Hello,World!
BilingualSrtTgtFirst (source sous la cible) :
1
00:00:01,000 --> 00:00:05,000
Hello,World!
你好,世界!
CustomParameter
| Valeur | Description |
|---|---|
--add -dl |
À utiliser lorsque l'audio d'entrée contient plusieurs langues. Par exemple, dans une tâche de traduction du coréen vers le français, les segments en anglais présents dans l'entrée seront traduits en français. Pour les tâches de traduction du chinois vers l'anglais avec une entrée mixte chinois-anglais, n'utilisez pas ce paramètre car l'anglais d'entrée est utilisé directement dans la sortie. |
Exemples de code
Traduction de sous-titres
Entrée de fichier de sous-titres
L'entrée de fichier SRT est facturée selon les tarifs de la traduction de texte.
{
"InputConfig": {
"Type": "Subtitle",
"Subtitle": "https://******.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a0720f71eeb755f6f7d6496302/snapshots/sprite/test.srt"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en"
},
"Title": "1735798516693.srt",
"OutputConfig": {
"MediaURL": "https://****.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a0720f71eeb755f6f7d6496302/snapshots/sprite/new.srt"
}
}
Entrée de fichier vidéo
{
"InputConfig": {
"Type": "Video",
"Video": "1628ae20c36******f6f7c77a6302"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"DetextArea": [[0, 0.64, 1, 0.13]],
"BilingualSubtitle": false,
"SubtitleTranslate": {
"OcrArea": [0, 0.64, 1, 0.15],
"SubtitleConfig": {
"Type": "Text",
"FontSize": 95,
"FontColorOpacity": 1,
"Color": "#ffffff",
"X": 0.5,
"Y": 0.686,
"Angle": 0,
"Spacing": 0,
"TextWidth": 0.9,
"Font": "Alibaba PuHuiTi",
"FontColor": "#ffffff",
"FontFace": {
"Bold": false,
"Italic": false,
"Underline": false
},
"SizeRequestType": "RealDim",
"SubtitleEffects": [],
"LineSpacing": 0,
"BorderStyle": 1,
"Outline": 0,
"Alignment": "Center"
}
},
"SupportEditing": true,
"NeedSpeechTranslate": false
},
"Title": "have a test",
"OutputConfig": {
"MediaURL": "https://*****.oss-cn-shanghai.aliyuncs.com/ice-generated/test.mp4"
}
}
Entrée de fichier vidéo et de sous-titres
{
"InputConfig": {
"Type": "Video",
"Video": "4e92fa60c995*****6f7c77a6302",
"Subtitle": "https://*****.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a072****5f6f7d6496302/snapshots/sprite/test.srt"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"DetextArea": [[0, 0.64, 1, 0.14]],
"BilingualSubtitle": false,
"SubtitleTranslate": {
"OcrArea": "Auto",
"SubtitleConfig": {
"Type": "Text",
"FontSize": 95,
"FontColorOpacity": 1,
"Color": "#ffffff",
"X": 0.5,
"Y": 0.686,
"Angle": 0,
"Spacing": 0,
"TextWidth": 0.9,
"Font": "Alibaba PuHuiTi",
"FontColor": "#ffffff",
"FontFace": {
"Bold": false,
"Italic": false,
"Underline": false
},
"SizeRequestType": "RealDim",
"SubtitleEffects": [],
"LineSpacing": 0,
"BorderStyle": 1,
"Outline": 0,
"Alignment": "Center"
}
},
"SupportEditing": true,
"NeedSpeechTranslate": false
},
"Title": "1735898570421.mp4",
"OutputConfig": {
"MediaURL": "https://****.oss-cn-shanghai.aliyuncs.com/ice-generated/******/snapshots/sprite/1735898570421.mp4"
}
}
Traduction vocale
Entrée de fichier vidéo
{
"InputConfig": {
"Type": "Video",
"Video": "1628ae20c36******8f6f7c77a6302"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"DetextArea": [[0, 0.64, 1, 0.15]],
"SupportEditing": true,
"BilingualSubtitle": false,
"NeedSpeechTranslate": true,
"SpeechTranslate": {
"SubtitleTimeForce": false,
"SubtitleConfig": {
"Type": "Text",
"FontSize": 95,
"FontColorOpacity": 1,
"Color": "#ffffff",
"X": 0.5,
"Y": 0.686,
"Angle": 0,
"Spacing": 0,
"TextWidth": 0.9,
"Font": "Alibaba PuHuiTi",
"FontColor": "#ffffff",
"FontFace": {
"Bold": false,
"Italic": false,
"Underline": false
},
"SizeRequestType": "RealDim",
"SubtitleEffects": [],
"LineSpacing": 0,
"BorderStyle": 1,
"Outline": 0,
"Alignment": "Center"
}
}
},
"Title": "have a test",
"OutputConfig": {
"MediaURL": "https://******.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a0720f71eeb755f6f7d6496302/snapshots/sprite/1735798757385.mp4"
}
}
Entrée de fichier vidéo et de sous-titres
{
"InputConfig": {
"Type": "Video",
"Video": "738d94a0ce87******af6f7c6696302",
"Subtitle": "https://********.oss-cn-test.aliyuncs.com/test.srt"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"DetextArea": "Auto",
"SupportEditing": true,
"BilingualSubtitle": false,
"NeedSpeechTranslate": true,
"SpeechTranslate": {
"SubtitleTimeForce": false,
"SubtitleConfig": {
"Type": "Text",
"FontSize": 95,
"FontColorOpacity": 1,
"Color": "#ffffff",
"X": 0.5,
"Y": 0.686,
"Angle": 0,
"Spacing": 0,
"TextWidth": 0.9,
"Font": "Alibaba PuHuiTi",
"FontColor": "#ffffff",
"FontFace": {
"Bold": false,
"Italic": false,
"Underline": false
},
"SizeRequestType": "RealDim",
"SubtitleEffects": [],
"LineSpacing": 0,
"BorderStyle": 1,
"Outline": 0,
"Alignment": "Center"
},
"OcrArea": "Auto",
"CustomSrtType": "SourceSrt"
}
},
"Title": "1736485935837.mp4",
"OutputConfig": {
"MediaURL": "https://*****.oss-cn-***.aliyuncs.com/test.mp4"
}
}
Entrée de fichier audio
{
"InputConfig": {
"Type": "Audio",
"Audio": "2f552010c8d******e7f7f4586303"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"NeedSpeechTranslate": true
},
"Title": "have a test",
"OutputConfig": {
"MediaURL": "https://******.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a0720f***f6f7d6496302/snapshots/sprite/test.wav"
}
}
Traduction avec synchronisation labiale
{
"InputConfig": {
"Type": "Video",
"Video": "1628ae20c36******8f6f7c77a6302"
},
"EditingConfig": {
"SourceLanguage": "zh",
"TargetLanguage": "en",
"DetextArea": [[0, 0.64, 1, 0.15]],
"SupportEditing": true,
"BilingualSubtitle": false,
"NeedFaceTranslate": true,
"FaceTranslate": {
"SubtitleConfig": {
"Type": "Text",
"FontSize": 95,
"FontColorOpacity": 1,
"Color": "#ffffff",
"X": 0.5,
"Y": 0.686,
"Angle": 0,
"Spacing": 0,
"TextWidth": 0.9,
"Font": "Alibaba PuHuiTi",
"FontColor": "#ffffff",
"FontFace": {
"Bold": false,
"Italic": false,
"Underline": false
},
"SizeRequestType": "RealDim",
"SubtitleEffects": [],
"LineSpacing": 0,
"BorderStyle": 1,
"Outline": 0,
"Alignment": "Center"
},
"SpeechDurationThres": 1,
"FacialClarity": 1,
"SubtitleTimeForce": false
}
},
"Title": "have a test",
"OutputConfig": {
"MediaURL": "https://******.oss-cn-shanghai.aliyuncs.com/ice-generated/4e1021a0720f71eeb755f6f7d6496302/snapshots/sprite/1735798757385.mp4"
}
}
GetSmartHandleJob
Paramètres de réponse AiResult
Langue cible unique
| Catégorie | Paramètre | Type | Description |
|---|---|---|---|
| Commun | EditingProjectId | String | ID du projet de post-édition. |
| MediaURL | String | URL de la ressource multimédia de sortie. | |
| MediaId | String | ID de la ressource multimédia de sortie. | |
| DetextVideoURL | String | URL de la vidéo dont les sous-titres ont été supprimés. | |
| DetextVideoMediaId | String | ID de la vidéo dont les sous-titres ont été supprimés. | |
| Traduction de sous-titres | OriginalSubtitleMediaId | String | ID du fichier SRT source. |
| OriginalSubtitleURL | String | URL du fichier SRT source. | |
| TranslatedSubtitleMediaId | String | ID du fichier SRT traduit. | |
| TranslatedSubtitleURL | String | URL du fichier SRT traduit. | |
| TranslatedText | String | Texte traduit. | |
| TranslatedTextArray | String | Tableau de textes traduits pour plusieurs entrées de sous-titres. | |
| Traduction vocale | SpeechTranslatedSubtitleMediaId | String | ID du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. |
| SpeechTranslatedSubtitleURL | String | URL du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. | |
| SpeechTranslatedSubtitleURLSigned | String | URL signée du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. | |
| SpeechTranslatedSubtitleMediaIdForFix | String | ID du fichier SRT pour la correction de la traduction. | |
| SpeechTranslatedSubtitleURLForFix | String | URL du fichier SRT pour la correction de la traduction. | |
| SpeechBilingualSubtitleMediaId | String | ID du fichier SRT bilingue. | |
| SpeechBilingualSubtitleURL | String | URL du fichier SRT bilingue. | |
| SpeechTranslationJobId | String | ID de la tâche de traduction vocale pour la post-édition. | |
| TranslatedAudioMediaId | String | ID du fichier audio traduit. | |
| TranslatedAudioMediaURL | String | URL du fichier audio traduit. | |
| Traduction avec synchronisation labiale | FaceTranslationMediaId | String | ID du fichier vidéo avec synchronisation labiale. |
Exemple de réponse :
{
"SpeechTranslatedSubtitleURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.srt",
"MediaId": "****9cb015bb71f0b96ff7f6d449****",
"TranslatedAudioMediaId": "****df80e79d71efa44ae7f6c449****",
"SpeechTranslatedSubtitleURLForFix": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test2.srt",
"EditingProjectId": "****febec2bf4377b923cf5b1742****",
"DetextVideoURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test3.mp4",
"FaceTranslationMediaId": "****138015bb71f0b96ff7f6d449****",
"SpeechTranslationJobId": "****0c827a664b4f88b33d8d46e3****"
}
Langues cibles multiples
| Paramètre | Type | Description |
|---|---|---|
| DetextVideoURL | String | URL de la vidéo dont les sous-titres ont été supprimés. |
| DetextVideoMediaId | String | ID de la vidéo dont les sous-titres ont été supprimés. |
| VideoTranslationAiResultMap | JSON | Sorties de traduction regroupées par langue cible. Chaque clé correspond à un code de langue (par exemple, en), et la valeur contient les paramètres de résultat de traduction pour cette langue. |
VideoTranslationAiResultMap
| Catégorie | Paramètre | Type | Description |
|---|---|---|---|
| Commun | MediaURL | String | URL de la ressource multimédia de sortie pour la langue cible. |
| MediaId | String | ID de la ressource multimédia de sortie pour la langue cible. | |
| Traduction de sous-titres | OriginalSubtitleMediaId | String | ID du fichier SRT source. |
| OriginalSubtitleURL | String | URL du fichier SRT source. | |
| TranslatedSubtitleMediaId | String | ID du fichier SRT traduit. | |
| TranslatedSubtitleURL | String | URL du fichier SRT traduit. | |
| TranslatedText | String | Texte traduit. | |
| TranslatedTextArray | String | Tableau de textes traduits pour plusieurs entrées de sous-titres. | |
| Traduction vocale | SpeechTranslatedSubtitleMediaId | String | ID du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. |
| SpeechTranslatedSubtitleURL | String | URL du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. | |
| SpeechTranslatedSubtitleURLSigned | String | URL signée du fichier SRT pour l'affichage des sous-titres dans la vidéo de sortie. | |
| SpeechTranslatedSubtitleMediaIdForFix | String | ID du fichier SRT pour la correction de la traduction. | |
| SpeechTranslatedSubtitleURLForFix | String | URL signée du fichier SRT pour la correction de la traduction. | |
| SpeechBilingualSubtitleMediaId | String | ID de la sortie bilingue. | |
| SpeechBilingualSubtitleURL | String | URL de la sortie bilingue. | |
| SpeechTranslationJobId | String | ID de la tâche de traduction vocale pour la post-édition. | |
| TranslatedAudioMediaId | String | ID du fichier audio traduit. | |
| TranslatedAudioMediaURL | String | URL du fichier audio traduit. | |
| Traduction avec synchronisation labiale | FaceTranslationMediaId | String | ID du fichier vidéo avec synchronisation labiale. |
Exemple de réponse
{
"VideoTranslationAiResultMap": {
"en": {
"SpeechTranslatedSubtitleURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test1.srt",
"MediaId": "****4d00087171f0bf81f6f7d44b****",
"TranslatedAudioMediaId": "****df80e79d71efa44ae7f6c449****",
"SpeechTranslatedSubtitleURLForFix": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test2.srt",
"EditingProjectId": "****983759c045c387146888713d****",
"SpeechTranslationJobId": "****33cc65164f13aace55a0f0d3****"
},
"es": {
"SpeechTranslatedSubtitleURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test3.srt",
"MediaId": "****cec0087171f09033f7f6d449****",
"TranslatedAudioMediaId": "****a7f0085671f0bf81f6f7d44b****",
"SpeechTranslatedSubtitleURLForFix": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test4.srt",
"EditingProjectId": "****d16f4a874c4898d254d4b68e****",
"SpeechTranslationJobId": "****f705193c404e9bec19859a11****"
}
},
"DetextVideoURL": "http://[your-bucket].oss-[your-region-id].aliyuncs.com/test5.mp4"
}
Exemples de scénarios
Traduction vocale avec post-édition
Corrigez le fichier SRT généré et resoumettez la tâche pour affiner le résultat de la traduction.
La traduction avec synchronisation labiale prend en charge uniquement les corrections de la sortie vocale. La post-édition des mouvements labiaux n'est pas disponible.
Procédure
-
Soumettez une tâche de traduction vocale en définissant le paramètre
SupportEditingsurtrue.{ "InputConfig": { "Type": "Video", "Video": "*****a0052ff71efbfd4e7e6c66*****" }, "OutputConfig": { "MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/video.mp4" }, "EditingConfig": { "SourceLanguage": "zh", "TargetLanguage": "en", "SupportEditing": true, "NeedSpeechTranslate": true } } -
Récupérez le résultat de la tâche. La réponse inclut les éléments suivants :
Champ Description MediaIdID de la ressource multimédia de sortie. TranslatedAudioMediaIdID du fichier audio traduit. SpeechTranslatedSubtitleURLURL du fichier SRT traduit pour l'affichage des sous-titres dans la vidéo de sortie. SpeechTranslatedSubtitleURLSignedURL signée du fichier SRT traduit. SpeechTranslatedSubtitleURLForFixURL signée du fichier SRT pour la correction de la traduction. SpeechTranslationJobIdID de la tâche de traduction vocale. Utilisez cette valeur pour le paramètre OriginalJobIdlors de la resoumission.{ "MediaId": "*****d306b6d71efbf98f6f7f55*****", "TranslatedAudioMediaId": "*****d306b6d71efbf98f6f7f5*****", "SpeechTranslatedSubtitleURL": "http://your-bucket.oss-cn-shanghai.aliyuncs.com/video_subtitle_asr_en.srt", "SpeechTranslatedSubtitleURLSigned": "http://your-bucket.oss-cn-shanghai.aliyuncs.com/***.srt", "SpeechTranslatedSubtitleURLForFix": "http://your-bucket.oss-cn-shanghai.aliyuncs.com/***.srt", "SpeechTranslationJobId": "*****74f329d4c03b63e7f7dac8*****" } -
Téléchargez le fichier SRT depuis l'URL
SpeechTranslatedSubtitleURLForFix, modifiez son contenu, puis resoumettez la tâche. Le système régénère la sortie en se basant sur les sous-titres modifiés.Ajoutez des marques de post-édition au fichier SRT pour contrôler le traitement de chaque segment.
ImportantLe paramètre
InputConfig.Subtitledoit contenir le fichier corrigé manuellement, qui est la version modifiée du fichier issu de l'URLSpeechTranslatedSubtitleURLForFix.{ "InputConfig": { "Type": "Video", "Video": "*****a0052ff71efbfd4e7e6c66*****", "Subtitle": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/new_subtitle.srt" }, "OutputConfig": { "MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/video.mp4" }, "EditingConfig": { "SourceLanguage": "zh", "TargetLanguage": "en", "SupportEditing": true, "NeedSpeechTranslate": true, "SpeechTranslate": { "OriginalJobId": "*****b5d5d604916bb898b3066*****", "SubtitleConfig": { "Type": "Text", "FontSize": 95, "FontColorOpacity": 1, "Color": "#ffffff", "X": 0.5, "Y": 0.686, "Angle": 0, "Spacing": 0, "TextWidth": 0.9, "Font": "Alibaba PuHuiTi", "FontColor": "#ffffff", "FontFace": { "Bold": false, "Italic": false, "Underline": false }, "SizeRequestType": "RealDim", "SubtitleEffects": [], "LineSpacing": 0, "BorderStyle": 1, "Outline": 0, "Alignment": "Center" } } } }
Marques de post-édition
Une ligne de sous-titre ne peut pas avoir à la fois le contenu et la marque de post-édition vides (y compris les espaces et les tabulations). Pour afficher une ligne vide sans modifier l'audio, ajoutez la marque <--onlymodifytext> à la ligne.
| Marque | Effet | Description |
|---|---|---|
<--copy> |
Utiliser l'audio original | Remplace l'audio dans la plage temporelle par l'audio original de la vidéo source. |
<--fsttran> |
Utiliser la traduction initiale | Remplace l'audio dans la plage temporelle par le résultat de la traduction initiale. |
<--mute> |
Couper le son de l'orateur | Coupe le son de la voix de l'orateur dans la plage temporelle. |
<--mute_all> |
Couper tout l'audio | Coupe tout l'audio dans la plage temporelle. |
<--onlymodifytext> |
Modifier le texte uniquement | Modifie le texte des sous-titres affichés sans changer l'audio. |
Exemple de fichier SRT :
1
00:00:01,000 --> 00:00:03,000
大家好,
<--copy>Hello everyone,
2
00:00:03,500 --> 00:00:06,000
欢迎来到今天的讲座。
<--fsttran>welcome to today's lecture.
3
00:00:07,000 --> 00:00:10,000
我们将讨论未来的技术趋势。
<--mute>We'll discuss the future technology trends.
4
00:00:11,000 --> 00:00:14,000
请大家准备好提问。
<--mute_all>Please get ready to ask questions.
5
00:00:15,000 --> 00:00:18,000
现在让我们开始吧。
<--onlymodifytext>Now, let's get started.
Bibliothèques de mots clés personnalisées
Utilisez le paramètre EditingConfig.HotwordLibraryIdList pour définir des mappages de mots clés et améliorer la précision de la transcription et de la traduction.
Fonctionnement
Une bibliothèque de mots clés personnalisée permet de :
Définir les traductions de termes : spécifiez comment certains termes doivent être traduits. Par exemple, mappez « Intelligent Media Services » sur « IMS ».
Améliorer la précision de la reconnaissance : optimisez la reconnaissance des termes spécifiques à un secteur, notamment les lieux géographiques, les noms de produits, les homophones et les mots peu courants.
Référence API :
CreateHotwordLibrary : Créer une bibliothèque de mots clés
ListHotwordLibraries : Interroger toutes les bibliothèques de mots clés
GetHotwordLibrary : Interroger une bibliothèque de mots clés spécifique
UpdateHotwordLibrary : Modifier une bibliothèque de mots clés
DeleteHotwordLibrary : Supprimer une bibliothèque de mots clés
Exemple de code
Références
SubmitVideoTranslationJob : Soumettre une tâche de traduction
GetSmartHandleJob : Récupérer les résultats de la tâche
ListSmartJobs : Lister les tâches de traduction
DeleteSmartJob : Supprimer une tâche
Traduction vidéo : Guide utilisateur de la traduction vidéo
Facturation
Pour plus d'informations sur les tarifs, consultez la page Facturation de la traduction vidéo.