API di Rask AI per il doppiaggio video, la traduzione e la trascrizione

Un'unica API per l'intero processo di localizzazione video: trascrivi il parlato, traduci, doppia con voci AI o cloni vocali, aggiungi la sincronizzazione labiale e scarica i sottotitoli. Carica una sola volta, crea un progetto per ciascuna lingua di arrivo e ottieni il video, le tracce audio, i sottotitoli e la trascrizione.
Clonazione della voce
Sincronizzazione labiale e sottotitoli
REST + SDK 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}'
Utilizzato da team in tutto il mondo
Funzionalità

Tutto ciò che l'API di Rask AI può fare

Un'unica API copre l'intero flusso di lavoro video. Ogni funzione sfrutta lo stesso progetto, la stessa autenticazione e la stessa fatturazione al minuto, e ognuna dispone di una propria pagina dedicata con dettagli e codice.

Doppiaggio AI

Trascrizione, traduzione, voci e mixaggio racchiusi in un unico progetto. Invia un video e una lingua di destinazione per ricevere il video doppiato.

Traduzione video

Traduci i video in oltre 135 lingue e varianti regionali con un solo caricamento, con il testo tradotto disponibile per la revisione in ogni lingua.

Clonazione della voce

Mantieni la voce originale di ogni oratore grazie alla clonazione vocale istantanea o riutilizza un clone vocale personalizzato salvato, nelle lingue supportate.

Sincronizzazione labiale

Sincronizza il movimento delle labbra con il parlato doppiato come operazione separata su un progetto doppiato, previo controllo del volto. Fatturato separatamente per ogni generazione video completa.

Speech-to-text e trascrizione video

Trascrizioni con etichette dei parlanti e timestamp dei segmenti in 75 lingue di origine, con rilevamento automatico della lingua.

Sottotitoli in formato .srt e .vtt

Entrambi i formati disponibili per ogni progetto completato, nella lingua di arrivo, per il tuo player, la tua app o il tuo software di editing.

Localizzazione video

Opzioni linguistiche regionali, glossari per i termini del marchio e traduzioni approvate, affinché ogni mercato abbia la sua versione.

Text-to-speech per video

Invia il tuo script con i timestamp e ottieni un voiceover sincronizzato con le immagini, utilizzando voci AI o cloni vocali.

Cresci senza limiti

Nessun limite di frequenza, nessuna quota di concorrenza, nessuna limitazione per chiave. Esegui l'intero catalogo e ogni lingua di arrivo in parallelo.
Guardalo in azione

Cosa restituisce l'API di Rask AI

Una clip di origine, doppiata tramite API in inglese, francese, tedesco, portoghese e spagnolo, con le voci clonate degli oratori e l'audio di sottofondo originale.
EN flag
En
FR flag
Fr
DE flag
De
PT flag
Pt
ES flag
Es
Flusso di lavoro

Tre richieste dal caricamento al video finito

Ogni flusso di lavoro dell'API di Rask AI segue lo stesso schema e la creazione del progetto avvia l'intera esecuzione. Usa l'endpoint /generate per rigenerare il contenuto dopo aver modificato la trascrizione o le voci.
1

Carica il tuo video

Invia un file video o audio come dati di form multipart, oppure pubblica un link da YouTube, Google Drive, S3, Vimeo o qualsiasi URL diretto. Ottieni un ID multimediale e i metadati del file prima di spendere qualsiasi importo.

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

Crea il progetto

Passa l'ID multimediale come video_id e una lingua di arrivo. Facoltativamente, puoi allegare la tua trascrizione o un glossario. L'elaborazione inizia subito.

POST /v2/projects
3

Raccogli il risultato

Leggi lo stato fino a quando non raggiunge merging_done, quindi scarica il video doppiato, le tracce audio, i file dei sottotitoli e la trascrizione.

GET /v2/projects/{project_id}
Il tempo di elaborazione varia in base alla lunghezza del video, al numero di parlanti e alla lingua di arrivo. In una prova effettuata, un video di 3:47 è stato doppiato in 165 secondi.
Creato intorno a te

Hai bisogno di qualcosa che non è nel catalogo? Parla con il nostro team.

Una lingua, una voce, un metodo di consegna o una capacità che il catalogo pubblico non copre ancora: il nostro team esamina le tue esigenze e le opzioni disponibili insieme a te.

Lingue e voci

Hai bisogno di una lingua o di una voce non presenti nel catalogo pubblico? Parla con il nostro team per esporre le tue esigenze e scoprire le opzioni disponibili.

Consegna e integrazione

Webhook, invio nella tua coda, consegna diretta al tuo S3, endpoint personalizzati. Diteci come il vostro sistema si aspetta di ricevere i dati.

Volume e capacità

Le dimensioni dei lotti, le lingue di arrivo per azione e la priorità di elaborazione sono termini contrattuali, non limiti fissi del prodotto.

Sicurezza e hosting

La residenza dei dati, l'SSO e SAML, le regole di conservazione e il supporto per la revisione della sicurezza vengono gestiti durante l'attivazione per le aziende.
Casi d'uso

Chi utilizza le API di Rask AI

Piattaforme con video integrati

Piattaforme di formazione aziendale e LMS, piattaforme per creatori e video, strumenti per webinar ed eventi virtuali, hosting video e workflow SaaS, piattaforme di adozione digitale e live shopping. Offri doppiaggio, sottotitoli e trascrizioni in altre lingue come funzionalità del tuo prodotto.

Agenzie di localizzazione e produzione

Collega Rask al sistema di distribuzione che usi già: doppiaggio, cloni vocali, sottotitoli e sincronizzazione labiale per i video dei clienti, con i tuoi revisori che modificano la trascrizione prima della consegna.

Produzione video interna e continua

Retail internazionale ed e-commerce, franchising globali, editori multimediali, università aziendali. Localizza video di formazione, di prodotto e di marketing per ogni mercato tramite un'unica integrazione.
Storie di clienti

Squadre vere, risultati tangibili

Come le aziende localizzano i video con Rask, attraverso i loro numeri.
freccia
freccia
Codice

Esempi di codice per le API di Rask AI

Un ciclo completo in ogni lingua: autenticazione, caricamento, creazione di un progetto, attesa e raccolta dei file. Ogni pagina delle funzionalità offre esempi per il proprio flusso di lavoro.
# 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 è l'SDK ufficiale. Le schede Node, PHP e cURL mostrano semplici esempi HTTP sugli stessi endpoint.
Avanzamento

Come un progetto delle API di Rask AI segnala l'avanzamento

Ogni progetto, indipendentemente dall'utilizzo, passa attraverso gli stessi stati documentati. Mostra ai tuoi utenti una barra di avanzamento a tappe e gestisci solo tre gruppi.

Operazione riuscita, fermati qui

merging_done
Ogni file di output è pronto. Recupera il progetto un'altra volta per ottenere i link di download, che rimangono validi per un'ora.

In corso, continua a verificare

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
In più la corrispondenza _done stati. Questi si adattano perfettamente a un'interfaccia a fasi.

Errore, interruzione e segnalazione

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words e forbidden_link sono abbastanza specifici da poter essere mostrati direttamente al tuo utente. Ogni errore restituisce anche uno slug leggibile da una macchina.
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

Oppure salta del tutto il controllo

Indica un endpoint webhook e ogni transizione di stato arriverà come richiesta POST, così la tua coda potrà reagire a ogni cambiamento nel momento stesso in cui si verifica. La consegna tramite webhook fa parte dell'onboarding per le aziende.
Leggi la documentazione
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Output

Video, audio, sottotitoli e trascrizione da un unico progetto

Un progetto completato offre il video doppiato, due tracce audio, due file di sottotitoli e la trascrizione. Nei piani idonei, la voce tradotta viene fornita separatamente in formato WAV, insieme al mix completo con l'audio originale in sottofondo.
Campo
Formato
Cosa contiene
translated_video
MP4
Il video doppiato, pronto per essere pubblicato
voiceover
WAV
Solo il discorso tradotto, nei piani idonei, per il tuo mix personalizzato
translated_audio
WAV
Voce tradotta unita all'audio di sottofondo originale
translation_srt_path
.srt
Sottotitoli nella lingua di arrivo
translation_vtt_path
.vtt
Gli stessi sottotitoli in formato WebVTT, per i lettori web
/transcription
JSON
Testo di origine, traduzione, etichetta del parlante e timestamp per ogni segmento
Controllo

Modifica la trascrizione e rigenera solo ciò che è cambiato

L'automazione fa la maggior parte del lavoro e il tuo team mantiene l'ultima parola. Correggi una riga, un timestamp o una voce, rigenera e paga solo per i segmenti modificati, con un minimo di un minuto per esecuzione.

Modifica per singoli segmenti

Modifica per singoli segmenti
Ogni progetto espone la sua trascrizione come segmenti accessibili, quindi una correzione richiede una singola richiesta di modifica anziché un nuovo progetto.
Scarica la trascrizione e i suoi segmenti
Modifica il testo originale e noi penseremo a ritradurlo
Modifica direttamente il testo tradotto per usare le parole che preferisci
Modifica i tempi, aggiungi segmenti o cancellane altri
Cambia la voce associata a qualsiasi speaker

Glossari per la terminologia

Glossari per la terminologia
Collega un glossario e i nomi dei marchi, i nomi dei prodotti e i termini tecnici verranno tradotti allo stesso modo in ogni progetto, oppure rimarranno nella lingua originale se desiderato.

Un glossario copre una coppia di lingue e si applica a tutte le varianti regionali di quella lingua, così un unico glossario in spagnolo è utile per es-mx e es-es allo stesso modo. Il progetto registra glossary_version, così le modifiche successive non alterano mai inaspettatamente il lavoro completato.
Input

Formati di file supportati

Sette formati video e quattro audio, oltre a link da YouTube, Google Drive, S3, Vimeo e URL diretti. I file non supportati vengono rifiutati prima di scalare qualsiasi minuto.

Video

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

Audio

4 formati
.mp3
.wav
.flac
.m4a

Tutte le informazioni prima di iniziare

L'endpoint multimediale restituisce durata, dimensioni del file, codec video, frame rate, risoluzione, codec audio, sample rate e configurazione dei canali. Puoi convalidare un file e stimare il costo in anticipo, poiché i progetti vengono fatturati al minuto.
Sicurezza e conformità

Pronto per gli acquisti aziendali e le verifiche di sicurezza

Brask Inc possiede la certificazione SOC 2 Tipo II, opera nel rispetto del GDPR e pubblica lo stato dei controlli in tempo reale nel suo Centro Affidabilità per il tuo team di sicurezza.

Certificazioni

SOC 2 Tipo II
GDPR
Membro CAI e C2PA

Crittografia

TLS 1.2 in transito
AES-256 a riposo
Chiavi gestite SSE-S3
Rotazione delle chiavi almeno ogni 12 mesi

I tuoi contenuti

Ambiente di intelligenza artificiale chiuso
Mai utilizzato per addestrare modelli generali
Esportazione completa, senza vincoli

Accesso

SSO e SAML
Controllo degli accessi basato sui ruoli
Credenziali client OAuth 2.0

Enterprise

Opzioni di localizzazione dei dati
SLA personalizzati
Account manager dedicato

Diritti sulle voci

Voci sintetiche con diritti di utilizzo
Clonazione vocale basata sul consenso
Controlli di sicurezza dell'IA, supervisione umana
Confronto

API di Rask AI rispetto a un sistema creato con diversi fornitori

Trascrizione, traduzione, voci, sincronizzazione labiale e sottotitoli di solito provengono da fornitori diversi. Ecco lo stesso flusso di lavoro video, realizzato in due modi.
Ciò di cui hai bisogno
Rask API
Assemblato da componenti
Trascrizione con identificazione dei parlanti
Incluso
Un'API da voce a testo
Traduzione in oltre 135 lingue e varianti regionali
Incluso
Un'API di traduzione
Voci AI e cloni vocali
Incluso
Un fornitore di sintesi vocale e uno di clonazione vocale
Audio di sottofondo sotto la nuova voce
Mixato automaticamente
Separazione delle tracce e mixaggio personalizzato
Sincronizzazione labiale
Un'operazione separata nello stesso progetto
Un fornitore per la sincronizzazione labiale
Sottotitoli in formato .srt e .vtt
Incluso
Un tuo sistema di scrittura file
Modifica di una singola riga
Rigenera i segmenti modificati
Esecuzione nuovamente del processo per il file
Controllo della terminologia
Glossari
Post-elaborazione personalizzata
Fatturazione
Al minuto di video, con un unico saldo
Per carattere, per ora e per richiesta tra diversi fornitori
Limiti di velocità
Nessuno
A seconda di ciò che richiede ciascun provider
Compila questo modulo e il team di Rask AI ti contatterà a breve!
Domande frequenti

API di Rask AI: domande frequenti

Non riesci a trovare quello che cerchi? Contatta l'ufficio vendite.

Cos'è l'API di Rask AI?

Quali API fanno parte dell'API di Rask AI?

Come posso accedere all'API di Rask AI?

Come funziona l'autenticazione?

È disponibile un SDK?

Quali lingue supporta l'API?

Come funziona la tariffazione dell'API di Rask AI?

Ci sono limiti di utilizzo?

L'API supporta i webhook?

Quali formati di file posso caricare?

Posso usare la mia trascrizione o traduzione?

L'API funziona in tempo reale?

L'API di Rask AI è sicura?

Inizia a doppiare in un solo pomeriggio

Fai la tua prima prova oggi e contattaci se hai bisogno di tariffe per grandi volumi o di una lingua che nessun altro offre.