API de traduction de vidéos pour plus de 135 langues

Importez une vidéo et obtenez-la dans toutes les langues dont vous avez besoin. L'API REST de traduction de vidéos transcrit les paroles, les traduit et les double, puis renvoie la vidéo traduite, les fichiers de sous-titres et le texte traduit pour révision.
Plus de 135 langues cibles
Sous-titres au format .srt et .vtt
REST + Kit de développement Python (SDK)
one upload, every language
OAuth 2.0
# 1. exchange client credentials 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 once - YouTube, Drive, S3, Vimeo or direct URL
curl -X POST https://api.rask.ai/api/library/v1/media/link \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"link": "https://youtu.be/...", "name": "Q3 launch"}'

# 3. one project per target language - they run in parallel
for lang in es-mx de-de ja-jp pt-br; do
  curl -X POST https://api.rask.ai/v2/projects \
    -H "Authorization: Bearer $TOKEN" \
    -d "{\"video_id\": \"$VIDEO_ID\", \"dst_lang\": \"$lang\"}"
done
GET /v2/projects/{project_id}
polling, 10s
# Poll each project until merging_done, then collect the files.
while :; do
  curl -s https://api.rask.ai/v2/projects/$ID \
    -H "Authorization: Bearer $TOKEN" \
    | jq '{status, translated_video, translation_srt_path}'
  sleep 10
done
Utilisé par des équipes du monde entier
Fonctionnalités

Ce que fait l'API de traduction de vidéos en un seul projet

Transcrivez, traduisez et doublez automatiquement vos vidéos via une seule API. Vérifiez le texte traduit, assurez la cohérence de la terminologie grâce à des glossaires et téléchargez le format de sortie dont chaque plateforme a besoin. Ajoutez une synchronisation labiale optionnelle, facturée séparément.

Traduction dans plus de 135 langues

Envoyez une vidéo et une langue cible pour traduire des vidéos en espagnol mexicain, portugais brésilien, français canadien ou toute autre région prise en charge. La langue source est détectée automatiquement.

Détection des locuteurs et voix par locuteur

Les locuteurs sont séparés automatiquement et chacun reçoit une voix dans la langue cible, ce qui permet de suivre facilement les interviews et les tables rondes. Modifiez n'importe quelle attribution ou indiquez le nombre de personnes si vous le connaissez.

Voix originales ou voix IA

Utilisez la voix originale de chaque locuteur grâce à la fonction de clonage vocal instantané, ou réutilisez un clone de voix personnalisé pour conserver la même voix de présentation d'une vidéo à l'autre. Ces deux options sont disponibles dans les langues cibles prises en charge ; les préréglages de voix IA couvrent le reste.

Synchronisation labiale

Activez la synchronisation labiale pour adapter les mouvements de la bouche au discours traduit, en tant que tâche optionnelle sur n'importe quel projet terminé, facturée séparément. La détection des visages est effectuée au préalable pour que vous ne l'appliquiez que là où cela fonctionnera.

Audio d'arrière-plan préservé

La musique, l'ambiance et les effets sonores sont séparés de la voix et mixés à nouveau sous la nouvelle voix off, afin que les spectateurs profitent de la production originale dans une autre langue.

Sous-titres au format .srt et .vtt

Chaque vidéo traduite est fournie avec un fichier de sous-titres dans les deux formats, dans la langue cible et synchronisé avec le discours traduit.

Gestion de la terminologie grâce aux glossaires

Les noms de marque, de produits et les termes techniques sont traduits de la même manière dans chaque vidéo et chaque langue, ou conservés volontairement dans la langue d'origine.

Texte traduit modifiable

Consultez la transcription avec le texte source et le texte traduit côte à côte, corrigez une ligne ou un repère temporel, puis régénérez le tout. Les réviseurs corrigent le texte et personne n'a besoin de réenregistrer sa voix.

Évoluez sans limites

Pas de limites de débit, pas de quota de concurrence, pas de restrictions par clé. Envoyez l'intégralité de votre catalogue et traduisez de grands volumes dans plusieurs langues en même temps.
Voir en action

Ce que renvoie l'API de traduction de vidéos

Le même clip, traduit grâce au flux de travail présenté sur cette page. Les locuteurs d'origine sur la source, un discours traduit en français, allemand, portugais et espagnol, avec un son d'arrière-plan intact.
Drapeau EN
En
Drapeau FR
Fr
Drapeau DE
De
Drapeau du Portugal
Pt
Drapeau ES
Es
Flux de travail

Trois étapes de l'importation à la vidéo traduite

La création d'un projet lance la traduction. Utilisez ensuite le point de terminaison /generate pour redoubler un projet après l'avoir modifié.
1

Téléchargez votre vidéo

Envoyez un fichier sous forme de données de formulaire multipart, ou publiez un lien provenant de YouTube, Google Drive, S3, Vimeo ou toute URL de téléchargement direct. Vous obtenez un identifiant de média et les métadonnées techniques avant de dépenser quoi que ce soit.

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

Créer un projet par langue

Transmettez l'identifiant du média comme video_id et une langue cible. Créez un projet pour chaque langue dont vous avez besoin à partir du même fichier importé, avec votre propre transcription ou un glossaire si vous en avez un.

POST /v2/projects
3

Attribuer des voix et refaire le doblaje

Lisez status jusqu'à ce qu'il indique merging_done, puis téléchargez la vidéo traduite et les fichiers de sous-titres pour cette langue.

GET /v2/projects/{project_id}
Le temps de traitement varie selon le projet. Pour la traduction par lots, créez un projet par langue cible à partir de la même mise en ligne, suivez chacun d'eux via l'API et téléchargez les fichiers une fois l'opération terminée.
Conçu pour vous

Besoin de plus que le catalogue ? Parlez à notre équipe.

Nouvelles langues, voix personnalisées, méthode de diffusion propre, débit plus élevé : lorsqu'une intégration de traduction vidéo nécessite des éléments hors catalogue public, notre équipe étudie vos besoins et les options disponibles.

Langues et voix

Besoin d'une langue ou d'une voix absente du catalogue public ? Parlez de vos besoins et des options disponibles à notre équipe.

Diffusion et intégration

Webhooks, envoi vers votre propre file d'attente, livraison directe sur votre S3, endpoints personnalisés. Dites-nous comment votre système souhaite être alimenté.

Volume et débit

La taille des lots, les langues cibles par action et la priorité de traitement sont des conditions contractuelles, et non des limites de produit fixes.

Sécurité et hébergement

La résidence des données, le SSO et SAML, les règles de conservation et le support pour l'examen de la sécurité sont pris en charge lors de l'intégration des grandes entreprises.
Cas d'utilisation

Qui utilise une API de traduction vidéo

Plateformes intégrant de la vidéo

Plateformes LMS et de formation client, plateformes de création et de vidéo, outils de webinaires et d'événements virtuels, SaaS d'hébergement et de flux de travail vidéo, plateformes d'adoption numérique, shopping en direct et outils vidéo par IA qui aident les utilisateurs à créer des vidéos ou à en générer à partir de texte. Vos utilisateurs intègrent déjà du contenu vidéo dans votre produit. Grâce à l'API, ils traduisent des vidéos au même endroit, dans plusieurs langues, et la traduction vidéo devient l'une de vos fonctionnalités payantes.

Agences de localisation et de production

Connectez la traduction vidéo au flux de travail de livraison que vous utilisez déjà et conservez votre étape de révision humaine. Des linguistes vérifient le texte traduit segment par segment, ce qui permet à votre équipe de proposer davantage de langues aux clients avec les mêmes effectifs.

Production vidéo continue en interne

Commerce de détail et e-commerce international, franchises mondiales, éditeurs de médias, universités d'entreprise. Intégrez la traduction à votre flux de publication pour que les vidéos de formation et le contenu parviennent à tous les marchés dans différentes langues, et régénérez une version linguistique dès que la vidéo source change.
Témoignages clients

De véritables équipes, des résultats mesurables

Découvrez comment les entreprises localisent leurs vidéos avec Rask, chiffres à l'appui.
flèche
flèche
Code

Exemples de code pour l'API de traduction vidéo

Un exemple complet par langue : s'identifier, envoyer une fois, créer un projet par langue cible, patienter, puis récupérer la vidéo traduite et les fichiers de sous-titres.
# pip install git+ssh://[email protected]/braskai/rask-sdk.git@main
import asyncio
from rask_sdk import clients, enums, schemas

TARGETS = ["es-mx", "de-de", "ja-jp", "pt-br"]

async def translate(client, video_id, lang):
    job = await client.create_project(
        data=schemas.ProjectCreate(video_id=video_id, dst_lang=lang))
    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)

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

    jobs = await asyncio.gather(*(translate(client, video.id, l) for l in TARGETS))
    for j in jobs:
        print(j.dst_lang, j.translated_video, j.translation_srt_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}"}

video = requests.post(f"{API}/api/library/v1/media/link", headers=h,
                      json={"link": "https://youtu.be/..."}).json()
while video["status"] != "ready":
    time.sleep(5)
    video = requests.get(f"{API}/api/library/v1/media/{video['id']}", headers=h).json()

ids = [requests.post(f"{API}/v2/projects", headers=h,
                     json={"video_id": video["id"], "dst_lang": lang}).json()["id"]
       for lang in ["es-mx", "de-de", "ja-jp", "pt-br"]]

for pid in ids:
    while (p := requests.get(f"{API}/v2/projects/{pid}", headers=h).json())["status"] != "merging_done":
        time.sleep(10)
    print(p["dst_lang"], p["translated_video"], p["translation_vtt_path"])
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 get = (path) => fetch(API + path, { headers: h }).then((r) => r.json());
const post = (path, body) => fetch(API + path, { method: 'POST', headers: h, body: JSON.stringify(body) }).then((r) => r.json());

let video = await post('/api/library/v1/media/link', { link: 'https://youtu.be/...' });
while (video.status !== 'ready') { await sleep(5000); video = await get(`/api/library/v1/media/${video.id}`); }

const results = await Promise.all(['es-mx', 'de-de', 'ja-jp', 'pt-br'].map(async (dst_lang) => {
  let p = await post('/v2/projects', { video_id: video.id, dst_lang });
  while (p.status !== 'merging_done') { await sleep(10000); p = await get(`/v2/projects/${p.id}`); }
  return p;
}));

results.forEach((p) => console.log(p.dst_lang, p.translated_video, p.translation_srt_path));
fetch, Node 18+
plain HTTP
<?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']];

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

foreach (['es-mx', 'de-de', 'ja-jp', 'pt-br'] as $lang) {
    $p = $json($http->post('/v2/projects', ['headers' => $h,
        'json' => ['video_id' => $video['id'], 'dst_lang' => $lang]]));
    while ($p['status'] !== 'merging_done') {
        sleep(10);
        $p = $json($http->get("/v2/projects/{$p['id']}", ['headers' => $h]));
    }
    echo $lang, ' ', $p['translation_srt_path'], PHP_EOL;
}
POST /v2/projects
OAuth 2.0 client credentials
<?php
use GuzzleHttp\Client;

$http = new Client(['base_uri' => 'https://api.rask.ai']);

$auth = json_decode((new Client)->post(
    'https://rask-prod.auth.us-east-2.amazoncognito.com/oauth2/token',
    ['auth' => [$clientId, $clientSecret],
     'form_params' => ['grant_type' => 'client_credentials']]
)->getBody(), true);

$h = ['Authorization' => 'Bearer ' . $auth['access_token']];

$media = json_decode($http->post('/api/library/v1/media/link',
    ['headers' => $h, 'json' => ['link' => 'https://youtu.be/...']])->getBody(), true);

$project = json_decode($http->post('/v2/projects',
    ['headers' => $h, 'json' => ['video_id' => $media['id'], 'dst_lang' => 'es-mx']])->getBody(), true);

while ($project['status'] !== 'merging_done') {
    sleep(10);
    $project = json_decode($http->get("/v2/projects/{$project['id']}",
        ['headers' => $h])->getBody(), true);
}
Guzzle 7
plain HTTP
Python est le kit de développement officiel. Les onglets Node, PHP et cURL montrent des exemples HTTP simples utilisant les mêmes points de terminaison.
Progression

Comment l'avancement de la traduction est indiqué

Chaque projet passe par une machine à états documentée, permettant à vos utilisateurs de suivre la progression via une barre de progression réelle et par étapes pour chaque version linguistique. Vous n'intervenez que sur trois groupes.

Succès, arrêtez-vous ici

merging_done
La traduction est terminée. Consultez le projet une dernière fois pour récupérer les liens de téléchargement disponibles.

En cours, continuez à vérifier

created
uploading
transcription_started
separate_background_started
determine_speakers_started
translation_started
voiceover_started
merging_started
Ainsi que la correspondance _done états.

Échec, arrêt et rapport

failed
upload_failed
transcription_failed
translation_failed
voiceover_failed
merging_failed
no_audio
no_words
forbidden_link
no_audio, no_words and forbidden_link are specific enough to show directly to your own user. Every error also returns a machine-readable slug for error handling.
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 ignorez complètement le sondage

Indiquez-nous un point de terminaison webhook et chaque changement d'état est envoyé sous forme de POST, permettant à votre file d'attente de réagir instantanément à chaque modification. L'envoi de webhooks fait partie de l'intégration pour les entreprises.
Lire la documentation
preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
Sortie

Vidéo traduite, audio et sous-titres

Téléchargez la vidéo traduite et les sous-titres au format SRT et VTT pour chaque langue cible. Sur les abonnements éligibles, vous pouvez également télécharger la voix traduite seule ou mixée avec l'audio de fond d'origine.
Champ
Format
Ce que c'est
translated_video
MP4
La vidéo doublée, prête à être publiée
voiceover
WAV
Discours traduit seul, sans fond sonore, pour votre propre mixage
translated_audio
WAV
Discours traduit mixé avec l'audio d'arrière-plan d'origine
translation_srt_path
.srt
Sous-titres dans la langue cible
translation_vtt_path
.vtt
Mêmes sous-titres au format WebVTT, pour les lecteurs web
original_video
MP4
Votre fichier source tel qu'il a été stocké, à titre de référence
Contrôle

Vérifiez le texte traduit, puis modifiez uniquement les éléments nécessaires

Commencez par la traduction automatique ou intégrez votre propre traduction validée sous forme de fichier SRT lors de la création du projet. Relisez le script avant la publication et ne régénérez que les parties modifiées. Le redoublage via l'API est facturé selon les segments modifiés.

Édition au niveau des segments

Édition au niveau des segments
Chaque projet présente sa transcription sous forme de segments, avec le texte source et le texte traduit côte à côte, de sorte qu'une correction ne demande qu'une seule requête de mise à jour.
Récupérer la transcription et ses segments
Modifier le texte source pour lancer une nouvelle traduction
Modifier directement le texte traduit pour conserver vos propres formulations
Ajuster les repères temporels, ajouter ou supprimer des segments
Réassigner la voix associée à un locuteur

Glossaires pour la terminologie

Glossaires pour la terminologie
Associez un glossaire à un projet pour que les noms de marque, les noms de produits et les termes techniques soient traduits de la même manière dans toutes les langues, ou laissés volontairement non traduits.

Un glossaire couvre une paire de langues et s'applique à toutes les variantes régionales de cette langue cible. Ainsi, un seul glossaire en espagnol sert es-mx et es-es de la même manière. L'historique du projet glossary_version, de sorte que les modifications ultérieures ne modifient jamais discrètement le travail déjà terminé.
Entrée

Formats de fichiers pris en charge

Téléchargez l'un des sept formats vidéo ou quatre formats audio pris en charge, ou indiquez une URL. Un fichier non pris en charge est rejeté selon son type de contenu avant même qu'aucun minute de traduction ne soit décomptée.

Vidéo

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

Audio

4 formats
.mp3
.wav
.flac
.m4a

Métadonnées avant de dépenser

Le point de terminaison média renvoie la durée, la taille du fichier, le codec vidéo, la fréquence d'images, la résolution, le codec audio, la fréquence d'échantillonnage et la disposition des canaux. Validez un fichier et estimez le coût à l'avance, car la traduction vidéo est facturée à la minute.
Sécurité et conformité

Prêt pour votre évaluation de sécurité

Brask Inc est certifié SOC 2 Type II, respecte le RGPD et publie l'état de ses contrôles en direct dans son Centre de confiance. Votre contenu vidéo est traité dans un environnement d'IA fermé.

Certifications

SOC 2 Type II
GDPR
Membre CAI et C2PA

Cryptage

TLS 1.2 en transit
AES-256 au repos
Clés gérées SSE-S3
Rotation des clés au moins tous les 12 mois

Votre contenu

Environnement d'IA fermé
Jamais utilisé pour entraîner des modèles généraux
Exportation complète, sans dépendance vis-à-vis d'un fournisseur

Accès

SSO et SAML
Contrôle d'accès basé sur les rôles
Identifiants client OAuth 2.0

Entreprise

Options de résidence des données
SLA personnalisés
Gestionnaire de compte dédié

Droits sur les voix

Voix synthétiques avec droits d'utilisation
Clonage de voix basé sur le consentement
Contrôles de sécurité de l'IA, intervention humaine
Comparaison

API Rask vs un système conçu par vos soins

Une API de traduction de texte traduit des caractères. La traduction vidéo nécessite également la reconnaissance vocale, le minutage, les voix et le mixage. Voici la même capacité, assemblée de deux manières différentes.
Ce dont vous avez besoin
Rask API
Assemblé à partir de pièces
Transcription, traduction, synthèse, mixage
Un seul appel
Trois à quatre fournisseurs et le code intermédiaire
Synchronisation de la traduction avec la vidéo
Inclus
Votre propre logique d'alignement
Détection des locuteurs et voix par locuteur
Inclus
Un fournisseur de diarisation ainsi que votre propre logique d'attribution des voix
Musique de fond et effets préservés
Inclus
Une étape de séparation des sources que vous créez et ajustez
Sous-titres au format .srt et .vtt
Inclus
Généré à partir de vos propres données de minutage
Synchronisation labiale
Optionnel, facturé séparément
Un fournisseur distinct
Correction d'une ligne traduite
Redoubler ce segment, facturé pour ce segment
Relancer le processus, payer pour le fichier
Cohérence de la terminologie
Glossaires versionnés
Prétraitement et post-traitement gérés par vos soins
Limites de taux
Aucun
Selon les exigences de votre fournisseur le plus strict
Une langue hors catalogue
À discuter avec notre équipe
Dépend de chaque fournisseur
FAQ

API de traduction vidéo : questions fréquentes

Vous ne trouvez pas ce que vous cherchez ? Contactez le service commercial.

Existe-t-il une API qui traduit les vidéos automatiquement ?

Comment obtenir un accès à l'API et une clé API ?

Comment s'authentifier auprès de l'API de traduction vidéo ?

L'API est-elle synchrone ou asynchrone ?

Quelles sont les limites de taux ?

Dans combien de langues puis-je traduire des vidéos ?

Puis-je traduire une vidéo en plusieurs langues simultanément ?

Combien de temps prend la traduction vidéo ?

Quels formats de fichiers sont pris en charge ?

Est-ce que je reçois des sous-titres en plus de la vidéo traduite ?

Puis-je modifier le texte traduit avant de le publier ?

ChatGPT peut-il traduire une vidéo ?

Combien coûte la traduction vidéo ?

Commencez à doubler en un après-midi

Faites votre première demande dès aujourd'hui et contactez-nous si vous avez besoin de tarifs de gros ou d'une langue introuvable ailleurs.