API do Rask AI para dublagem de vídeos, tradução e transcrição

Uma única API para todo o fluxo de trabalho de localização de vídeos: transcreva a fala, traduza-a, duble com vozes de IA ou clones de voz, adicione sincronização labial e baixe as legendas. Envie uma vez, crie um projeto para cada idioma de destino e colete o vídeo, as faixas de áudio, as legendas e a transcrição.
Clonagem de voz
Sincronização labial e legendas
REST + SDK em Python
three requests, start to finish
OAuth 2.0
# 1. exchange your client id and secret for a token (valid 1 hour)
curl -X POST https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token \
  -u "$CLIENT_ID:$CLIENT_SECRET" -d "grant_type=client_credentials"

# 2. upload the video - file, or a YouTube, Drive, S3, Vimeo or direct link
curl -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"link": "https://youtu.be/...", "name": "Q3 launch"}'

# 3. create the project - transcription, translation and dubbing start
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\": \"es-mx\"}"
GET /v2/projects/{project_id}
polling, 10s
# Poll until merging_done, then collect the files
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{status, translated_video, voiceover, translation_srt_path}'
Usado por equipes do mundo todo
Recursos

Tudo o que a API do Rask AI faz

Uma única API cobre todo o processo de vídeo. Cada recurso funciona no mesmo projeto, com a mesma autenticação e cobrança por minuto, e cada um tem sua própria página com detalhes e códigos.

Dublagem por IA

Transcrição, tradução, vozes e mixagem em um único projeto. Envie um vídeo e o local de destino para receber o vídeo dublado de volta.

Tradução de vídeos

Traduza vídeos para mais de 135 idiomas e opções regionais a partir de um único envio, com o texto traduzido disponível para revisão em cada idioma.

Clonagem de voz

Mantenha a voz original de cada falante com a clonagem instantânea de voz ou reutilize um clone de voz personalizado salvo, nos idiomas compatíveis.

Sincronização labial

Ajuste o movimento da boca à fala dublada como uma tarefa separada em um projeto dublado, com uma verificação facial prévia. Cobrado separadamente para cada geração de vídeo completo.

Conversão de fala em texto e transcrição de vídeos

Transcrições com identificação de falantes e carimbos de data/hora nos segmentos em 75 idiomas de origem, com detecção automática de idioma.

Legendas em .srt e .vtt

Ambos os formatos em cada projeto concluído, no idioma de destino, para o seu player, aplicativo ou software de edição.

Localização de vídeos

Opções de idiomas regionais, glossários para termos de marca e traduções aprovadas, para que cada mercado receba sua própria versão.

Conversão de texto em fala para vídeos

Envie seu próprio roteiro com marcações de tempo e obtenha uma locução sincronizada com a imagem, usando vozes de IA ou clones de voz.

Cresça sem limites

Sem limites de taxa, sem cota de simultaneidade e sem restrições por chave. Processe todo o seu catálogo e qualquer idioma de destino em paralelo.
Veja como funciona

O que a API do Rask AI retorna

Um vídeo original dublado via API para inglês, francês, alemão, português e espanhol, com as vozes clonadas dos falantes e o áudio de fundo original.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Fluxo de trabalho

Três solicitações do upload até o vídeo finalizado

Todo fluxo de trabalho da API do Rask AI segue o mesmo padrão, e a criação do projeto inicia o processo completo. Use o endpoint /generate para gerar novamente após editar a transcrição ou as vozes.
1

Carregue seu vídeo

Envie um arquivo de vídeo ou áudio como dados de formulário multipart ou publique um link do YouTube, Google Drive, S3, Vimeo ou qualquer URL direta. Você obtém um ID de mídia e os metadados do arquivo antes de gastar qualquer valor.

POST /api/library/v1/media/link
2

Criar o projeto

Passe o ID da mídia como video_id e um idioma de destino. Opcionalmente, anexe sua própria transcrição ou um glossário. O processamento começa imediatamente.

POST /v2/projects
3

Coletar o resultado

Leia o status até que ele atinja merging_done e, em seguida, baixe o vídeo dublado, as faixas de áudio, os arquivos de legenda e a transcrição.

GET /v2/projects/{project_id}
O tempo de processamento varia de acordo com a duração do vídeo, o número de falantes e o idioma de destino. Em um teste observado, um vídeo de 3:47 foi dublado em 165 segundos.
Desenvolvido para você

Precisa de algo fora do catálogo? Fale com nossa equipe.

Um idioma, uma voz, um método de entrega ou um volume que o catálogo público ainda não cobre: nossa equipe analisa suas necessidades e as opções disponíveis junto com você.

Idiomas e vozes

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

Entrega e integração

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

Volume e capacidade

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

Segurança e hospedagem

Residência de dados, SSO e SAML, regras de retenção e suporte a análises de segurança são gerenciados como parte da integração empresarial.
Casos de uso

Quem usa a API da Rask AI

Plataformas que incluem vídeos

Plataformas de ensino a distância (LMS) e treinamento de clientes, plataformas para criadores e vídeos, ferramentas de webinars e eventos virtuais, SaaS de hospedagem e fluxo de trabalho de vídeos, plataformas de adoção digital e compras ao vivo. Ofereça dublagem, legendas e transcrições em outros idiomas como recursos do seu próprio produto.

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

Conecte a Rask ao seu fluxo de entrega atual: dublagem, clonagem de voz, legendas e sincronização labial para vídeos de clientes, com seus revisores editando a transcrição antes da entrega.

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

Varejo internacional e e-commerce, franquias globais, editoras de mídia e universidades corporativas. Localize vídeos de treinamento, produtos e marketing para qualquer mercado por meio de uma única integração.
Histórias de clientes

Equipes reais, resultados mensuráveis

Como as empresas localizam vídeos com a Rask, em números.
seta
seta
Código

Exemplos de código da API da Rask AI

Um ciclo completo em cada idioma: autenticar, enviar, criar um projeto, aguardar e coletar os arquivos. Cada página de recurso tem exemplos para seu próprio fluxo de trabalho.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

async def main():
    # the client exchanges your credentials for tokens and refreshes them
    client = clients.RaskSDKClient(client_id=CLIENT_ID, client_secret=CLIENT_SECRET)

    media = await client.create_media_link(data=schemas.MediaCreateLink(link="https://youtu.be/..."))
    while media.status is enums.MediaStatus.PROCESSING:
        await asyncio.sleep(5)
        media = await client.get_media(media_id=media.id)

    job = await client.create_project(data=schemas.ProjectCreate(video_id=media.id, dst_lang="es-mx"))
    while job.status is not enums.ProjectStatus.MERGING_DONE:
        await asyncio.sleep(10)
        job = await client.get_project(project_id=job.id)

    print(job.translated_video, job.translation_srt_path, job.translation_vtt_path)

asyncio.run(main())
github.com/braskai/rask-sdk
Python 3.8+, async
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}"}

with open("launch.mp4", "rb") as f:
    media = requests.post(f"{API}/api/library/v1/media", headers=h,
                          params={"kind": "video"}, files={"data": f}).json()
while media["status"] == "processing":
    time.sleep(5)
    media = requests.get(f"{API}/api/library/v1/media/{media['id']}", headers=h).json()

pid = requests.post(f"{API}/v2/projects", headers=h,
                    json={"video_id": media["id"], "dst_lang": "de-de"}).json()["id"]
while (p := requests.get(f"{API}/v2/projects/{pid}", headers=h).json())["status"] != "merging_done":
    time.sleep(10)

for field in ("translated_video", "translated_audio", "translation_srt_path"):
    print(field, p[field])   # presigned links, valid for one hour
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());

let media = await call('POST', '/api/library/v1/media/link', { link: 'https://youtu.be/...' });
while (media.status === 'processing') { await sleep(5000); media = await call('GET', `/api/library/v1/media/${media.id}`); }

let p = await call('POST', '/v2/projects', { video_id: media.id, dst_lang: 'ja-jp' });
while (p.status !== 'merging_done') { await sleep(10000); p = await call('GET', `/v2/projects/${p.id}`); }

const { translated_video, voiceover, translation_vtt_path } = p;
console.log({ translated_video, voiceover, translation_vtt_path });
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. upload by link
VIDEO_ID=$(curl -s -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"link": "https://youtu.be/..."}' | jq -r .id)

# 3. create the project once the media status is ready
ID=$(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\": \"pt-br\"}" | jq -r .id)

# 4. wait for merging_done, then read the links
until [ "$(curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" | jq -r .status)" = merging_done ]; do
  sleep 10
done
curl -s https://api.rask.ai/v2/projects/$ID -H "Authorization: Bearer $TOKEN" \
  | jq '{translated_video, translated_audio, translation_srt_path}'
shell script
token to download
<?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']];

$media = $json($http->post('/api/library/v1/media/link', ['headers' => $h, 'json' => [
    'link' => 'https://youtu.be/...']]));
while ($media['status'] === 'processing') {
    sleep(5);
    $media = $json($http->get("/api/library/v1/media/{$media['id']}", ['headers' => $h]));
}

$p = $json($http->post('/v2/projects', ['headers' => $h, 'json' => [
    'video_id' => $media['id'], 'dst_lang' => 'fr-fr']]));
while ($p['status'] !== 'merging_done') {
    sleep(10);
    $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
}
echo $p['translated_video'], PHP_EOL, $p['translation_srt_path'], 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 um projeto da API da Rask AI informa o progresso

Todo projeto, independentemente do uso, passa pelos mesmos status documentados. Mostre aos seus usuários uma barra de progresso em etapas e trabalhe com apenas três grupos.

Sucesso, pare aqui

merging_done
Todos os arquivos de saída estão prontos. Busque o projeto mais uma vez para obter os links de download, que ficam válidos por uma hora.

Em andamento, continue verificando

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Além dos _done estados correspondentes. Eles se encaixam perfeitamente em uma interface de progresso em etapas.

Erro, pare e informe

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 específicos o suficiente para serem mostrados diretamente ao seu usuário. Cada erro também retorna um identificador legível por máquina.
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 por completo

Aponte para o nosso endereço de webhook e cada mudança de status chega como um POST, para que sua fila reaja a cada alteração no momento em que ela acontece. O envio via webhook faz parte da integração corporativa.
Ler a documentação
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Resultado

Vídeo, áudio, legendas e transcrição em um só projeto

Um projeto concluído disponibiliza o vídeo dublado, duas faixas de áudio, dois arquivos de legenda e a transcrição. Nos planos qualificados, a voz traduzida vem separada em formato WAV, junto com a mixagem completa com o fundo original.
Campo
Formato
O que é
translated_video
MP4
O vídeo dublado, pronto para publicar
voiceover
WAV
Apenas a fala traduzida, em planos qualificados, 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 reprodutores web
/transcription
JSON
Texto original, tradução, identificação do locutor e marcações de tempo por trecho
Controle

Edite a transcrição e gere novamente apenas o que mudou

A automação faz a maior parte do trabalho, e sua equipe dá a palavra final. Corrija uma linha, uma marcação de tempo ou uma voz, gere novamente e pague apenas pelos trechos alterados, com um mínimo de um minuto por execução.

Edição por trecho

Edição por trecho
Cada projeto organiza sua transcrição em partes fáceis de editar, permitindo corrigir apenas um trecho específico em vez de refazer tudo do zero.
Acesse a transcrição e seus trechos
Atualize o texto original e nós fazemos a tradução novamente
Edite o texto traduzido diretamente para usar as suas próprias palavras
Ajuste o tempo, adicione ou remova trechos
Altere a voz de qualquer locutor

Glossários para termos específicos

Glossários para termos específicos
Adicione um glossário para garantir que nomes de marcas, produtos e termos técnicos sejam traduzidos sempre da mesma forma em todos os projetos, ou mantidos no idioma original, se preferir.

Um glossário funciona para um par de idiomas e vale para todas as variações regionais dele. Assim, um único glossário em espanhol atende pt-br e pt-pt igualmente. Os registros do projeto versao_glossario, garantindo que alterações futuras não modifiquem o trabalho finalizado sem que você perceba.
Entrada

Formatos de arquivo compatíveis

Sete formatos de vídeo e quatro de áudio, além de links do YouTube, Google Drive, S3, Vimeo e URLs diretas. Arquivos não compatíveis são rejeitados antes de qualquer cobrança de minutos.

Vídeo

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

Áudio

4 formatos
.mp3
.wav
.flac
.m4a

Informações antes de gastar

A ferramenta de mídia informa a duração, o tamanho do arquivo, o codec de vídeo, a taxa de quadros, a resolução, o codec de áudio, a taxa de amostragem e a disposição dos canais. Valide o arquivo e calcule o custo antecipadamente, pois os projetos são cobrados por minuto.
Segurança e conformidade

Pronto para avaliação de segurança e compras

A Brask Inc possui certificação SOC 2 Type II, atua em conformidade com a GDPR e publica o status de controle em tempo real no seu Centro de Confiança para a equipe de segurança.

Certificações

SOC 2 Type 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

O seu conteúdo

Ambiente de IA fechado
Nunca usado para treinar modelos gerais
Exportação completa, sem fidelidade forçada

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 com consentimento
Controles de segurança de IA, humano no circuito
Comparação

API do Rask AI vs. um fluxo montado com vários fornecedores

Transcrição, tradução, vozes, sincronização labial e legendas geralmente vêm de fornecedores diferentes. Veja o mesmo fluxo de trabalho de vídeo montado de duas maneiras.
O que você precisa
Rask API
Montado por partes
Transcrição com identificação de falantes
Incluído
Uma API de fala para texto
Tradução para mais de 135 idiomas e opções regionais
Incluído
Uma API de tradução
Vozes de IA e clones de voz
Incluído
Um fornecedor de conversão de texto em fala e outro de clonagem de voz
Áudio de fundo sob a nova fala
Misturado automaticamente
Separação de fontes mais a sua própria mixagem
Sincronização labial
Uma tarefa separada no mesmo projeto
Um fornecedor de sincronização labial
Legendas em .srt e .vtt
Incluído
Seu próprio redator de arquivos
Corrigindo uma linha
Regerar os trechos alterados
Executar o processo novamente para o arquivo
Controle de terminologia
Glossários
Pós-processamento personalizado
Cobrança
Por minuto de vídeo, um grupo
Por caractere, por hora e por solicitação entre fornecedores
Limites de taxa
Nenhum
O que cada provedor determinar
Por favor, preencha este formulário, e a equipe d Rask AI entrará em contato com você em breve!
Perguntas frequentes

API da Rask AI: dúvidas comuns

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

O que é a API da Rask AI?

Quais APIs fazem parte da API da Rask AI?

Como faço para ter acesso à API do Rask AI ?

Como funciona a autenticação?

Existe um SDK?

Quais idiomas a API suporta?

Como funciona a precificação da API da Rask AI?

Há limites de uso?

A API aceita webhooks?

Quais formatos de arquivo posso enviar?

Posso usar minha própria transcrição ou tradução?

A API funciona em tempo real?

A API do Rask AI é segura?

Comece a dublar em uma tarde

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