Exportar Legendas
Baixe legendas em seus formatos preferidos e acompanhe o status em tempo real de seus projetos de transcrição.
/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"
}'Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Parâmetros Principais | |||
id | String | Yes | O identificador exclusivo do projeto passado no caminho da URL. |
output | String | No | Formato de legenda ou ativo de mídia desejado para exportação. Opções: srt, vtt, ass, txt, json, mp4 | Padrão: srt |
burnId | String | No | Solicitar explicitamente o status/resultado de um ID de tarefa de gravação específico. |
language | String | No | Idioma de destino para as legendas. Intervalo: Qualquer código traduzido ou 'original' | Padrão: original |
| Suporte Multi-Idioma (Novo) | |||
languages | Array | No | Array de configurações para mostrar vários idiomas no mesmo arquivo. Limite: Máx 3 Idiomas | Padrão: Padrão: ASS, VTT |
- language | String | Yes* | O código para este slot de idioma (ex: 'zh' ou 'original'). |
- lineBreakRules | Object | No | Sobreposições de segmentação por idioma. |
- styleSettings | Object | No | Estilo por idioma (Principal para ASS). |
| Regras de Quebra de Linha (lineBreakRules) | |||
lineBreakRules | Object | No | Objeto aninhado para lógica de segmentação de legendas. |
- maxChars | Number | No | Máximo de caracteres permitidos por linha. Intervalo: 5 - 100 | Padrão: 45 |
- maxWords | Number | No | Máximo de palavras permitidas por linha de legenda. Intervalo: 1 - 20 | Padrão: 10 |
- balanceLines | Boolean | No | Equilibra o comprimento das linhas em legendas de várias linhas. Padrão: true |
- sentenceSplit | Boolean | No | Preferir quebrar linhas no final das sentenças. Padrão: true |
- gapThreshold | Number | No | Intervalo máximo (segundos) entre as palavras em uma linha. Intervalo: 0.1 - 2.0 | Padrão: 0.4 |
| Básico do Estilo (styleSettings) | |||
uppercase | Boolean | No | Forçar todo o texto da transcrição para maiúsculas. |
styleSettings | Object | No | Objeto aninhado para sobreposições de estilo visual. |
- preset | String | No | Aplicar um preset de estilo integrado como base. Opções: standard-stream, classic-apple, etc. |
- fontSize | Number | No | Tamanho da fonte como uma proporção da altura do vídeo. Padrão: 0.045 (approx 48px) |
- fontFamily | String | No | Nome da fonte padrão usada para renderização. Padrão: Nome da fonte padrão usada para renderização. |
- bold | Boolean | No | Aplicar peso negrito ao texto. Intervalo: true | false | Padrão: false |
- italic | Boolean | No | Aplicar estilo itálico ao texto. Intervalo: true | false | Padrão: false |
| Cores e Bordas | |||
- primaryColor | Hex | No | Código hexadecimal da cor principal do texto. Padrão: #FFFFFF |
- secondaryColor | Hex | No | Cor secundária (usada para efeitos de karaoke). Padrão: #00FFFF |
- outlineColor | Hex | No | Cor do contorno do texto. Padrão: #000000 |
- outline | Number | No | Espessura do contorno (Proporção da altura). Padrão: 0.002 |
- shadow | Number | No | Profundidade da sombra (Proporção da altura). Padrão: 0.001 |
| Posicionamento (Proporções 0-1) | |||
- alignment | Number | No | Código de alinhamento ASS (1-9). Centro-Inferior é 2. Intervalo: 1 - 9 | Padrão: 2 |
- posX | Number | No | Posição horizontal (0 = Esquerda, 1 = Direita). Intervalo: 0.0 - 1.0 | Padrão: 0.5 |
- posY | Number | No | Proporção da posição vertical (0 = Topo, 1 = Base). Padrão: 0,88. Intervalo: 0.0 - 1.0 | Padrão: 0.88 |
- marginV | Number | No | Proporção da margem vertical da base/topo. Padrão: 0,056. Intervalo: 0.0 - 0.5 | Padrão: 0.056 |
| Animação e Efeitos | |||
- fadeIn | Number | No | Duração do fade in em milissegundos. Intervalo: 0ms - 5000ms | Padrão: 0 |
- fadeOut | Number | No | Duração do fade out em milissegundos. Intervalo: 0ms - 5000ms | Padrão: 0 |
- karaoke | String | No | Tipo de tag de karaoke (k, kf, ko, ks). Opções: k, kf, ko, ks | Padrão: 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
}
}
]
}'Estrutura da Resposta
1. Estado de Processamento
Se o projeto ainda estiver sendo processado por nosso mecanismo de IA ou pendente, você receberá uma atualização de status indicando seu estado atual.
Isso permite que você implemente uma consulta simples em seu frontend usando o mesmo endpoint até que o status seja completed.
{ "projectId": "proj_abc123", "status": "processing", "message": "AI is generating..." }
2. Estado Concluído
Uma vez finalizado, a resposta inclui o conteúdo da legenda no formato solicitado.
Cada formato é otimizado para seu caso de uso:
{ "success": true, "projectId": "proj_abc123", "status": "completed", "format": "srt", "content": "1\\n00:00:01,000 --> 00:00:03,000\\nHello..." }
Códigos de Erro
| Status | Código do Erro | Descrição |
|---|---|---|
| 400 | param_not_valid | Um parâmetro fornecido está fora do intervalo permitido. |
| 401 | unauthorized | Chave de API ausente ou inválida. |
| 404 | not_found | O ID do Projeto não existe. |
| 500 | export_error | Ocorreu um erro durante a formatação. |
| 500 | project_fetch_failed | Falha ao recuperar dados do projeto. |
| 500 | server_error | Ocorreu um erro interno inesperado do servidor. |
{ "success": false, "error": "unauthorized", "message": "A chave de API fornecida é inválida ou expirou." }