API de localização de vídeos para todos os mercados

Transforme um vídeo de origem em uma versão localizada para cada mercado: o idioma regional correto, termos de marca consistentes, as vozes dos palestrantes, legendas e sincronização labial opcional. Uma única API executa o fluxo de trabalho de localização, e sua equipe revisa o roteiro antes de qualquer publicação.
Mais de 135 opções de idiomas e regiões
Glossários e revisão
REST + SDK para Python
one source, two Spanish markets
OAuth 2.0
# 1. one Spanish glossary - it applies to every Spanish regional variant
curl -X POST https://api.rask.ai/v2/glossaries \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name": "Brand terms", "src_lang": "en", "dst_lang": "es",
       "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}'

# 2. a localized version per market, both with the same glossary
for lang in es-mx es-es; do
  curl -X POST https://api.rask.ai/v2/projects \
    -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
    -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"$lang\", \"glossary_id\": \"$GLOSSARY_ID\"}"
done
GET /v2/projects/{project_id}/transcription
review
# Review: source and translated text, segment by segment
curl -s https://api.rask.ai/v2/projects/$ID/transcription \
  -H "Authorization: Bearer $TOKEN" \
  | jq '.segments[] | {speaker, src: .src.text, dst: .dst.text}'
Usado por equipes globais
Recursos

O que a API de localização de vídeos abrange

A localização vai muito além de uma faixa de áudio traduzida. A API reúne opções de idiomas regionais, controle de terminologia, vozes, legendas e revisão em um único fluxo de trabalho por mercado. Adicione a sincronização labial opcional, cobrada separadamente.

Mais de 135 opções de idiomas e regiões

Localize para uma região específica: es-mx ou es-es, pt-br ou pt-pt, fr-ca ou fr-fr. Cada projeto utiliza um local de destino, e o idioma de origem é detectado automaticamente.

Controle de terminologia

Os glossários mantêm os nomes e termos da marca iguais em todas as versões localizadas. Um único glossário cobre todas as variantes regionais de um idioma, e cada projeto registra a versão do glossário utilizada.

Sua tradução aprovada

Comece com a tradução automática ou traga uma tradução que seus revisores já aprovaram como arquivo SRT e deixe que o Rask adicione a voz.

Sincronização labial para gravações em câmera

Adapte o movimento da boca à fala localizada sempre que houver uma pessoa real falando em frente às câmeras. Opcional, com cada geração de vídeo completo cobrada separadamente.

Áudio de fundo preservado

A música, o som ambiente e os efeitos do áudio original permanecem na mixagem sob a fala localizada, garantindo que todos os mercados ouçam a mesma produção.

Legendas e legendas ocultas

Cada versão localizada inclui legendas nos formatos SRT e VTT, no idioma de destino e sincronizadas com a fala localizada.

Vozes dos palestrantes em diferentes mercados

Em entrevistas e diálogos, o recurso Instant Voice Clone mantém a voz de cada palestrante nos idiomas compatíveis, enquanto um Custom Voice Clone salvo garante que um apresentador recorrente tenha sempre a mesma voz. As predefinições de voz de IA cobrem o restante.

Revisão antes da publicação

Os revisores leem o texto original e o traduzido lado a lado, corrigem o que não se adequa ao mercado e refazem a dublagem apenas dos segmentos alterados.

Cresça sem limites

Sem limites de taxa, sem cota de concorrência e sem restrições por chave. Gere centenas de versões localizadas em paralelo quando um lançamento for destinado a todos os mercados.
Veja na prática

Um único vídeo de origem, localizado para quatro mercados

O mesmo clipe localizado em francês, alemão, português e espanhol: fala traduzida nas vozes clonadas dos palestrantes, com o áudio de fundo original intacto.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Fluxo de trabalho

Três etapas em um fluxo de trabalho de localização de vídeo

Defina as regras uma vez e use-as para localizar todos os vídeos novos. A criação de um projeto inicia a localização; use o endpoint /generate após revisar as edições.
1

Defina suas regras de localização

Crie um glossário para cada par de idiomas, salve vozes personalizadas para apresentadores recorrentes e escolha a variante regional para cada mercado em que você publicar.

POST /v2/glossaries
2

Crie uma versão por mercado

Envie o vídeo original uma vez e, em seguida, crie um projeto para cada localidade de destino usando seu glossário ou uma tradução aprovada importada de um arquivo SRT.

POST /v2/projects
3

Revise e publique

Leia o texto traduzido lado a lado, edite o que os revisores sinalizarem, duble novamente os trechos alterados e baixe o vídeo localizado junto com as legendas.

GET /v2/projects/{id}/transcription
O tempo de processamento varia conforme o projeto. A nova dublagem após a revisão é cobrada com base na duração combinada dos trechos alterados, com um mínimo de um minuto por execução.
Criado para você

Precisa traduzir em grande escala? Planeje o fluxo de trabalho com a nossa equipe

Volume recorrente, vários revisores, seu próprio CMS ou LMS: nossa equipe pode ajudar a desenhar o fluxo de trabalho de localização, configurar a terminologia e as etapas de revisão, além de adicionar controle de qualidade humano quando sua equipe não puder revisar todos os vídeos.

Idiomas e vozes

Precisa de um idioma ou voz que não está no catálogo público? Fale com a nossa equipe sobre o que você precisa e conheça as opções disponíveis.

Entrega e integração

Webhooks, envio para a sua própria fila, entrega direto no seu S3 e endpoints personalizados. Diga-nos como o seu sistema prefere receber os dados.

Volume e capacidade

Tamanhos de lote, idiomas de destino por ação e prioridade de processamento são termos contratuais, e não limites fixos do produto.

Segurança e hospedagem

A residência de dados, SSO e SAML, regras de retenção e suporte a revisões de segurança são gerenciados como parte da integração empresarial.
Casos de uso

Quem usa uma API de localização de vídeo

Plataformas com vídeo integrado

Plataformas de LMS e treinamento de clientes, plataformas de criadores e de vídeo, ferramentas de webinars e eventos virtuais, SaaS de hospedagem e fluxo de trabalho de vídeo, plataformas de adoção digital e compras ao vivo. Ofereça versões localizadas com opções de idiomas regionais dentro do seu produto, permitindo que seus usuários alcancem um público global e um novo mercado sem sair da sua plataforma.

Agências de localização e produção

Execute a localização para vários clientes com um glossário por marca e uma etapa de revisão por projeto. Traga as traduções aprovadas pelos seus linguistas como arquivos SRT e entregue vídeos dublados, legendas e sincronização labial opcional em um único fluxo de trabalho de localização de vídeo.

Produção de vídeo contínua interna

Varejo internacional e e-commerce, franquias globais, editoras de mídia e universidades corporativas. Localize vídeos de marketing, anúncios em vídeo, conteúdos de e-learning e vídeos de produtos para cada região usando termos de marca consistentes, e crie uma versão atualizada sempre que o vídeo original mudar.
Histórias de clientes

Equipes reais, resultados mensuráveis

Como as empresas localizam vídeos com o Rask, em seus próprios números.
seta
seta
Código

Exemplos de código da API de localização de vídeo

Um exemplo completo em cada idioma: crie um glossário, localize um vídeo original para dois mercados hispanohablantes e leia o texto traduzido para revisão.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

MARKETS = ["es-mx", "es-es"]

async def localize(client, video_id, locale, glossary_id):
    job = await client.create_project(data=schemas.ProjectCreate(
        video_id=video_id, dst_lang=locale, glossary_id=glossary_id))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)
    return job

async def main():
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    glossary = await client.create_glossary(data=schemas.GlossaryCreate(
        name="Brand terms", src_lang="en", dst_lang="es",
        entries={"Rask Studio": "Rask Studio", "onboarding": "incorporación"}))

    jobs = await asyncio.gather(*(localize(client, VIDEO_ID, m, glossary.id) for m in MARKETS))

    for job in jobs:   # review before publishing
        script = await client.get_project_transcription(project_id=job.id)
        for seg in script.segments[:3]:
            print(job.dst_lang, seg.speaker, seg.src.text, "->", seg.dst.text)

asyncio.run(main())
github.com/braskai/rask-sdk
async, typed models
import time, requests

AUTH = "https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token"
API  = "https://api.rask.ai"
token = requests.post(AUTH, auth=(CLIENT_ID, CLIENT_SECRET),
                      data={"grant_type": "client_credentials"}).json()["access_token"]
h = {"Authorization": f"Bearer {token}"}

glossary = requests.post(f"{API}/v2/glossaries", headers=h, json={
    "name": "Brand terms", "src_lang": "en", "dst_lang": "es",
    "entries": {"Rask Studio": "Rask Studio", "onboarding": "incorporación"}}).json()

ids = [requests.post(f"{API}/v2/projects", headers=h, json={
          "video_id": VIDEO_ID, "dst_lang": locale, "glossary_id": glossary["id"]}).json()["id"]
       for locale in ["es-mx", "es-es"]]

for pid in ids:
    while requests.get(f"{API}/v2/projects/{pid}", headers=h).json()["status"] != "merging_done":
        time.sleep(10)
    script = requests.get(f"{API}/v2/projects/{pid}/transcription", headers=h).json()
    for seg in script["segments"][:3]:
        print(seg["src"]["text"], "->", seg["dst"]["text"])
requests + polling
no SDK required
// no dependencies, Node 18+ global fetch
const API = 'https://api.rask.ai';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const auth = await fetch('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token', {
  method: 'POST',
  headers: { Authorization: 'Basic ' + btoa(`${CLIENT_ID}:${CLIENT_SECRET}`) },
  body: new URLSearchParams({ grant_type: 'client_credentials' }),
}).then((r) => r.json());
const h = { Authorization: `Bearer ${auth.access_token}`, 'Content-Type': 'application/json' };
const call = (method, path, body) => fetch(API + path, { method, headers: h, body: body && JSON.stringify(body) }).then((r) => r.json());

const glossary = await call('POST', '/v2/glossaries', {
  name: 'Brand terms', src_lang: 'en', dst_lang: 'es',
  entries: { 'Rask Studio': 'Rask Studio', onboarding: 'incorporación' },
});

for (const dst_lang of ['es-mx', 'es-es']) {
  let p = await call('POST', '/v2/projects', { video_id: VIDEO_ID, dst_lang, glossary_id: glossary.id });
  while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }
  const { segments } = await call('GET', `/v2/projects/${p.id}/transcription`);
  segments.slice(0, 3).forEach((s) => console.log(dst_lang, s.src.text, '->', s.dst.text));
}
fetch, Node 18+
plain HTTP
# 1. token (valid 1 hour - cache and reuse it)
TOKEN=$(curl -s -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials" | jq -r .access_token)

# 2. import the translation your reviewers approved (source and translated .srt)
TRANSCRIPT_ID=$(curl -s -X POST "https://api.rask.ai/v2/transcriptions/srt?src_lang=en&dst_lang=es-mx" \
  -H "Authorization: Bearer $TOKEN" \
  -F "src=@source_en.srt" -F "dst=@approved_es-mx.srt" | jq -r .id)

# 3. create the localized version from it - Rask voices the approved script
curl -s -X POST https://api.rask.ai/v2/projects \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"es-mx\", \"transcript_id\": \"$TRANSCRIPT_ID\"}"
POST /v2/transcriptions/srt
approved translation from SRT
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);
$json = fn($r) => json_decode($r->getBody(), true);
$auth = $json((new Client)->post('https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret], 'form_params' => ['grant_type' => 'client_credentials']]));
$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$glossary = $json($http->post('/v2/glossaries', ['headers' => $h, 'json' => [
    'name' => 'Brand terms', 'src_lang' => 'en', 'dst_lang' => 'es',
    'entries' => ['Rask Studio' => 'Rask Studio', 'onboarding' => 'incorporación'],
]]));

foreach (['es-mx', 'es-es'] as $locale) {
    $p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
        'video_id' => $videoId, 'dst_lang' => $locale, 'glossary_id' => $glossary['id']]]));
    while ($p['status'] !== 'merging_done') {
        sleep(10);
        $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
    }
    $script = $json($http->get("/v2/projects/{$p['id']}/transcription", ['headers' => $h]));
    echo $locale, ': ', $script['segments'][0]['dst']['text'], PHP_EOL;
}
Guzzle 7
plain HTTP
Python é o SDK oficial. As abas Node, PHP e cURL são exemplos simples de HTTP para os mesmos endpoints.
Progresso

Como cada versão localizada relata o progresso

Cada versão de mercado é um projeto com seu próprio status documentado, permitindo que você acompanhe um lançamento inteiro em vários mercados em uma única tela. Você só precisa agir em três grupos.

Sucesso, pare por aqui

merging_done
A localização foi concluída. Acesse o projeto mais uma vez para obter os links de download disponíveis para ele.

Em andamento, continue verificando

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Mais o correspondente _done estados, uma sequência por versão de mercado.

Erro, parar e relatar

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words e forbidden_link são claros o suficiente para serem exibidos diretamente para o seu próprio usuário.
Observed run, 3:47 source video, en → es-mx
GET /v2/projects/{project_id}
   0s  created
  11s  transcription_started
  87s  translation_started
  99s  voiceover_started
 154s  merging_started
 165s  merging_done

Ou pule as consultas completamente

Aponte para um endpoint de webhook e cada mudança de estado chega como um POST, para que sua fila reaja a cada alteração no momento em que ela acontece. O envio por webhook faz parte da integração empresarial.
Ler a documentação
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Saída

Vídeo, áudio e legendas localizados para cada mercado

Cada versão de mercado retorna o vídeo localizado e as legendas em formato SRT e VTT. Nos planos elegíveis, você também pode baixar a voz localizada separadamente ou mixada com o áudio original, para sua própria edição ou distribuição.
Campo
Formato
O que é
translated_video
MP4
O vídeo localizado, pronto para ser publicado
voiceover
WAV
Apenas a fala localizada, para sua própria mixagem
translated_audio
WAV
Fala traduzida misturada com o áudio de fundo original
translation_srt_path
.srt
Legendas no idioma de destino
translation_vtt_path
.vtt
As mesmas legendas em formato WebVTT, para players web
original_video
MP4
Seu arquivo de origem armazenado, para referência
Controle

Mantenha os termos da marca e os textos consistentes em todos os mercados.

A qualidade da localização vem de um processo de revisão. Os revisores verificam cada segmento, corrigem os termos que não se encaixam no mercado e refazem o doblaje apenas desses segmentos. Os glossários aplicam essas decisões no próximo video e mantêm a consistência da marca em diferentes mercados.

Edição por segmentos

Edição por segmentos
Cada projeto exibe sua transcrição em segmentos com o texto original e traduzido, para que a correção de um revisor seja uma solicitação simples.
Obtenha a transcrição e seus segmentos
Atualize o texto original e nós fazemos a tradução novamente
Edite o texto traduzido diretamente para manter as suas próprias palavras
Ajuste os tempos, adicione segmentos ou exclua segmentos
Altere a voz associada a qualquer falante

Glossários para termos específicos

Glossários para termos específicos
Anexe um glossário a cada projeto para que os nomes da marca e os termos de produtos sejam traduzidos da mesma forma em todas as versões localizadas, ou permaneçam no idioma original de propósito.

Um glossário funciona para um par de idiomas e vale para todas as variações regionais desse idioma de destino, ou seja, um único glossário em espanhol atende pt-br e pt-pt igualmente. O registro do projeto versão_do_glossário, garantindo que edições futuras nunca alterem o que já foi finalizado sem que você perceba.
Entrada

Formatos de arquivo compatíveis

Envie qualquer um dos sete formatos de video e quatro de áudio, ou envie uma URL. Conteúdo apenas de áudio, como podcasts, também pode ser localizado; a sincronização labial se aplica a imagens com um rosto na tela.

Vídeo

7 formatos
.mp4
.mov
.mkv
.avi
.webm
.m4v
.3gp

Áudio

4 formatos
.mp3
.wav
.flac
.m4a

Informações antes de gastar

O endpoint de mídia retorna duração, tamanho do arquivo, codec de video, taxa de quadros, resolução, codec de áudio, taxa de amostragem e disposição dos canais. Valide o arquivo e estime o custo de cada versão de mercado com antecedência, pois a localização é cobrada por minuto.
Segurança e conformidade

Pronto para aquisição em todos os mercados

A Rask AI possui certificação SOC 2 Type II, opera em conformidade com a GDPR e publica o status de controle em tempo real em seu Trust Center. As opções de residência de dados fazem parte da integração empresarial.

Certificações

SOC 2 Tipo II
GDPR
Membro da CAI e C2PA

Criptografia

TLS 1.2 em trânsito
AES-256 em repouso
Chaves gerenciadas SSE-S3
Rotação de chaves a cada 12 meses no mínimo

Seu conteúdo

Ambiente de IA fechado
Nunca usado para treinar modelos gerais
Exportação completa, sem retenção de dados

Acesso

SSO e SAML
Controle de acesso baseado em funções
Credenciais de cliente OAuth 2.0

Corporativo

Opções de residência de dados
SLAs personalizados
Gerente de contas dedicado

Direitos de voz

Vozes sintéticas com direitos de uso
Clonagem de voz baseada em consentimento
Controles de segurança de IA, humano no circuito
Comparação

Rask API em comparação com um fluxo de trabalho de localização montado por você mesmo

A localização de video reúne tradução, voz, legendas, terminologia e revisão em um único fluxo de trabalho de produção. Aqui está o mesmo fluxo de trabalho montado de duas maneiras.
O que você precisa
Rask API
Montado a partir de partes
Opções de idiomas regionais
Mais de 135 opções de idiomas e regiões
Suporte de localidade que varia conforme o fornecedor
Termos da marca em todas as versões
Glossários versionados por par de idiomas
Scripts de localizar e substituir mantidos por você
Traduções aprovadas pelos seus revisores
Importado como SRT e, em seguida, dublado
Alinhamento manual com o video
Vozes dos palestrantes em diferentes mercados
Clones de voz instantâneos e personalizados
Um fornecedor de voz separado por idioma
Música de fundo e efeitos
Mantidos sob a fala localizada
Uma etapa de separação de fontes criada por você
Legendas em .srt e .vtt
Incluído
Gerado a partir dos seus próprios dados de tempo
Sincronização labial para gravações em câmera
Opcional, cobrado por geração de video completo
Um fornecedor diferente
Corrigir uma linha após a revisão
Dublar novamente apenas os trechos alterados
Renderizar novamente a versão completa
Limites de taxa
Nenhum
O que for exigido pelo seu fornecedor mais rigoroso
Design de fluxo de trabalho e controle de qualidade humano
Disponível com nossa equipe
Contratado e gerenciado separadamente
Perguntas frequentes

API de localização de vídeos: perguntas frequentes

Não conseguiu encontrar o que procura? Entre em contato com o departamento de vendas.

O que é uma API de localização de vídeos?

Qual é a diferença entre localização de vídeos e tradução de vídeos?

Posso localizar um vídeo para várias regiões do mesmo idioma?

Como faço para manter os nomes das marcas consistentes nas versões localizadas?

Posso usar traduções que já aprovamos?

A API lida com referências culturais?

A API traduz o texto que aparece na tela?

Quais idiomas e regiões são suportados?

Posso manter a voz do palestrante em todos os mercados?

Como a sincronização labial se encaixa no fluxo de trabalho de localização?

Quanto custa a localização de vídeos?

A Rask pode ajudar a planejar o nosso fluxo de trabalho de localização?

Como obtenho acesso à API e uma chave de API?

Comece a dublar em uma tarde

Faça sua primeira solicitação hoje e fale conosco quando precisar de condições para grande volume ou de um idioma que mais ninguém tem.