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

Uma única API para todo o processo de localização de vídeos: transcrição de discurso, tradução, dobragem com vozes de IA ou clones de voz, adição de sincronização labial e transferência de legendas. Carregue uma vez, crie um projeto para cada idioma de destino e obtenha o vídeo, faixas de áudio, legendas e transcrição.
Clonagem de voz
Sincronização labial e legendas
REST + SDK para 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}'
Utilizado por equipas a nível mundial
Funcionalidades

Tudo o que a API do Rask AI consegue fazer

Uma única API abrange todo o processo de vídeo. Todas as funcionalidades funcionam com o mesmo projeto, a mesma autenticação e a mesma faturação por minuto, tendo cada uma a sua própria página com detalhes e código.

Dobragem por IA

Transcrição, tradução, vozes e mistura num só projeto. Envie um vídeo e o idioma pretendido para receber o vídeo dobrado de volta.

Tradução de vídeo

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

Clonagem de voz

Mantenha a voz original de cada orador com o Clone de Voz Instantâneo ou reutilize um Clone de Voz Personalizado guardado, nos idiomas de clonagem de voz suportados.

Sincronização labial

Faça coincidir o movimento da boca com o discurso dobrado como uma tarefa independente num projeto dobrado, após uma verificação facial. Faturado separadamente para cada geração de vídeo completo.

Conversão de voz em texto e transcrição de vídeo

Transcrições com identificação de oradores e carateres temporais de segmentos em 75 idiomas de origem, com deteçã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 leitor, aplicação ou software de edição.

Localização de vídeo

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

Conversão de texto em voz para vídeo

Envie o seu próprio guião com carateres temporais e obtenha uma locução sincronizada com a imagem, utilizando vozes de IA ou clones de voz.

Cresça sem limites

Sem limites de taxa, sem quotas de concorrência e sem restrições por chave. Processe todo o seu catálogo e todos os idiomas de destino em paralelo.
Veja-o em ação

O que a API da Rask AI devolve

Um vídeo original, dobrado através da API para inglês, francês, alemão, português e espanhol, com as vozes clonadas dos oradores 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 pedidos, desde o envio até ao vídeo finalizado

Cada fluxo de trabalho da API da Rask AI segue o mesmo padrão e a criação do projeto inicia o processo completo. Utilize o endpoint /generate para voltar a gerar conteúdos após editar a transcrição ou as vozes.
1

Carregar o seu vídeo

Envie um ficheiro de vídeo ou áudio como dados de formulário multipart, ou publique um link do YouTube, Google Drive, S3, Vimeo ou qualquer URL direto. Obtém um ID de multimédia e os metadados do ficheiro antes de gastar seja o que for.

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

Criar o projeto

Passe o ID de multimédia como video_id e um idioma de destino. Opcionalmente, adicione a sua própria transcrição ou um glossário. O processamento começa de imediato.

POST /v2/projects
3

Recolher o resultado

Verifique o estado até atingir merging_done e, em seguida, transfira o vídeo dobrado, as faixas de áudio, os ficheiros de legendas e a transcrição.

GET /v2/projects/{project_id}
O tempo de processamento varia consoante a duração do vídeo, o número de oradores e o idioma de destino. Num teste observado, um vídeo de 3:47 foi dobrado em 165 segundos.
A pensar em si

Precisa de algo que não está no catálogo? Fale com a nossa equipa.

Um idioma, uma voz, um método de entrega ou um volume de processamento que o catálogo público ainda não inclui: a nossa equipa analisa os seus requisitos e as opções disponíveis consigo.

Idiomas e vozes

Precisa de um idioma ou voz que não consta no catálogo público? Fale com a nossa equipa sobre os seus requisitos e as opções disponíveis.

Entrega e integração

Webhooks, envio para a sua própria fila de espera, entrega direta no seu S3, endpoints personalizados. Diga-nos como pretende alimentar o seu sistema.

Volume e capacidade de processamento

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

Segurança e alojamento

A residência de dados, o SSO e SAML, as regras de retenção e o apoio na revisão de segurança são geridos como parte da integração empresarial.
Casos de utilização

Quem cria com a API da Rask AI

Plataformas com vídeo incorporado

Plataformas de LMS e formação de clientes, plataformas de criadores e vídeo, ferramentas de webinars e eventos virtuais, alojamento de vídeos e SaaS de fluxo de trabalho, plataformas de adoção digital, live shopping. Ofereça dobragem, legendas e transcrições noutros idiomas como funcionalidades do seu próprio produto.

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

Ligue o Rask ao canal de distribuição que já utiliza: dobragem, clonagem de voz, legendas e sincronização labial para vídeos de clientes, com os seus revisores a editar a transcrição antes da entrega.

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

Retalho internacional e comércio eletrónico, franchises globais, editores de media, universidades corporativas. Localize vídeos de formação, de produtos e de marketing para todos os mercados através de uma única integração.
Histórias de clientes

Equipas reais, resultados mensuráveis

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

Exemplos de código da API do Rask AI

Um ciclo completo em cada idioma: autenticar, carregar, criar um projeto, aguardar, recolher os ficheiros. Cada página de funcionalidade tem exemplos para o respetivo 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
O Python é o SDK oficial. Os separadores Node, PHP e cURL são exemplos simples de HTTP para os mesmos pontos finais.
Progresso

Como um projeto da API do Rask AI reporta o progresso

Cada projeto, independentemente da finalidade, passa pelos mesmos estados documentados. Mostre aos seus utilizadores uma barra de progresso por etapas e interaja apenas com três grupos.

Sucesso, parar aqui

merging_done
Todos os ficheiros de saída estão prontos. Volte a solicitar o projeto para obter as hiperligações de transferência, que se mantêm válidas durante uma hora.

Em progresso, continuar a verificar

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Mais os correspondentes _done estados. Estes mapeiam-se perfeitamente numa interface de progresso por etapas.

Falha, parar e reportar

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 suficientemente específicos para serem apresentados diretamente ao seu próprio utilizador. Cada erro também devolve 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 deixe de vez as consultas periódicas

Indique-nos um ponto final de webhook e cada mudança de estado chega como um POST, para que a sua fila reaja a cada alteração no momento em que acontece. A entrega por webhook faz parte da integração empresarial.
Ler a documentação
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Resultado

Vídeo, áudio, legendas e transcrição a partir de um único projeto

Um projeto concluído disponibiliza o vídeo dobrado, duas faixas de áudio, dois ficheiros de legendas e a transcrição. Nos planos elegíveis, a voz traduzida vem em separado em formato WAV, juntamente com a mistura completa com o fundo original.
Campo
Formato
O que é
translated_video
MP4
O vídeo dobrado, pronto a publicar
voiceover
WAV
Apenas a fala traduzida, nos planos elegíveis, para a sua própria mistura
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 leitores web
/transcription
JSON
Texto original, tradução, identificação do orador e marcas de tempo por segmento
Controlo

Edite a transcrição e volte a gerar apenas o que mudou

A automação faz a maior parte do trabalho e a sua equipa mantém a palavra final. Corrija uma linha, uma marca de tempo ou uma voz, volte a gerar e pague apenas pelos segmentos alterados, com um mínimo de um minuto por execução.

Edição ao nível do segmento

Edição ao nível do segmento
Cada projeto disponibiliza a respetiva transcrição como segmentos acessíveis, para que uma correção seja feita com um único pedido de atualização em vez de criar um projeto novo.
Obter a transcrição e os respetivos segmentos
Corrija o texto original e nós voltamos a traduzir
Edite o texto traduzido diretamente para manter as suas próprias palavras
Ajuste os carimbos de data/hora, adicione segmentos, elimine segmentos
Reatribua a voz associada a qualquer locutor

Glossários para terminologia

Glossários para terminologia
Associe um glossário para garantir que os nomes de marcas, produtos e termos técnicos são traduzidos da mesma forma em todos os projetos, ou mantidos no idioma original de propósito.

Um glossário abrange um par de idiomas e aplica-se a todas as variantes regionais desse idioma de destino, pelo que um glossário de espanhol serve es-mx e es-es igualmente. O registo do projeto glossary_version, para que as edições posteriores nunca alterem silenciosamente o trabalho concluído.
Entrada

Formatos de ficheiro suportados

Sete formatos de vídeo e quatro de áudio, além de ligações do YouTube, Google Drive, S3, Vimeo e URLs diretos. Um ficheiro não suportado é rejeitado antes de ser descontado qualquer minuto.

Vídeo

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

Áudio

4 formatos
.mp3
.wav
.flac
.m4a

Metadados antes de gastar

O endpoint de multimédia devolve a duração, o tamanho do ficheiro, o codec de vídeo, a taxa de fotogramas, a resolução, o codec de áudio, a taxa de amostragem e a disposição dos canais. Valide um ficheiro e estime o custo antecipadamente, uma vez que os projetos são faturados ao minuto.
Segurança e conformidade

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

A Brask Inc possui a certificação SOC 2 Tipo II, opera ao abrigo do RGPD e publica o estado de controlo em direto no seu Centro de Confiança para a sua equipa de segurança.

Certificações

SOC 2 Tipo II
RGPD
Membro da CAI e C2PA

Encriptação

TLS 1.2 em trânsito
AES-256 em repouso
Chaves geridas SSE-S3
Rotação de chaves pelo menos a cada 12 meses

O seu conteúdo

Ambiente de IA fechado
Nunca utilizado para treinar modelos gerais
Exportação total, sem dependência de fornecedor

Acesso

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

Empresa

Opções de residência de dados
SLAs personalizados
Gestor de conta dedicado

Direitos de voz

Vozes sintéticas com direitos de utilização
Clonagem de voz baseada no consentimento
Controlos de segurança de IA, intervenção humana
Comparação

API do Rask AI vs. um processo criado com vários fornecedores

A transcrição, tradução, vozes, sincronização labial e legendas vêm habitualmente de fornecedores diferentes. Veja como funciona o mesmo vídeo de duas maneiras.
O que precisa
Rask API
Montado a partir de peças
Transcrição com identificação de oradores
Incluído
Uma API de conversão de voz em 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 TTS e um fornecedor de clonagem de voz
Áudio de fundo durante o novo discurso
Misturado automaticamente
Separação de fontes mais a sua própria mistura
Sincronização labial
Uma tarefa separada no mesmo projeto
Um fornecedor de sincronização labial
Legendas em .srt e .vtt
Incluído
O seu próprio criador de ficheiros
Corrigir uma linha
Regenerar os segmentos alterados
Executar novamente o processo para o ficheiro
Controlo de terminologia
Glossários
Pós-processamento personalizado
Faturação
Por minuto de vídeo, um conjunto
Por caráter, por hora e por pedido entre fornecedores
Limites de taxa
Nenhum
O que cada fornecedor impõe
Por favor, preencha este formulário e a equipa d Rask AI entrará em contacto consigo em breve!
Perguntas frequentes

API da Rask AI: perguntas frequentes

Não consegue encontrar o que procura? Contacte o departamento de vendas.

O que é a API da Rask AI?

Que APIs fazem parte da API da Rask AI?

Como posso aceder à API da Rask AI?

Como funciona a autenticação?

Existe um SDK?

Quais são os idiomas suportados pela API?

Como é calculado o preço da API da Rask AI?

Existem limites de velocidade?

A API suporta webhooks?

Que formatos de ficheiro posso carregar?

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

A API funciona em tempo real?

A API do Rask AI é segura?

Comece a dobrar numa tarde

Faça o seu primeiro pedido hoje e fale connosco quando precisar de condições para grandes volumes ou de um idioma que mais ninguém tem.