Use SubmitVideoTranslationJob para enviar tarefas de tradução de vídeo e GetSmartHandleJob para recuperar os resultados. Este tópico aborda os parâmetros de solicitação e resposta de ambas as operações.
Disponibilidade
|
Tipo de tradução |
Regiões suportadas |
|
Tradução de legendas |
China (Shanghai), China (Beijing), China (Shenzhen), China (Hangzhou), Singapura, EUA (Silicon Valley) |
|
Tradução de fala |
China (Shanghai), China (Beijing), China (Shenzhen), China (Hangzhou), Singapura, EUA (Silicon Valley) |
|
Tradução com sincronia labial |
China (Shanghai), Singapura |
SubmitVideoTranslationJob
Para distinguir os tipos de tradução, configure os seguintes parâmetros booleanos:
Tradução de legendas: defina
NeedSpeechTranslateeNeedFaceTranslatecomofalse. Configure as opções de legenda emSubtitleTranslate.Tradução de fala: defina
NeedSpeechTranslatecomotrueeNeedFaceTranslatecomofalse. Configure as opções de fala emSpeechTranslate.Tradução com sincronia labial: defina
NeedFaceTranslatecomotrueeNeedSpeechTranslatecomofalse. Configure as opções de sincronia labial emFaceTranslate.
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
InputConfig |
String |
Sim |
Configurações de entrada em formato JSON. |
|
OutputConfig |
String |
Sim |
Configurações de saída em formato JSON. |
|
EditingConfig |
String |
Sim |
Configurações de tradução em formato JSON. |
|
Title |
String |
Não |
Nome da tarefa. |
|
Description |
String |
Não |
Descrição da tarefa. |
|
UserData |
String |
Não |
Informações personalizadas em formato JSON. Comprimento máximo: 512 caracteres. Suporta configuração de URL de callback. |
InputConfig
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
Type |
String |
Sim |
Tipo de entrada. Valores válidos: |
|
Video |
String |
Condicional |
ID ou URL do arquivo de vídeo. Obrigatório quando |
|
Audio |
String |
Condicional |
ID ou URL do arquivo de áudio. Obrigatório quando |
|
Subtitle |
String |
Condicional |
ID ou URL do arquivo de legenda. Obrigatório quando |
Restrições de tipo de entrada
|
Tipo de tradução |
Tipos de entrada suportados |
|
Tradução de legendas ( |
Vídeo, Legenda |
|
Tradução de fala ( |
Vídeo, Áudio |
|
Tradução com sincronia labial ( |
Apenas vídeo |
OutputConfig
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
OutputTarget |
String |
Não |
Destino de saída. Padrão: |
|
MediaURL |
String |
Sim |
URL do OSS na conta atual do Alibaba Cloud. O caminho deve incluir a extensão do arquivo. Extensões suportadas: |
|
StorageLocation |
String |
Condicional |
Obrigatório quando |
|
FileName |
String |
Condicional |
Obrigatório quando |
|
Width |
Integer |
Não |
Largura do vídeo de saída em pixels. O padrão é a largura do vídeo de source. |
|
Height |
Integer |
Não |
Altura do vídeo de saída em pixels. O padrão é a altura do vídeo de source. |
|
JSONObject |
Não |
Configurações do vídeo de saída, como definições de CRF e codec. Exemplo: |
EditingConfig
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
SourceLanguage |
String |
Sim |
Código do idioma de source (por exemplo, |
|
TargetLanguage |
String |
Sim |
Código do idioma de destino. Separe vários idiomas por vírgulas. Exemplo: |
|
DetextArea |
String |
Não |
Configuração de remoção de legendas. Se não especificado, as legendas originais são mantidas. Valores válidos: |
|
SupportEditing |
Boolean |
Não |
Ativa a pós-edição para corrigir traduções. Padrão: |
|
BilingualSubtitle |
Boolean |
Não |
Gera legendas bilíngues no vídeo de saída. Suportado pelos três tipos de tradução. Padrão: |
|
SubtitleTranslate |
String |
Não |
Configurações de tradução de legendas em formato JSON. Obrigatório para tradução de legendas. |
|
NeedSpeechTranslate |
Boolean |
Não |
Ativa a tradução de fala. Padrão: |
|
SpeechTranslate |
String |
Não |
Configurações de tradução de fala em formato JSON. A tradução de fala é executada quando |
|
NeedFaceTranslate |
Boolean |
Não |
Ativa a tradução com sincronia labial. Padrão: |
|
FaceTranslate |
String |
Não |
Configurações de tradução com sincronia labial em formato JSON. A tradução com sincronia labial é executada quando |
|
TextSource |
String |
Não |
Método de source da legenda. Consulte Valores válidos de TextSource. |
|
CustomParameter |
String |
Não |
Parâmetros personalizados para controlar os efeitos da tradução de vídeo. Consulte CustomParameter. |
|
HotwordLibraryIdList |
String |
Não |
IDs separados por vírgulas de bibliotecas de palavras-chave. Exemplo: |
|
FECanvas |
JSON |
Não |
Dimensões da tela de visualização do frontend para dimensionamento adaptativo da fonte da legenda. Exemplo: |
Para gerar um vídeo de saída sem legendas, defina SubtitleTrackClip.FontSize como 0 .
Valores válidos de SourceLanguage
|
Tradução de legendas (TextSource=OCR ou OCR_ASR) |
Tradução de legendas (TextSource=ASR) |
Origem SRT externa |
Tradução de fala |
Tradução com sincronia labial |
|
zh (Chinês), en (Inglês) |
zh (Chinês), en (Inglês), fr (Francês), tr (Turco) |
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 |
Igual à origem SRT externa |
Igual à origem SRT externa |
Valores válidos de TargetLanguage
Tradução de legendas:
zh (Chinês), zh-tw (Chinês Tradicional), en (Inglês), ja (Japonês), id (Indonésio), es (Espanhol), pt (Português), ar (Árabe), fr (Francês), tr (Turco), yue (Cantonês), de (Alemão), ko (Coreano), ru (Russo), th (Tailandês), vi (Vietnamita), ms (Malaio)
Dialetos chineses: sichuan (Sichuan), dongbei (Nordeste), henan (Henan), shanghai (Xangai), tianjin (Tianjin), beijing (Pequim), chongqing (Chongqing), hunan (Hunan), taiwan (Hakka Chinês), shanxi (Shanxi), shaanxi (Shaanxi)
Tradução de fala:
zh (Chinês), zh-tw (Chinês Tradicional), en (Inglês), ja (Japonês), ko (Coreano), yue (Cantonês), de (Alemão), fr (Francês), es (Espanhol), ar (Árabe), tr (Turco), ru (Russo), pt (Português), vi (Vietnamita), ms (Malaio), th (Tailandês), id (Indonésio)
Dialetos chineses: sichuan (Sichuan), tianjin (Tianjin)
Tradução com sincronia labial:
Apenas en (Inglês)
Valores válidos de TextSource
|
Valor |
Descrição |
Padrão para |
|
|
Reconhece legendas por meio de Reconhecimento Automático de Fala (ASR). |
- |
|
|
Reconhece legendas por meio de Reconhecimento Óptico de Caracteres (OCR). Defina a área de reconhecimento por meio de |
Tradução de legendas |
|
|
Prioriza o OCR. Se o OCR falhar, reverte para ASR. Defina a área de reconhecimento por meio de |
Tradução de fala e com sincronia labial |
|
|
Prioriza o texto e a linha do tempo transcritos por ASR e refina com OCR para corrigir imprecisões. Disponível apenas para tradução de legendas. |
- |
|
|
Usa um arquivo SRT externo especificado em |
- |
SubtitleTranslate
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
OcrArea |
String |
Não |
Área de reconhecimento OCR. Se não especificado, a área da legenda é detectada automaticamente. Valores válidos: |
|
SubtitleConfig |
String |
Não |
Estilo da legenda de saída em formato JSON. Os parâmetros seguem a especificação SubtitleTrackClip no Timeline. Defina |
SpeechTranslate
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
OcrArea |
String |
Não |
Área de reconhecimento OCR. Mesmo formato de |
|
CustomSrtType |
String |
Condicional |
Obrigatório se |
|
SubtitleTimeForce |
Boolean |
Não |
Traduz apenas o áudio dentro do intervalo de tempo da legenda. Padrão: |
|
SubtitleConfig |
String |
Não |
Estilo da legenda de saída. Mesmo formato de |
|
OriginalJobId |
String |
Não |
ID da tarefa inicial para reenvio de pós-edição. Use o valor |
|
SkipSong |
Integer |
Não |
Ignora a tradução de trechos musicais cantados. Valores válidos: |
FaceTranslate
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
OcrArea |
String |
Não |
Área de reconhecimento OCR. Mesmo formato de |
|
CustomSrtType |
String |
Condicional |
Obrigatório se |
|
SubtitleTimeForce |
Boolean |
Não |
Mesmo comportamento de |
|
SubtitleConfig |
String |
Não |
Estilo da legenda de saída. Mesmo formato de |
|
SpeechDurationThres |
Float |
Não |
Duração mínima do segmento em segundos para processamento de sincronia labial. Segmentos mais curtos que este limiar ignoram a sincronia labial. Padrão: |
|
FacialClarity |
Float |
Não |
Nível de clareza facial. Intervalo válido: 0 a 1. Padrão: |
Exemplos de formato SRT
Para tradução de chinês para inglês:
SourceSrt (apenas idioma de source):
1
00:00:01,000 --> 00:00:05,000
你好,世界!
TargetSrt (apenas idioma de destino):
1
00:00:01,000 --> 00:00:05,000
Hello,World!
BilingualSrtSrcFirst (destino abaixo da source):
1
00:00:01,000 --> 00:00:05,000
你好,世界!
Hello,World!
BilingualSrtTgtFirst (source abaixo do destino):
1
00:00:01,000 --> 00:00:05,000
Hello,World!
你好,世界!
CustomParameter
|
Valor |
Descrição |
|
|
Use quando o áudio de entrada contiver vários idiomas. Por exemplo, em uma tarefa de tradução de coreano para francês, segmentos em inglês na entrada são traduzidos para francês. Em tarefas de chinês para inglês com entrada mista de chinês e inglês, não use este parâmetro porque a entrada em inglês é usada diretamente na saída. |
Código de exemplo
Tradução de legendas
Entrada de arquivo de legenda
A entrada de arquivo SRT é cobrada com base nos preços de tradução de texto.
{
"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"
}
}
Entrada de arquivo de vídeo
{
"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"
}
}
Entrada de arquivos de vídeo e legenda
{
"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"
}
}
Tradução de fala
Entrada de arquivo de vídeo
{
"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"
}
}
Entrada de arquivos de vídeo e legenda
{
"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"
}
}
Entrada de arquivo de áudio
{
"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"
}
}
Tradução com sincronia labial
{
"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
Parâmetros de resposta AiResult
Único idioma de destino
| Categoria | Parâmetro | Tipo | Descrição |
|---|---|---|---|
| Comum | EditingProjectId | String | ID do projeto de pós-edição. |
| MediaURL | String | URL do ativo de mídia de saída. | |
| MediaId | String | ID do ativo de mídia de saída. | |
| DetextVideoURL | String | URL do vídeo com legendas removidas. | |
| DetextVideoMediaId | String | ID do vídeo com legendas removidas. | |
| Tradução de legendas | OriginalSubtitleMediaId | String | ID do arquivo SRT de source. |
| OriginalSubtitleURL | String | URL do arquivo SRT de source. | |
| TranslatedSubtitleMediaId | String | ID do arquivo SRT traduzido. | |
| TranslatedSubtitleURL | String | URL do arquivo SRT traduzido. | |
| TranslatedText | String | Texto traduzido. | |
| TranslatedTextArray | String | Array de texto traduzido para múltiplas entradas de legendas. | |
| Tradução de fala | SpeechTranslatedSubtitleMediaId | String | ID do arquivo SRT para exibição de legendas no vídeo de saída. |
| SpeechTranslatedSubtitleURL | String | URL do arquivo SRT para exibição de legendas no vídeo de saída. | |
| SpeechTranslatedSubtitleURLSigned | String | URL assinada do arquivo SRT para exibição de legendas no vídeo de saída. | |
| SpeechTranslatedSubtitleMediaIdForFix | String | ID do arquivo SRT para correção de tradução. | |
| SpeechTranslatedSubtitleURLForFix | String | URL do arquivo SRT para correção de tradução. | |
| SpeechBilingualSubtitleMediaId | String | ID do arquivo SRT bilíngue. | |
| SpeechBilingualSubtitleURL | String | URL do arquivo SRT bilíngue. | |
| SpeechTranslationJobId | String | ID da tarefa de tradução de fala para pós-edição. | |
| TranslatedAudioMediaId | String | ID do arquivo de áudio traduzido. | |
| TranslatedAudioMediaURL | String | URL do arquivo de áudio traduzido. | |
| Tradução com sincronia labial | FaceTranslationMediaId | String | ID do arquivo de vídeo com sincronia labial. |
Resposta de exemplo:
{
"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****"
}
Múltiplos idiomas de destino
|
Parâmetro |
Tipo |
Descrição |
|
DetextVideoURL |
String |
URL do vídeo com legendas removidas. |
|
DetextVideoMediaId |
String |
ID do vídeo com legendas removidas. |
|
VideoTranslationAiResultMap |
JSON |
Saídas de tradução agrupadas por idioma de destino. Cada chave é um código de idioma (por exemplo, |
VideoTranslationAiResultMap
| Categoria | Parâmetro | Tipo | Descrição |
|---|---|---|---|
| Comum | MediaURL | String | URL do ativo de mídia de saída para o idioma de destino. |
| MediaId | String | ID do ativo de mídia de saída para o idioma de destino. | |
| Tradução de legendas | OriginalSubtitleMediaId | String | ID do arquivo SRT de source. |
| OriginalSubtitleURL | String | URL do arquivo SRT de source. | |
| TranslatedSubtitleMediaId | String | ID do arquivo SRT traduzido. | |
| TranslatedSubtitleURL | String | URL do arquivo SRT traduzido. | |
| TranslatedText | String | Texto traduzido. | |
| TranslatedTextArray | String | Array de texto traduzido para múltiplas entradas de legendas. | |
| Tradução de fala | SpeechTranslatedSubtitleMediaId | String | ID do arquivo SRT para exibição de legendas no vídeo de saída. |
| SpeechTranslatedSubtitleURL | String | URL do arquivo SRT para exibição de legendas no vídeo de saída. | |
| SpeechTranslatedSubtitleURLSigned | String | URL assinada do arquivo SRT para exibição de legendas no vídeo de saída. | |
| SpeechTranslatedSubtitleMediaIdForFix | String | ID do arquivo SRT para correção de tradução. | |
| SpeechTranslatedSubtitleURLForFix | String | URL assinada do arquivo SRT para correção de tradução. | |
| SpeechBilingualSubtitleMediaId | String | ID da saída bilíngue. | |
| SpeechBilingualSubtitleURL | String | URL da saída bilíngue. | |
| SpeechTranslationJobId | String | ID da tarefa de tradução de fala para pós-edição. | |
| TranslatedAudioMediaId | String | ID do arquivo de áudio traduzido. | |
| TranslatedAudioMediaURL | String | URL do arquivo de áudio traduzido. | |
| Tradução com sincronia labial | FaceTranslationMediaId | String | ID do arquivo de vídeo com sincronia labial. |
Resposta de exemplo
{
"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"
}
Exemplos de cenários
Tradução de fala com pós-edição
Corrija o arquivo SRT gerado e reenvie-o para refinar a saída da tradução.
A tradução com sincronia labial suporta correções apenas na saída de voz. A pós-edição dos movimentos labiais não está disponível.
Procedimento
-
Envie uma tarefa de tradução de fala com
SupportEditingdefinido comotrue.{ "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 } } -
Recupere o resultado da tarefa. A resposta inclui:
Campo
Descrição
MediaIdID do ativo de mídia de saída.
TranslatedAudioMediaIdID do arquivo de áudio traduzido.
SpeechTranslatedSubtitleURLURL do arquivo SRT traduzido para exibição de legendas no vídeo de saída.
SpeechTranslatedSubtitleURLSignedURL assinada do arquivo SRT traduzido.
SpeechTranslatedSubtitleURLForFixURL assinada do arquivo SRT para correção de tradução.
SpeechTranslationJobIdID da tarefa de tradução de fala. Use este valor para
OriginalJobIdno reenvio.{ "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*****" } -
Baixe o arquivo SRT de
SpeechTranslatedSubtitleURLForFix, modifique o conteúdo e reenvie a tarefa. O sistema regenera a saída com base nas legendas modificadas.Adicione marcas de pós-edição ao arquivo SRT para controlar como cada segmento é tratado.
ImportanteO parâmetro
InputConfig.Subtitledeve conter o arquivo corrigido manualmente, que corresponde à versão modificada do arquivo deSpeechTranslatedSubtitleURLForFix.{ "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" } } } }
Marcas de pós-edição
Uma linha de legenda não pode ter tanto o conteúdo quanto a marca de pós-edição vazios (incluindo espaços e caracteres de tabulação). Para exibir uma linha vazia sem alterar o áudio, adicione <--onlymodifytext> à linha.
|
Marca |
Efeito |
Descrição |
|
|
Usar áudio original |
Substitui o áudio dentro do intervalo de tempo pelo áudio original do vídeo de source. |
|
|
Usar tradução inicial |
Substitui o áudio dentro do intervalo de tempo pelo resultado da tradução inicial. |
|
|
Silenciar orador |
Silencia a voz do orador dentro do intervalo de tempo. |
|
|
Silenciar todo o áudio |
Silencia todo o áudio dentro do intervalo de tempo. |
|
|
Modificar apenas texto |
Altera o texto da legenda exibida sem alterar o áudio. |
Exemplo de arquivo 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.
Bibliotecas personalizadas de palavras-chave
Use EditingConfig.HotwordLibraryIdList para definir mapeamentos de palavras-chave e melhorar a precisão da transcrição e tradução.
Como funciona
Uma biblioteca personalizada de palavras-chave oferece:
Definição de traduções de termos: especifique como termos específicos devem ser traduzidos. Por exemplo, mapeie "Intelligent Media Services" para "IMS".
Melhoria na precisão do reconhecimento: aprimore o reconhecimento de termos específicos da indústria, incluindo localizações geográficas, nomes de produtos, homófonos e palavras incomuns.
Referência da API:
CreateHotwordLibrary: crie uma biblioteca de palavras-chave
ListHotwordLibraries: consultar todas as bibliotecas de palavras-chave
GetHotwordLibrary: consultar uma biblioteca de palavras-chave específica
UpdateHotwordLibrary: modifique uma biblioteca de palavras-chave
DeleteHotwordLibrary: exclua uma biblioteca de palavras-chave
Exemplo de código
Referências
SubmitVideoTranslationJob: envie uma tarefa de tradução
GetSmartHandleJob: recuperar resultados da tarefa
ListSmartJobs: listar tarefas de tradução
DeleteSmartJob: exclua uma tarefa
Tradução de vídeo: guia do usuário de tradução de vídeo
Faturamento
Para detalhes sobre preços, consulte Faturamento da tradução de vídeo.